1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package cloudfront provides a client for Amazon CloudFront.
- package cloudfront
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/restxml"
- )
- const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2016_09_29"
- // CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the
- // client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateCloudFrontOriginAccessIdentity method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateCloudFrontOriginAccessIdentityRequest method.
- // req, resp := client.CreateCloudFrontOriginAccessIdentityRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) {
- op := &request.Operation{
- Name: opCreateCloudFrontOriginAccessIdentity,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront",
- }
- if input == nil {
- input = &CreateCloudFrontOriginAccessIdentityInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateCloudFrontOriginAccessIdentityOutput{}
- req.Data = output
- return
- }
- // CreateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront.
- //
- // Creates a new origin access identity. If you're using Amazon S3 for your
- // origin, you can use an origin access identity to require users to access
- // your content using a CloudFront URL instead of the Amazon S3 URL. For more
- // information about how to use origin access identities, see Serving Private
- // Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Returned Error Codes:
- // * OriginAccessIdentityAlreadyExists
- // If the CallerReference is a value you already sent in a previous request
- // to create an identity but the content of the CloudFrontOriginAccessIdentityConfig
- // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists
- // error.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * TooManyCloudFrontOriginAccessIdentities
- // Processing your request would cause you to exceed the maximum number of origin
- // access identities allowed.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) {
- req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateDistribution = "CreateDistribution2016_09_29"
- // CreateDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the CreateDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateDistributionRequest method.
- // req, resp := client.CreateDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) {
- op := &request.Operation{
- Name: opCreateDistribution,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/distribution",
- }
- if input == nil {
- input = &CreateDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateDistributionOutput{}
- req.Data = output
- return
- }
- // CreateDistribution API operation for Amazon CloudFront.
- //
- // Creates a new web distribution. Send a GET request to the /CloudFront API
- // version/distribution/distribution ID resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * CNAMEAlreadyExists
- //
- // * DistributionAlreadyExists
- // The caller reference you attempted to create the distribution with is associated
- // with another distribution.
- //
- // * InvalidOrigin
- // The Amazon S3 origin server specified does not refer to a valid Amazon S3
- // bucket.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * AccessDenied
- // Access denied.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * InvalidViewerCertificate
- //
- // * InvalidMinimumProtocolVersion
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * TooManyDistributionCNAMEs
- // Your request contains more CNAMEs than are allowed per distribution.
- //
- // * TooManyDistributions
- // Processing your request would cause you to exceed the maximum number of distributions
- // allowed.
- //
- // * InvalidDefaultRootObject
- // The default root object file name is too big or contains an invalid character.
- //
- // * InvalidRelativePath
- // The relative path is too big, is not URL-encoded, or does not begin with
- // a slash (/).
- //
- // * InvalidErrorCode
- //
- // * InvalidResponseCode
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidRequiredProtocol
- // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS
- // protocol in your request, or omit the RequiredProtocols element from your
- // distribution configuration.
- //
- // * NoSuchOrigin
- // No origin exists with the specified Origin Id.
- //
- // * TooManyOrigins
- // You cannot create more origins for the distribution.
- //
- // * TooManyCacheBehaviors
- // You cannot create more cache behaviors for the distribution.
- //
- // * TooManyCookieNamesInWhiteList
- // Your request contains more cookie names in the whitelist than are allowed
- // per cache behavior.
- //
- // * InvalidForwardCookies
- // Your request contains forward cookies option which doesn't match with the
- // expectation for the whitelisted list of cookie names. Either list of cookie
- // names has been specified when not allowed or list of cookie names is missing
- // when expected.
- //
- // * TooManyHeadersInForwardedValues
- //
- // * InvalidHeadersForS3Origin
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- // * TooManyCertificates
- // You cannot create anymore custom SSL/TLS certificates.
- //
- // * InvalidLocationCode
- //
- // * InvalidGeoRestrictionParameter
- //
- // * InvalidProtocolSettings
- // You cannot specify SSLv3 as the minimum protocol version if you only want
- // to support only clients that support Server Name Indication (SNI).
- //
- // * InvalidTTLOrder
- //
- // * InvalidWebACLId
- //
- // * TooManyOriginCustomHeaders
- //
- // * TooManyQueryStringParameters
- //
- // * InvalidQueryStringParameters
- //
- func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) {
- req, out := c.CreateDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateDistributionWithTags = "CreateDistributionWithTags2016_09_29"
- // CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the
- // client's request for the CreateDistributionWithTags operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateDistributionWithTags for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateDistributionWithTags method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateDistributionWithTagsRequest method.
- // req, resp := client.CreateDistributionWithTagsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) {
- op := &request.Operation{
- Name: opCreateDistributionWithTags,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/distribution?WithTags",
- }
- if input == nil {
- input = &CreateDistributionWithTagsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateDistributionWithTagsOutput{}
- req.Data = output
- return
- }
- // CreateDistributionWithTags API operation for Amazon CloudFront.
- //
- // Create a new distribution with tags.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateDistributionWithTags for usage and error information.
- //
- // Returned Error Codes:
- // * CNAMEAlreadyExists
- //
- // * DistributionAlreadyExists
- // The caller reference you attempted to create the distribution with is associated
- // with another distribution.
- //
- // * InvalidOrigin
- // The Amazon S3 origin server specified does not refer to a valid Amazon S3
- // bucket.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * AccessDenied
- // Access denied.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * InvalidViewerCertificate
- //
- // * InvalidMinimumProtocolVersion
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * TooManyDistributionCNAMEs
- // Your request contains more CNAMEs than are allowed per distribution.
- //
- // * TooManyDistributions
- // Processing your request would cause you to exceed the maximum number of distributions
- // allowed.
- //
- // * InvalidDefaultRootObject
- // The default root object file name is too big or contains an invalid character.
- //
- // * InvalidRelativePath
- // The relative path is too big, is not URL-encoded, or does not begin with
- // a slash (/).
- //
- // * InvalidErrorCode
- //
- // * InvalidResponseCode
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidRequiredProtocol
- // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS
- // protocol in your request, or omit the RequiredProtocols element from your
- // distribution configuration.
- //
- // * NoSuchOrigin
- // No origin exists with the specified Origin Id.
- //
- // * TooManyOrigins
- // You cannot create more origins for the distribution.
- //
- // * TooManyCacheBehaviors
- // You cannot create more cache behaviors for the distribution.
- //
- // * TooManyCookieNamesInWhiteList
- // Your request contains more cookie names in the whitelist than are allowed
- // per cache behavior.
- //
- // * InvalidForwardCookies
- // Your request contains forward cookies option which doesn't match with the
- // expectation for the whitelisted list of cookie names. Either list of cookie
- // names has been specified when not allowed or list of cookie names is missing
- // when expected.
- //
- // * TooManyHeadersInForwardedValues
- //
- // * InvalidHeadersForS3Origin
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- // * TooManyCertificates
- // You cannot create anymore custom SSL/TLS certificates.
- //
- // * InvalidLocationCode
- //
- // * InvalidGeoRestrictionParameter
- //
- // * InvalidProtocolSettings
- // You cannot specify SSLv3 as the minimum protocol version if you only want
- // to support only clients that support Server Name Indication (SNI).
- //
- // * InvalidTTLOrder
- //
- // * InvalidWebACLId
- //
- // * TooManyOriginCustomHeaders
- //
- // * InvalidTagging
- //
- // * TooManyQueryStringParameters
- //
- // * InvalidQueryStringParameters
- //
- func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) {
- req, out := c.CreateDistributionWithTagsRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateInvalidation = "CreateInvalidation2016_09_29"
- // CreateInvalidationRequest generates a "aws/request.Request" representing the
- // client's request for the CreateInvalidation operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateInvalidation for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateInvalidation method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateInvalidationRequest method.
- // req, resp := client.CreateInvalidationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) {
- op := &request.Operation{
- Name: opCreateInvalidation,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/distribution/{DistributionId}/invalidation",
- }
- if input == nil {
- input = &CreateInvalidationInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateInvalidationOutput{}
- req.Data = output
- return
- }
- // CreateInvalidation API operation for Amazon CloudFront.
- //
- // Create a new invalidation.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateInvalidation for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * BatchTooLarge
- //
- // * TooManyInvalidationsInProgress
- // You have exceeded the maximum number of allowable InProgress invalidation
- // batch requests, or invalidation objects.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) {
- req, out := c.CreateInvalidationRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateStreamingDistribution = "CreateStreamingDistribution2016_09_29"
- // CreateStreamingDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the CreateStreamingDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateStreamingDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateStreamingDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateStreamingDistributionRequest method.
- // req, resp := client.CreateStreamingDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) {
- op := &request.Operation{
- Name: opCreateStreamingDistribution,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/streaming-distribution",
- }
- if input == nil {
- input = &CreateStreamingDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateStreamingDistributionOutput{}
- req.Data = output
- return
- }
- // CreateStreamingDistribution API operation for Amazon CloudFront.
- //
- // Creates a new RMTP distribution. An RTMP distribution is similar to a web
- // distribution, but an RTMP distribution streams media files using the Adobe
- // Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.
- //
- // To create a new web distribution, submit a POST request to the CloudFront
- // API version/distribution resource. The request body must include a document
- // with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig
- // element and returns other information about the RTMP distribution.
- //
- // To get the status of your request, use the GET StreamingDistribution API
- // action. When the value of Enabled is true and the value of Status is Deployed,
- // your distribution is ready. A distribution usually deploys in less than 15
- // minutes.
- //
- // For more information about web distributions, see Working with RTMP Distributions
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // Beginning with the 2012-05-05 version of the CloudFront API, we made substantial
- // changes to the format of the XML document that you include in the request
- // body when you create or update a web distribution or an RTMP distribution,
- // and when you invalidate objects. With previous versions of the API, we discovered
- // that it was too easy to accidentally delete one or more values for an element
- // that accepts multiple values, for example, CNAMEs and trusted signers. Our
- // changes for the 2012-05-05 release are intended to prevent these accidental
- // deletions and to notify you when there's a mismatch between the number of
- // values you say you're specifying in the Quantity element and the number of
- // values specified.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateStreamingDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * CNAMEAlreadyExists
- //
- // * StreamingDistributionAlreadyExists
- //
- // * InvalidOrigin
- // The Amazon S3 origin server specified does not refer to a valid Amazon S3
- // bucket.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * AccessDenied
- // Access denied.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * TooManyStreamingDistributionCNAMEs
- //
- // * TooManyStreamingDistributions
- // Processing your request would cause you to exceed the maximum number of streaming
- // distributions allowed.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) {
- req, out := c.CreateStreamingDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2016_09_29"
- // CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the
- // client's request for the CreateStreamingDistributionWithTags operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateStreamingDistributionWithTags for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateStreamingDistributionWithTags method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateStreamingDistributionWithTagsRequest method.
- // req, resp := client.CreateStreamingDistributionWithTagsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) {
- op := &request.Operation{
- Name: opCreateStreamingDistributionWithTags,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/streaming-distribution?WithTags",
- }
- if input == nil {
- input = &CreateStreamingDistributionWithTagsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateStreamingDistributionWithTagsOutput{}
- req.Data = output
- return
- }
- // CreateStreamingDistributionWithTags API operation for Amazon CloudFront.
- //
- // Create a new streaming distribution with tags.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation CreateStreamingDistributionWithTags for usage and error information.
- //
- // Returned Error Codes:
- // * CNAMEAlreadyExists
- //
- // * StreamingDistributionAlreadyExists
- //
- // * InvalidOrigin
- // The Amazon S3 origin server specified does not refer to a valid Amazon S3
- // bucket.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * AccessDenied
- // Access denied.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * TooManyStreamingDistributionCNAMEs
- //
- // * TooManyStreamingDistributions
- // Processing your request would cause you to exceed the maximum number of streaming
- // distributions allowed.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- // * InvalidTagging
- //
- func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) {
- req, out := c.CreateStreamingDistributionWithTagsRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2016_09_29"
- // DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteCloudFrontOriginAccessIdentity method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteCloudFrontOriginAccessIdentityRequest method.
- // req, resp := client.DeleteCloudFrontOriginAccessIdentityRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) {
- op := &request.Operation{
- Name: opDeleteCloudFrontOriginAccessIdentity,
- HTTPMethod: "DELETE",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront/{Id}",
- }
- if input == nil {
- input = &DeleteCloudFrontOriginAccessIdentityInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteCloudFrontOriginAccessIdentityOutput{}
- req.Data = output
- return
- }
- // DeleteCloudFrontOriginAccessIdentity API operation for Amazon CloudFront.
- //
- // Delete an origin access identity.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation DeleteCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * NoSuchCloudFrontOriginAccessIdentity
- // The specified origin access identity does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- // * OriginAccessIdentityInUse
- //
- func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) {
- req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteDistribution = "DeleteDistribution2016_09_29"
- // DeleteDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteDistributionRequest method.
- // req, resp := client.DeleteDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) {
- op := &request.Operation{
- Name: opDeleteDistribution,
- HTTPMethod: "DELETE",
- HTTPPath: "/2016-09-29/distribution/{Id}",
- }
- if input == nil {
- input = &DeleteDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteDistributionOutput{}
- req.Data = output
- return
- }
- // DeleteDistribution API operation for Amazon CloudFront.
- //
- // Delete a distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation DeleteDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * DistributionNotDisabled
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) {
- req, out := c.DeleteDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteStreamingDistribution = "DeleteStreamingDistribution2016_09_29"
- // DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteStreamingDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteStreamingDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteStreamingDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteStreamingDistributionRequest method.
- // req, resp := client.DeleteStreamingDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) {
- op := &request.Operation{
- Name: opDeleteStreamingDistribution,
- HTTPMethod: "DELETE",
- HTTPPath: "/2016-09-29/streaming-distribution/{Id}",
- }
- if input == nil {
- input = &DeleteStreamingDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteStreamingDistributionOutput{}
- req.Data = output
- return
- }
- // DeleteStreamingDistribution API operation for Amazon CloudFront.
- //
- // Delete a streaming distribution. To delete an RTMP distribution using the
- // CloudFront API, perform the following steps.
- //
- // To delete an RTMP distribution using the CloudFront API:
- //
- // Disable the RTMP distribution.
- //
- // Submit a GET Streaming Distribution Config request to get the current configuration
- // and the Etag header for the distribution.
- //
- // Update the XML document that was returned in the response to your GET Streaming
- // Distribution Config request to change the value of Enabled to false.
- //
- // Submit a PUT Streaming Distribution Config request to update the configuration
- // for your distribution. In the request body, include the XML document that
- // you updated in Step 3. Then set the value of the HTTP If-Match header to
- // the value of the ETag header that CloudFront returned when you submitted
- // the GET Streaming Distribution Config request in Step 2.
- //
- // Review the response to the PUT Streaming Distribution Config request to confirm
- // that the distribution was successfully disabled.
- //
- // Submit a GET Streaming Distribution Config request to confirm that your changes
- // have propagated. When propagation is complete, the value of Status is Deployed.
- //
- // Submit a DELETE Streaming Distribution request. Set the value of the HTTP
- // If-Match header to the value of the ETag header that CloudFront returned
- // when you submitted the GET Streaming Distribution Config request in Step
- // 2.
- //
- // Review the response to your DELETE Streaming Distribution request to confirm
- // that the distribution was successfully deleted.
- //
- // For information about deleting a distribution using the CloudFront console,
- // see Deleting a Distribution (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation DeleteStreamingDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * StreamingDistributionNotDisabled
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * NoSuchStreamingDistribution
- // The specified streaming distribution does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) {
- req, out := c.DeleteStreamingDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2016_09_29"
- // GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the
- // client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetCloudFrontOriginAccessIdentity method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetCloudFrontOriginAccessIdentityRequest method.
- // req, resp := client.GetCloudFrontOriginAccessIdentityRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) {
- op := &request.Operation{
- Name: opGetCloudFrontOriginAccessIdentity,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront/{Id}",
- }
- if input == nil {
- input = &GetCloudFrontOriginAccessIdentityInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetCloudFrontOriginAccessIdentityOutput{}
- req.Data = output
- return
- }
- // GetCloudFrontOriginAccessIdentity API operation for Amazon CloudFront.
- //
- // Get the information about an origin access identity.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchCloudFrontOriginAccessIdentity
- // The specified origin access identity does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) {
- req, out := c.GetCloudFrontOriginAccessIdentityRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2016_09_29"
- // GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the
- // client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetCloudFrontOriginAccessIdentityConfig for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetCloudFrontOriginAccessIdentityConfig method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetCloudFrontOriginAccessIdentityConfigRequest method.
- // req, resp := client.GetCloudFrontOriginAccessIdentityConfigRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) {
- op := &request.Operation{
- Name: opGetCloudFrontOriginAccessIdentityConfig,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront/{Id}/config",
- }
- if input == nil {
- input = &GetCloudFrontOriginAccessIdentityConfigInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetCloudFrontOriginAccessIdentityConfigOutput{}
- req.Data = output
- return
- }
- // GetCloudFrontOriginAccessIdentityConfig API operation for Amazon CloudFront.
- //
- // Get the configuration information about an origin access identity.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetCloudFrontOriginAccessIdentityConfig for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchCloudFrontOriginAccessIdentity
- // The specified origin access identity does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) {
- req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetDistribution = "GetDistribution2016_09_29"
- // GetDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the GetDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetDistributionRequest method.
- // req, resp := client.GetDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) {
- op := &request.Operation{
- Name: opGetDistribution,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distribution/{Id}",
- }
- if input == nil {
- input = &GetDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetDistributionOutput{}
- req.Data = output
- return
- }
- // GetDistribution API operation for Amazon CloudFront.
- //
- // Get the information about a distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) {
- req, out := c.GetDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetDistributionConfig = "GetDistributionConfig2016_09_29"
- // GetDistributionConfigRequest generates a "aws/request.Request" representing the
- // client's request for the GetDistributionConfig operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetDistributionConfig for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetDistributionConfig method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetDistributionConfigRequest method.
- // req, resp := client.GetDistributionConfigRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) {
- op := &request.Operation{
- Name: opGetDistributionConfig,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distribution/{Id}/config",
- }
- if input == nil {
- input = &GetDistributionConfigInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetDistributionConfigOutput{}
- req.Data = output
- return
- }
- // GetDistributionConfig API operation for Amazon CloudFront.
- //
- // Get the configuration information about a distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetDistributionConfig for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) {
- req, out := c.GetDistributionConfigRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetInvalidation = "GetInvalidation2016_09_29"
- // GetInvalidationRequest generates a "aws/request.Request" representing the
- // client's request for the GetInvalidation operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetInvalidation for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetInvalidation method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetInvalidationRequest method.
- // req, resp := client.GetInvalidationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) {
- op := &request.Operation{
- Name: opGetInvalidation,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distribution/{DistributionId}/invalidation/{Id}",
- }
- if input == nil {
- input = &GetInvalidationInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetInvalidationOutput{}
- req.Data = output
- return
- }
- // GetInvalidation API operation for Amazon CloudFront.
- //
- // Get the information about an invalidation.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetInvalidation for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchInvalidation
- // The specified invalidation does not exist.
- //
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) {
- req, out := c.GetInvalidationRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetStreamingDistribution = "GetStreamingDistribution2016_09_29"
- // GetStreamingDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the GetStreamingDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetStreamingDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetStreamingDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetStreamingDistributionRequest method.
- // req, resp := client.GetStreamingDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) {
- op := &request.Operation{
- Name: opGetStreamingDistribution,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/streaming-distribution/{Id}",
- }
- if input == nil {
- input = &GetStreamingDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetStreamingDistributionOutput{}
- req.Data = output
- return
- }
- // GetStreamingDistribution API operation for Amazon CloudFront.
- //
- // Gets information about a specified RTMP distribution, including the distribution
- // configuration.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetStreamingDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchStreamingDistribution
- // The specified streaming distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) {
- req, out := c.GetStreamingDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2016_09_29"
- // GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the
- // client's request for the GetStreamingDistributionConfig operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetStreamingDistributionConfig for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetStreamingDistributionConfig method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetStreamingDistributionConfigRequest method.
- // req, resp := client.GetStreamingDistributionConfigRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) {
- op := &request.Operation{
- Name: opGetStreamingDistributionConfig,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/streaming-distribution/{Id}/config",
- }
- if input == nil {
- input = &GetStreamingDistributionConfigInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetStreamingDistributionConfigOutput{}
- req.Data = output
- return
- }
- // GetStreamingDistributionConfig API operation for Amazon CloudFront.
- //
- // Get the configuration information about a streaming distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation GetStreamingDistributionConfig for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchStreamingDistribution
- // The specified streaming distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) {
- req, out := c.GetStreamingDistributionConfigRequest(input)
- err := req.Send()
- return out, err
- }
- const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2016_09_29"
- // ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the
- // client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListCloudFrontOriginAccessIdentities for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListCloudFrontOriginAccessIdentities method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListCloudFrontOriginAccessIdentitiesRequest method.
- // req, resp := client.ListCloudFrontOriginAccessIdentitiesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) {
- op := &request.Operation{
- Name: opListCloudFrontOriginAccessIdentities,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"},
- LimitToken: "MaxItems",
- TruncationToken: "CloudFrontOriginAccessIdentityList.IsTruncated",
- },
- }
- if input == nil {
- input = &ListCloudFrontOriginAccessIdentitiesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListCloudFrontOriginAccessIdentitiesOutput{}
- req.Data = output
- return
- }
- // ListCloudFrontOriginAccessIdentities API operation for Amazon CloudFront.
- //
- // Lists origin access identities.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListCloudFrontOriginAccessIdentities for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidArgument
- // The argument is invalid.
- //
- func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) {
- req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input)
- err := req.Send()
- return out, err
- }
- // ListCloudFrontOriginAccessIdentitiesPages iterates over the pages of a ListCloudFrontOriginAccessIdentities operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListCloudFrontOriginAccessIdentities method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListCloudFrontOriginAccessIdentities operation.
- // pageNum := 0
- // err := client.ListCloudFrontOriginAccessIdentitiesPages(params,
- // func(page *ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPages(input *ListCloudFrontOriginAccessIdentitiesInput, fn func(p *ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListCloudFrontOriginAccessIdentitiesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListCloudFrontOriginAccessIdentitiesOutput), lastPage)
- })
- }
- const opListDistributions = "ListDistributions2016_09_29"
- // ListDistributionsRequest generates a "aws/request.Request" representing the
- // client's request for the ListDistributions operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListDistributions for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListDistributions method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListDistributionsRequest method.
- // req, resp := client.ListDistributionsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) {
- op := &request.Operation{
- Name: opListDistributions,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distribution",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"DistributionList.NextMarker"},
- LimitToken: "MaxItems",
- TruncationToken: "DistributionList.IsTruncated",
- },
- }
- if input == nil {
- input = &ListDistributionsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListDistributionsOutput{}
- req.Data = output
- return
- }
- // ListDistributions API operation for Amazon CloudFront.
- //
- // List distributions.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListDistributions for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidArgument
- // The argument is invalid.
- //
- func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) {
- req, out := c.ListDistributionsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListDistributionsPages iterates over the pages of a ListDistributions operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListDistributions method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListDistributions operation.
- // pageNum := 0
- // err := client.ListDistributionsPages(params,
- // func(page *ListDistributionsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *CloudFront) ListDistributionsPages(input *ListDistributionsInput, fn func(p *ListDistributionsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListDistributionsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListDistributionsOutput), lastPage)
- })
- }
- const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2016_09_29"
- // ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the
- // client's request for the ListDistributionsByWebACLId operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListDistributionsByWebACLId for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListDistributionsByWebACLId method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListDistributionsByWebACLIdRequest method.
- // req, resp := client.ListDistributionsByWebACLIdRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) {
- op := &request.Operation{
- Name: opListDistributionsByWebACLId,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distributionsByWebACLId/{WebACLId}",
- }
- if input == nil {
- input = &ListDistributionsByWebACLIdInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListDistributionsByWebACLIdOutput{}
- req.Data = output
- return
- }
- // ListDistributionsByWebACLId API operation for Amazon CloudFront.
- //
- // List the distributions that are associated with a specified AWS WAF web ACL.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListDistributionsByWebACLId for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidWebACLId
- //
- func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) {
- req, out := c.ListDistributionsByWebACLIdRequest(input)
- err := req.Send()
- return out, err
- }
- const opListInvalidations = "ListInvalidations2016_09_29"
- // ListInvalidationsRequest generates a "aws/request.Request" representing the
- // client's request for the ListInvalidations operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListInvalidations for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListInvalidations method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListInvalidationsRequest method.
- // req, resp := client.ListInvalidationsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) {
- op := &request.Operation{
- Name: opListInvalidations,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/distribution/{DistributionId}/invalidation",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"InvalidationList.NextMarker"},
- LimitToken: "MaxItems",
- TruncationToken: "InvalidationList.IsTruncated",
- },
- }
- if input == nil {
- input = &ListInvalidationsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListInvalidationsOutput{}
- req.Data = output
- return
- }
- // ListInvalidations API operation for Amazon CloudFront.
- //
- // Lists invalidation batches.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListInvalidations for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidArgument
- // The argument is invalid.
- //
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * AccessDenied
- // Access denied.
- //
- func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) {
- req, out := c.ListInvalidationsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListInvalidationsPages iterates over the pages of a ListInvalidations operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListInvalidations method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListInvalidations operation.
- // pageNum := 0
- // err := client.ListInvalidationsPages(params,
- // func(page *ListInvalidationsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *CloudFront) ListInvalidationsPages(input *ListInvalidationsInput, fn func(p *ListInvalidationsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListInvalidationsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListInvalidationsOutput), lastPage)
- })
- }
- const opListStreamingDistributions = "ListStreamingDistributions2016_09_29"
- // ListStreamingDistributionsRequest generates a "aws/request.Request" representing the
- // client's request for the ListStreamingDistributions operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListStreamingDistributions for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListStreamingDistributions method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListStreamingDistributionsRequest method.
- // req, resp := client.ListStreamingDistributionsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) {
- op := &request.Operation{
- Name: opListStreamingDistributions,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/streaming-distribution",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"StreamingDistributionList.NextMarker"},
- LimitToken: "MaxItems",
- TruncationToken: "StreamingDistributionList.IsTruncated",
- },
- }
- if input == nil {
- input = &ListStreamingDistributionsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListStreamingDistributionsOutput{}
- req.Data = output
- return
- }
- // ListStreamingDistributions API operation for Amazon CloudFront.
- //
- // List streaming distributions.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListStreamingDistributions for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidArgument
- // The argument is invalid.
- //
- func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) {
- req, out := c.ListStreamingDistributionsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListStreamingDistributionsPages iterates over the pages of a ListStreamingDistributions operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListStreamingDistributions method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListStreamingDistributions operation.
- // pageNum := 0
- // err := client.ListStreamingDistributionsPages(params,
- // func(page *ListStreamingDistributionsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *CloudFront) ListStreamingDistributionsPages(input *ListStreamingDistributionsInput, fn func(p *ListStreamingDistributionsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListStreamingDistributionsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListStreamingDistributionsOutput), lastPage)
- })
- }
- const opListTagsForResource = "ListTagsForResource2016_09_29"
- // ListTagsForResourceRequest generates a "aws/request.Request" representing the
- // client's request for the ListTagsForResource operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListTagsForResource for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListTagsForResource method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListTagsForResourceRequest method.
- // req, resp := client.ListTagsForResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
- op := &request.Operation{
- Name: opListTagsForResource,
- HTTPMethod: "GET",
- HTTPPath: "/2016-09-29/tagging",
- }
- if input == nil {
- input = &ListTagsForResourceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListTagsForResourceOutput{}
- req.Data = output
- return
- }
- // ListTagsForResource API operation for Amazon CloudFront.
- //
- // List tags for a CloudFront resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation ListTagsForResource for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidTagging
- //
- // * NoSuchResource
- //
- func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- err := req.Send()
- return out, err
- }
- const opTagResource = "TagResource2016_09_29"
- // TagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the TagResource operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See TagResource for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the TagResource method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the TagResourceRequest method.
- // req, resp := client.TagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
- op := &request.Operation{
- Name: opTagResource,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/tagging?Operation=Tag",
- }
- if input == nil {
- input = &TagResourceInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &TagResourceOutput{}
- req.Data = output
- return
- }
- // TagResource API operation for Amazon CloudFront.
- //
- // Add tags to a CloudFront resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation TagResource for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidTagging
- //
- // * NoSuchResource
- //
- func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- err := req.Send()
- return out, err
- }
- const opUntagResource = "UntagResource2016_09_29"
- // UntagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the UntagResource operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UntagResource for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UntagResource method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the UntagResourceRequest method.
- // req, resp := client.UntagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
- op := &request.Operation{
- Name: opUntagResource,
- HTTPMethod: "POST",
- HTTPPath: "/2016-09-29/tagging?Operation=Untag",
- }
- if input == nil {
- input = &UntagResourceInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &UntagResourceOutput{}
- req.Data = output
- return
- }
- // UntagResource API operation for Amazon CloudFront.
- //
- // Remove tags from a CloudFront resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation UntagResource for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidTagging
- //
- // * NoSuchResource
- //
- func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- err := req.Send()
- return out, err
- }
- const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2016_09_29"
- // UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateCloudFrontOriginAccessIdentity method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method.
- // req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) {
- op := &request.Operation{
- Name: opUpdateCloudFrontOriginAccessIdentity,
- HTTPMethod: "PUT",
- HTTPPath: "/2016-09-29/origin-access-identity/cloudfront/{Id}/config",
- }
- if input == nil {
- input = &UpdateCloudFrontOriginAccessIdentityInput{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateCloudFrontOriginAccessIdentityOutput{}
- req.Data = output
- return
- }
- // UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront.
- //
- // Update an origin access identity.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation UpdateCloudFrontOriginAccessIdentity for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * IllegalUpdate
- // Origin and CallerReference cannot be updated.
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * NoSuchCloudFrontOriginAccessIdentity
- // The specified origin access identity does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) {
- req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input)
- err := req.Send()
- return out, err
- }
- const opUpdateDistribution = "UpdateDistribution2016_09_29"
- // UpdateDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the UpdateDistributionRequest method.
- // req, resp := client.UpdateDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) {
- op := &request.Operation{
- Name: opUpdateDistribution,
- HTTPMethod: "PUT",
- HTTPPath: "/2016-09-29/distribution/{Id}/config",
- }
- if input == nil {
- input = &UpdateDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateDistributionOutput{}
- req.Data = output
- return
- }
- // UpdateDistribution API operation for Amazon CloudFront.
- //
- // Update a distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation UpdateDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * CNAMEAlreadyExists
- //
- // * IllegalUpdate
- // Origin and CallerReference cannot be updated.
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * NoSuchDistribution
- // The specified distribution does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- // * TooManyDistributionCNAMEs
- // Your request contains more CNAMEs than are allowed per distribution.
- //
- // * InvalidDefaultRootObject
- // The default root object file name is too big or contains an invalid character.
- //
- // * InvalidRelativePath
- // The relative path is too big, is not URL-encoded, or does not begin with
- // a slash (/).
- //
- // * InvalidErrorCode
- //
- // * InvalidResponseCode
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * InvalidViewerCertificate
- //
- // * InvalidMinimumProtocolVersion
- //
- // * InvalidRequiredProtocol
- // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS
- // protocol in your request, or omit the RequiredProtocols element from your
- // distribution configuration.
- //
- // * NoSuchOrigin
- // No origin exists with the specified Origin Id.
- //
- // * TooManyOrigins
- // You cannot create more origins for the distribution.
- //
- // * TooManyCacheBehaviors
- // You cannot create more cache behaviors for the distribution.
- //
- // * TooManyCookieNamesInWhiteList
- // Your request contains more cookie names in the whitelist than are allowed
- // per cache behavior.
- //
- // * InvalidForwardCookies
- // Your request contains forward cookies option which doesn't match with the
- // expectation for the whitelisted list of cookie names. Either list of cookie
- // names has been specified when not allowed or list of cookie names is missing
- // when expected.
- //
- // * TooManyHeadersInForwardedValues
- //
- // * InvalidHeadersForS3Origin
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- // * TooManyCertificates
- // You cannot create anymore custom SSL/TLS certificates.
- //
- // * InvalidLocationCode
- //
- // * InvalidGeoRestrictionParameter
- //
- // * InvalidTTLOrder
- //
- // * InvalidWebACLId
- //
- // * TooManyOriginCustomHeaders
- //
- // * TooManyQueryStringParameters
- //
- // * InvalidQueryStringParameters
- //
- func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) {
- req, out := c.UpdateDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- const opUpdateStreamingDistribution = "UpdateStreamingDistribution2016_09_29"
- // UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateStreamingDistribution operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateStreamingDistribution for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateStreamingDistribution method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the UpdateStreamingDistributionRequest method.
- // req, resp := client.UpdateStreamingDistributionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) {
- op := &request.Operation{
- Name: opUpdateStreamingDistribution,
- HTTPMethod: "PUT",
- HTTPPath: "/2016-09-29/streaming-distribution/{Id}/config",
- }
- if input == nil {
- input = &UpdateStreamingDistributionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateStreamingDistributionOutput{}
- req.Data = output
- return
- }
- // UpdateStreamingDistribution API operation for Amazon CloudFront.
- //
- // Update a streaming distribution.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon CloudFront's
- // API operation UpdateStreamingDistribution for usage and error information.
- //
- // Returned Error Codes:
- // * AccessDenied
- // Access denied.
- //
- // * CNAMEAlreadyExists
- //
- // * IllegalUpdate
- // Origin and CallerReference cannot be updated.
- //
- // * InvalidIfMatchVersion
- // The If-Match version is missing or not valid for the distribution.
- //
- // * MissingBody
- // This operation requires a body. Ensure that the body is present and the Content-Type
- // header is set.
- //
- // * NoSuchStreamingDistribution
- // The specified streaming distribution does not exist.
- //
- // * PreconditionFailed
- // The precondition given in one or more of the request-header fields evaluated
- // to false.
- //
- // * TooManyStreamingDistributionCNAMEs
- //
- // * InvalidArgument
- // The argument is invalid.
- //
- // * InvalidOriginAccessIdentity
- // The origin access identity is not valid or doesn't exist.
- //
- // * TooManyTrustedSigners
- // Your request contains more trusted signers than are allowed per distribution.
- //
- // * TrustedSignerDoesNotExist
- // One or more of your trusted signers do not exist.
- //
- // * InconsistentQuantities
- // The value of Quantity and the size of Items do not match.
- //
- func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) {
- req, out := c.UpdateStreamingDistributionRequest(input)
- err := req.Send()
- return out, err
- }
- // A complex type that lists the AWS accounts, if any, that you included in
- // the TrustedSigners complex type for this distribution. These are the accounts
- // that you want to allow to create signed URLs for private content.
- //
- // The Signer complex type lists the AWS account number of the trusted signer
- // or self if the signer is the AWS account that created the distribution. The
- // Signer element also includes the IDs of any active CloudFront key pairs that
- // are associated with the trusted signer's AWS account. If no KeyPairId element
- // appears for a Signer, that signer can't create signed URLs.
- //
- // For more information, see Serving Private Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon CloudFront Developer Guide.
- type ActiveTrustedSigners struct {
- _ struct{} `type:"structure"`
- // Enabled is true if any of the AWS accounts listed in the TrustedSigners complex
- // type for this RTMP distribution have active CloudFront key pairs. If not,
- // Enabled is false.
- //
- // For more information, see ActiveTrustedSigners.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // A complex type that contains one Signer complex type for each trusted signer
- // that is specified in the TrustedSigners complex type.
- //
- // For more information, see ActiveTrustedSigners.
- Items []*Signer `locationNameList:"Signer" type:"list"`
- // A complex type that contains one Signer complex type for each trusted signer
- // specified in the TrustedSigners complex type.
- //
- // For more information, see ActiveTrustedSigners.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s ActiveTrustedSigners) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ActiveTrustedSigners) GoString() string {
- return s.String()
- }
- // A complex type that contains information about CNAMEs (alternate domain names),
- // if any, for this distribution.
- type Aliases struct {
- _ struct{} `type:"structure"`
- // A complex type that contains the CNAME aliases, if any, that you want to
- // associate with this distribution.
- Items []*string `locationNameList:"CNAME" type:"list"`
- // The number of CNAME aliases, if any, that you want to associate with this
- // distribution.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Aliases) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Aliases) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Aliases) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Aliases"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that controls which HTTP methods CloudFront processes and
- // forwards to your Amazon S3 bucket or your custom origin. There are three
- // choices:
- //
- // * CloudFront forwards only GET and HEAD requests.
- //
- // * CloudFront forwards only GET, HEAD, and OPTIONS requests.
- //
- // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE
- // requests.
- //
- // If you pick the third choice, you may need to restrict access to your Amazon
- // S3 bucket or to your custom origin so users can't perform operations that
- // you don't want them to. For example, you might not want users to have permissions
- // to delete objects from your origin.
- type AllowedMethods struct {
- _ struct{} `type:"structure"`
- // A complex type that controls whether CloudFront caches the response to requests
- // using the specified HTTP methods. There are two choices:
- //
- // * CloudFront caches responses to GET and HEAD requests.
- //
- // * CloudFront caches responses to GET, HEAD, and OPTIONS requests.
- //
- // If you pick the second choice for your Amazon S3 Origin, you may need to
- // forward Access-Control-Request-Method, Access-Control-Request-Headers, and
- // Origin headers for the responses to be cached correctly.
- CachedMethods *CachedMethods `type:"structure"`
- // A complex type that contains the HTTP methods that you want CloudFront to
- // process and forward to your origin.
- //
- // Items is a required field
- Items []*string `locationNameList:"Method" type:"list" required:"true"`
- // The number of HTTP methods that you want CloudFront to forward to your origin.
- // Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS
- // requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s AllowedMethods) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AllowedMethods) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AllowedMethods) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AllowedMethods"}
- if s.Items == nil {
- invalidParams.Add(request.NewErrParamRequired("Items"))
- }
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.CachedMethods != nil {
- if err := s.CachedMethods.Validate(); err != nil {
- invalidParams.AddNested("CachedMethods", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that describes how CloudFront processes requests.
- //
- // You must create at least as many cache behaviors (including the default cache
- // behavior) as you have origins if you want CloudFront to distribute objects
- // from all of the origins. Each cache behavior specifies the one origin from
- // which you want CloudFront to get objects. If you have two origins and only
- // the default cache behavior, the default cache behavior will cause CloudFront
- // to get objects from one of the origins, but the other origin is never used.
- //
- // For the current limit on the number of cache behaviors that you can add to
- // a distribution, see Amazon CloudFront Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront)
- // in the AWS General Reference.
- //
- // If you don't want to specify any cache behaviors, include only an empty CacheBehaviors
- // element. Don't include an empty CacheBehavior element, or CloudFront returns
- // a MalformedXML error.
- //
- // To delete all cache behaviors in an existing distribution, update the distribution
- // configuration and include only an empty CacheBehaviors element.
- //
- // To add, change, or remove one or more cache behaviors, update the distribution
- // configuration and specify all of the cache behaviors that you want to include
- // in the updated distribution.
- //
- // For more information about cache behaviors, see Cache Behaviors (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)
- // in the Amazon CloudFront Developer Guide.
- type CacheBehavior struct {
- _ struct{} `type:"structure"`
- // A complex type that controls which HTTP methods CloudFront processes and
- // forwards to your Amazon S3 bucket or your custom origin. There are three
- // choices:
- //
- // * CloudFront forwards only GET and HEAD requests.
- //
- // * CloudFront forwards only GET, HEAD, and OPTIONS requests.
- //
- // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE
- // requests.
- //
- // If you pick the third choice, you may need to restrict access to your Amazon
- // S3 bucket or to your custom origin so users can't perform operations that
- // you don't want them to. For example, you might not want users to have permissions
- // to delete objects from your origin.
- AllowedMethods *AllowedMethods `type:"structure"`
- // Whether you want CloudFront to automatically compress certain files for this
- // cache behavior. If so, specify true; if not, specify false. For more information,
- // see Serving Compressed Files (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html)
- // in the Amazon CloudFront Developer Guide.
- Compress *bool `type:"boolean"`
- // The default amount of time that you want objects to stay in CloudFront caches
- // before CloudFront forwards another request to your origin to determine whether
- // the object has been updated. The value that you specify applies only when
- // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control
- // s-maxage, and Expires to objects. For more information, see Specifying How
- // Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon CloudFront Developer Guide.
- DefaultTTL *int64 `type:"long"`
- // A complex type that specifies how CloudFront handles query strings and cookies.
- //
- // ForwardedValues is a required field
- ForwardedValues *ForwardedValues `type:"structure" required:"true"`
- // The maximum amount of time that you want objects to stay in CloudFront caches
- // before CloudFront forwards another request to your origin to determine whether
- // the object has been updated. The value that you specify applies only when
- // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control
- // s-maxage, and Expires to objects. For more information, see Specifying How
- // Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon CloudFront Developer Guide.
- MaxTTL *int64 `type:"long"`
- // The minimum amount of time that you want objects to stay in CloudFront caches
- // before CloudFront forwards another request to your origin to determine whether
- // the object has been updated. For more information, see Specifying How Long
- // Objects and Errors Stay in a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // You must specify 0 for MinTTL if you configure CloudFront to forward all
- // headers to your origin (under Headers, if you specify 1 for Quantity and
- // * for Name).
- //
- // MinTTL is a required field
- MinTTL *int64 `type:"long" required:"true"`
- // The pattern (for example, images/*.jpg) that specifies which requests to
- // apply the behavior to. When CloudFront receives a viewer request, the requested
- // path is compared with path patterns in the order in which cache behaviors
- // are listed in the distribution.
- //
- // You can optionally include a slash (/) at the beginning of the path pattern.
- // For example, /images/*.jpg. CloudFront behavior is the same with or without
- // the leading /.
- //
- // The path pattern for the default cache behavior is * and cannot be changed.
- // If the request for an object does not match the path pattern for any cache
- // behaviors, CloudFront applies the behavior in the default cache behavior.
- //
- // For more information, see Path Pattern (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern)
- // in the Amazon CloudFront Developer Guide.
- //
- // PathPattern is a required field
- PathPattern *string `type:"string" required:"true"`
- // Indicates whether you want to distribute media files in the Microsoft Smooth
- // Streaming format using the origin that is associated with this cache behavior.
- // If so, specify true; if not, specify false. If you specify true for SmoothStreaming,
- // you can still distribute other content using this cache behavior if the content
- // matches the value of PathPattern.
- SmoothStreaming *bool `type:"boolean"`
- // The value of ID for the origin that you want CloudFront to route requests
- // to when a request matches the path pattern either for a cache behavior or
- // for the default cache behavior.
- //
- // TargetOriginId is a required field
- TargetOriginId *string `type:"string" required:"true"`
- // A complex type that specifies the AWS accounts, if any, that you want to
- // allow to create signed URLs for private content.
- //
- // If you want to require signed URLs in requests for objects in the target
- // origin that match the PathPattern for this cache behavior, specify true for
- // Enabled, and specify the applicable values for Quantity and Items. For more
- // information, see Serving Private Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // If you don't want to require signed URLs in requests for objects that match
- // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.
- //
- // To add, change, or remove one or more trusted signers, change Enabled to
- // true (if it's currently false), change Quantity as applicable, and specify
- // all of the trusted signers that you want to include in the updated distribution.
- //
- // TrustedSigners is a required field
- TrustedSigners *TrustedSigners `type:"structure" required:"true"`
- // The protocol that viewers can use to access the files in the origin specified
- // by TargetOriginId when a request matches the path pattern in PathPattern.
- // You can specify the following options:
- //
- // * allow-all: Viewers can use HTTP or HTTPS.
- //
- // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns
- // an HTTP status code of 301 (Moved Permanently) to the viewer along with
- // the HTTPS URL. The viewer then resubmits the request using the new URL.
- //
- //
- // * https-only: If a viewer sends an HTTP request, CloudFront returns an
- // HTTP status code of 403 (Forbidden).
- //
- // For more information about requiring the HTTPS protocol, see Using an HTTPS
- // Connection to Access Your Objects (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // The only way to guarantee that viewers retrieve an object that was fetched
- // from the origin using HTTPS is never to use any other protocol to fetch the
- // object. If you have recently changed from HTTP to HTTPS, we recommend that
- // you clear your objects' cache because cached objects are protocol agnostic.
- // That means that an edge location will return an object from the cache regardless
- // of whether the current request protocol matches the protocol used previously.
- // For more information, see Specifying How Long Objects and Errors Stay in
- // a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // ViewerProtocolPolicy is a required field
- ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"`
- }
- // String returns the string representation
- func (s CacheBehavior) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CacheBehavior) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CacheBehavior) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CacheBehavior"}
- if s.ForwardedValues == nil {
- invalidParams.Add(request.NewErrParamRequired("ForwardedValues"))
- }
- if s.MinTTL == nil {
- invalidParams.Add(request.NewErrParamRequired("MinTTL"))
- }
- if s.PathPattern == nil {
- invalidParams.Add(request.NewErrParamRequired("PathPattern"))
- }
- if s.TargetOriginId == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetOriginId"))
- }
- if s.TrustedSigners == nil {
- invalidParams.Add(request.NewErrParamRequired("TrustedSigners"))
- }
- if s.ViewerProtocolPolicy == nil {
- invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy"))
- }
- if s.AllowedMethods != nil {
- if err := s.AllowedMethods.Validate(); err != nil {
- invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams))
- }
- }
- if s.ForwardedValues != nil {
- if err := s.ForwardedValues.Validate(); err != nil {
- invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams))
- }
- }
- if s.TrustedSigners != nil {
- if err := s.TrustedSigners.Validate(); err != nil {
- invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains zero or more CacheBehavior elements.
- type CacheBehaviors struct {
- _ struct{} `type:"structure"`
- // Optional: A complex type that contains cache behaviors for this distribution.
- // If Quantity is 0, you can omit Items.
- Items []*CacheBehavior `locationNameList:"CacheBehavior" type:"list"`
- // The number of cache behaviors for this distribution.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CacheBehaviors) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CacheBehaviors) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CacheBehaviors) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CacheBehaviors"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.Items != nil {
- for i, v := range s.Items {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that controls whether CloudFront caches the response to requests
- // using the specified HTTP methods. There are two choices:
- //
- // * CloudFront caches responses to GET and HEAD requests.
- //
- // * CloudFront caches responses to GET, HEAD, and OPTIONS requests.
- //
- // If you pick the second choice for your Amazon S3 Origin, you may need to
- // forward Access-Control-Request-Method, Access-Control-Request-Headers, and
- // Origin headers for the responses to be cached correctly.
- type CachedMethods struct {
- _ struct{} `type:"structure"`
- // A complex type that contains the HTTP methods that you want CloudFront to
- // cache responses to.
- //
- // Items is a required field
- Items []*string `locationNameList:"Method" type:"list" required:"true"`
- // The number of HTTP methods for which you want CloudFront to cache responses.
- // Valid values are 2 (for caching responses to GET and HEAD requests) and 3
- // (for caching responses to GET, HEAD, and OPTIONS requests).
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CachedMethods) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CachedMethods) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CachedMethods) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CachedMethods"}
- if s.Items == nil {
- invalidParams.Add(request.NewErrParamRequired("Items"))
- }
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that specifies whether you want CloudFront to forward cookies
- // to the origin and, if so, which ones. For more information about forwarding
- // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)
- // in the Amazon CloudFront Developer Guide.
- type CookieNames struct {
- _ struct{} `type:"structure"`
- // A complex type that contains one Name element for each cookie that you want
- // CloudFront to forward to the origin for this cache behavior.
- Items []*string `locationNameList:"Name" type:"list"`
- // The number of different cookies that you want CloudFront to forward to the
- // origin for this cache behavior.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CookieNames) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CookieNames) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CookieNames) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CookieNames"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that specifies whether you want CloudFront to forward cookies
- // to the origin and, if so, which ones. For more information about forwarding
- // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)
- // in the Amazon CloudFront Developer Guide.
- type CookiePreference struct {
- _ struct{} `type:"structure"`
- // Specifies which cookies to forward to the origin for this cache behavior:
- // all, none, or the list of cookies specified in the WhitelistedNames complex
- // type.
- //
- // Amazon S3 doesn't process cookies. When the cache behavior is forwarding
- // requests to an Amazon S3 origin, specify none for the Forward element.
- //
- // Forward is a required field
- Forward *string `type:"string" required:"true" enum:"ItemSelection"`
- // Required if you specify whitelist for the value of Forward:. A complex type
- // that specifies how many different cookies you want CloudFront to forward
- // to the origin for this cache behavior and, if you want to forward selected
- // cookies, the names of those cookies.
- //
- // If you specify all or none for the value of Forward, omit WhitelistedNames.
- // If you change the value of Forward from whitelist to all or none and you
- // don't delete the WhitelistedNames element and its child elements, CloudFront
- // deletes them automatically.
- //
- // For the current limit on the number of cookie names that you can whitelist
- // for each cache behavior, see Amazon CloudFront Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront)
- // in the AWS General Reference.
- WhitelistedNames *CookieNames `type:"structure"`
- }
- // String returns the string representation
- func (s CookiePreference) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CookiePreference) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CookiePreference) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CookiePreference"}
- if s.Forward == nil {
- invalidParams.Add(request.NewErrParamRequired("Forward"))
- }
- if s.WhitelistedNames != nil {
- if err := s.WhitelistedNames.Validate(); err != nil {
- invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The request to create a new origin access identity.
- type CreateCloudFrontOriginAccessIdentityInput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"`
- // The current configuration information for the identity.
- //
- // CloudFrontOriginAccessIdentityConfig is a required field
- CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateCloudFrontOriginAccessIdentityInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"}
- if s.CloudFrontOriginAccessIdentityConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig"))
- }
- if s.CloudFrontOriginAccessIdentityConfig != nil {
- if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil {
- invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateCloudFrontOriginAccessIdentityOutput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"`
- // The origin access identity's information.
- CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"`
- // The current version of the origin access identity created.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The fully qualified URI of the new origin access identity just created. For
- // example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.
- Location *string `location:"header" locationName:"Location" type:"string"`
- }
- // String returns the string representation
- func (s CreateCloudFrontOriginAccessIdentityOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string {
- return s.String()
- }
- // The request to create a new distribution.
- type CreateDistributionInput struct {
- _ struct{} `type:"structure" payload:"DistributionConfig"`
- // The distribution's configuration information.
- //
- // DistributionConfig is a required field
- DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
- if s.DistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionConfig"))
- }
- if s.DistributionConfig != nil {
- if err := s.DistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateDistributionOutput struct {
- _ struct{} `type:"structure" payload:"Distribution"`
- // The distribution's information.
- Distribution *Distribution `type:"structure"`
- // The current version of the distribution created.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The fully qualified URI of the new distribution resource just created. For
- // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.
- Location *string `location:"header" locationName:"Location" type:"string"`
- }
- // String returns the string representation
- func (s CreateDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateDistributionOutput) GoString() string {
- return s.String()
- }
- // The request to create a new distribution with tags.
- type CreateDistributionWithTagsInput struct {
- _ struct{} `type:"structure" payload:"DistributionConfigWithTags"`
- // The distribution's configuration information.
- //
- // DistributionConfigWithTags is a required field
- DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateDistributionWithTagsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateDistributionWithTagsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateDistributionWithTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"}
- if s.DistributionConfigWithTags == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags"))
- }
- if s.DistributionConfigWithTags != nil {
- if err := s.DistributionConfigWithTags.Validate(); err != nil {
- invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateDistributionWithTagsOutput struct {
- _ struct{} `type:"structure" payload:"Distribution"`
- // The distribution's information.
- Distribution *Distribution `type:"structure"`
- // The current version of the distribution created.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The fully qualified URI of the new distribution resource just created. For
- // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.
- Location *string `location:"header" locationName:"Location" type:"string"`
- }
- // String returns the string representation
- func (s CreateDistributionWithTagsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateDistributionWithTagsOutput) GoString() string {
- return s.String()
- }
- // The request to create an invalidation.
- type CreateInvalidationInput struct {
- _ struct{} `type:"structure" payload:"InvalidationBatch"`
- // The distribution's id.
- //
- // DistributionId is a required field
- DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"`
- // The batch information for the invalidation.
- //
- // InvalidationBatch is a required field
- InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateInvalidationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateInvalidationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateInvalidationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"}
- if s.DistributionId == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionId"))
- }
- if s.InvalidationBatch == nil {
- invalidParams.Add(request.NewErrParamRequired("InvalidationBatch"))
- }
- if s.InvalidationBatch != nil {
- if err := s.InvalidationBatch.Validate(); err != nil {
- invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateInvalidationOutput struct {
- _ struct{} `type:"structure" payload:"Invalidation"`
- // The invalidation's information.
- Invalidation *Invalidation `type:"structure"`
- // The fully qualified URI of the distribution and invalidation batch request,
- // including the Invalidation ID.
- Location *string `location:"header" locationName:"Location" type:"string"`
- }
- // String returns the string representation
- func (s CreateInvalidationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateInvalidationOutput) GoString() string {
- return s.String()
- }
- // The request to create a new streaming distribution.
- type CreateStreamingDistributionInput struct {
- _ struct{} `type:"structure" payload:"StreamingDistributionConfig"`
- // The streaming distribution's configuration information.
- //
- // StreamingDistributionConfig is a required field
- StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateStreamingDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateStreamingDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateStreamingDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"}
- if s.StreamingDistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig"))
- }
- if s.StreamingDistributionConfig != nil {
- if err := s.StreamingDistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateStreamingDistributionOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistribution"`
- // The current version of the streaming distribution created.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The fully qualified URI of the new streaming distribution resource just created.
- // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.
- Location *string `location:"header" locationName:"Location" type:"string"`
- // The streaming distribution's information.
- StreamingDistribution *StreamingDistribution `type:"structure"`
- }
- // String returns the string representation
- func (s CreateStreamingDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateStreamingDistributionOutput) GoString() string {
- return s.String()
- }
- // The request to create a new streaming distribution with tags.
- type CreateStreamingDistributionWithTagsInput struct {
- _ struct{} `type:"structure" payload:"StreamingDistributionConfigWithTags"`
- // The streaming distribution's configuration information.
- //
- // StreamingDistributionConfigWithTags is a required field
- StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s CreateStreamingDistributionWithTagsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateStreamingDistributionWithTagsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateStreamingDistributionWithTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"}
- if s.StreamingDistributionConfigWithTags == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags"))
- }
- if s.StreamingDistributionConfigWithTags != nil {
- if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil {
- invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type CreateStreamingDistributionWithTagsOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistribution"`
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The fully qualified URI of the new streaming distribution resource just created.
- // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.
- Location *string `location:"header" locationName:"Location" type:"string"`
- // The streaming distribution's information.
- StreamingDistribution *StreamingDistribution `type:"structure"`
- }
- // String returns the string representation
- func (s CreateStreamingDistributionWithTagsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateStreamingDistributionWithTagsOutput) GoString() string {
- return s.String()
- }
- // A complex type that controls:
- //
- // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range
- // with custom error messages before returning the response to the viewer.
- //
- //
- // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.
- //
- // For more information about custom error pages, see Customizing Error Responses
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
- // in the Amazon CloudFront Developer Guide.
- type CustomErrorResponse struct {
- _ struct{} `type:"structure"`
- // The minimum amount of time, in seconds, that you want CloudFront to cache
- // the HTTP status code specified in ErrorCode. When this time period has elapsed,
- // CloudFront queries your origin to see whether the problem that caused the
- // error has been resolved and the requested object is now available.
- //
- // If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>,
- // in the XML document.
- //
- // For more information, see Customizing Error Responses (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
- // in the Amazon CloudFront Developer Guide.
- ErrorCachingMinTTL *int64 `type:"long"`
- // The HTTP status code for which you want to specify a custom error page and/or
- // a caching duration.
- //
- // ErrorCode is a required field
- ErrorCode *int64 `type:"integer" required:"true"`
- // The HTTP status code that you want CloudFront to return to the viewer along
- // with the custom error page. There are a variety of reasons that you might
- // want CloudFront to return a status code different from the status code that
- // your origin returned to CloudFront, for example:
- //
- // * Some Internet devices (some firewalls and corporate proxies, for example)
- // intercept HTTP 4xx and 5xx and prevent the response from being returned
- // to the viewer. If you substitute 200, the response typically won't be
- // intercepted.
- //
- // * If you don't care about distinguishing among different client errors
- // or server errors, you can specify 400 or 500 as the ResponseCode for all
- // 4xx or 5xx errors.
- //
- // * You might want to return a 200 status code (OK) and static website so
- // your customers don't know that your website is down.
- //
- // If you specify a value for ResponseCode, you must also specify a value for
- // ResponsePagePath. If you don't want to specify a value, include an empty
- // element, <ResponseCode>, in the XML document.
- ResponseCode *string `type:"string"`
- // The path to the custom error page that you want CloudFront to return to a
- // viewer when your origin returns the HTTP status code specified by ErrorCode,
- // for example, /4xx-errors/403-forbidden.html. If you want to store your objects
- // and your custom error pages in different locations, your distribution must
- // include a cache behavior for which the following is true:
- //
- // * The value of PathPattern matches the path to your custom error messages.
- // For example, suppose you saved custom error pages for 4xx errors in an
- // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must
- // include a cache behavior for which the path pattern routes requests for
- // your custom error pages to that location, for example, /4xx-errors/*.
- //
- //
- // * The value of TargetOriginId specifies the value of the ID element for
- // the origin that contains your custom error pages.
- //
- // If you specify a value for ResponsePagePath, you must also specify a value
- // for ResponseCode. If you don't want to specify a value, include an empty
- // element, <ResponsePagePath>, in the XML document.
- //
- // We recommend that you store custom error pages in an Amazon S3 bucket. If
- // you store custom error pages on an HTTP server and the server starts to return
- // 5xx errors, CloudFront can't get the files that you want to return to viewers
- // because the origin server is unavailable.
- ResponsePagePath *string `type:"string"`
- }
- // String returns the string representation
- func (s CustomErrorResponse) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CustomErrorResponse) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CustomErrorResponse) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"}
- if s.ErrorCode == nil {
- invalidParams.Add(request.NewErrParamRequired("ErrorCode"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that controls:
- //
- // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range
- // with custom error messages before returning the response to the viewer.
- //
- // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.
- //
- // For more information about custom error pages, see Customizing Error Responses
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
- // in the Amazon CloudFront Developer Guide.
- type CustomErrorResponses struct {
- _ struct{} `type:"structure"`
- // A complex type that contains a CustomErrorResponse element for each HTTP
- // status code for which you want to specify a custom error page and/or a caching
- // duration.
- Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"`
- // The number of HTTP status codes for which you want to specify a custom error
- // page and/or a caching duration. If Quantity is 0, you can omit Items.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CustomErrorResponses) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CustomErrorResponses) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CustomErrorResponses) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.Items != nil {
- for i, v := range s.Items {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains the list of Custom Headers for each origin.
- type CustomHeaders struct {
- _ struct{} `type:"structure"`
- // Optional: A list that contains one OriginCustomHeader element for each custom
- // header that you want CloudFront to forward to the origin. If Quantity is
- // 0, omit Items.
- Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"`
- // The number of custom headers, if any, for this distribution.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CustomHeaders) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CustomHeaders) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CustomHeaders) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.Items != nil {
- for i, v := range s.Items {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A customer origin.
- type CustomOriginConfig struct {
- _ struct{} `type:"structure"`
- // The HTTP port the custom origin listens on.
- //
- // HTTPPort is a required field
- HTTPPort *int64 `type:"integer" required:"true"`
- // The HTTPS port the custom origin listens on.
- //
- // HTTPSPort is a required field
- HTTPSPort *int64 `type:"integer" required:"true"`
- // The origin protocol policy to apply to your origin.
- //
- // OriginProtocolPolicy is a required field
- OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"`
- // The SSL/TLS protocols that you want CloudFront to use when communicating
- // with your origin over HTTPS.
- OriginSslProtocols *OriginSslProtocols `type:"structure"`
- }
- // String returns the string representation
- func (s CustomOriginConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CustomOriginConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CustomOriginConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"}
- if s.HTTPPort == nil {
- invalidParams.Add(request.NewErrParamRequired("HTTPPort"))
- }
- if s.HTTPSPort == nil {
- invalidParams.Add(request.NewErrParamRequired("HTTPSPort"))
- }
- if s.OriginProtocolPolicy == nil {
- invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy"))
- }
- if s.OriginSslProtocols != nil {
- if err := s.OriginSslProtocols.Validate(); err != nil {
- invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that describes the default cache behavior if you do not specify
- // a CacheBehavior element or if files don't match any of the values of PathPattern
- // in CacheBehavior elements. You must create exactly one default cache behavior.
- type DefaultCacheBehavior struct {
- _ struct{} `type:"structure"`
- // A complex type that controls which HTTP methods CloudFront processes and
- // forwards to your Amazon S3 bucket or your custom origin. There are three
- // choices:
- //
- // * CloudFront forwards only GET and HEAD requests.
- //
- // * CloudFront forwards only GET, HEAD, and OPTIONS requests.
- //
- // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE
- // requests.
- //
- // If you pick the third choice, you may need to restrict access to your Amazon
- // S3 bucket or to your custom origin so users can't perform operations that
- // you don't want them to. For example, you might not want users to have permissions
- // to delete objects from your origin.
- AllowedMethods *AllowedMethods `type:"structure"`
- // Whether you want CloudFront to automatically compress certain files for this
- // cache behavior. If so, specify true; if not, specify false. For more information,
- // see Serving Compressed Files (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html)
- // in the Amazon CloudFront Developer Guide.
- Compress *bool `type:"boolean"`
- // The default amount of time that you want objects to stay in CloudFront caches
- // before CloudFront forwards another request to your origin to determine whether
- // the object has been updated. The value that you specify applies only when
- // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control
- // s-maxage, and Expires to objects. For more information, see Specifying How
- // Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon CloudFront Developer Guide.
- DefaultTTL *int64 `type:"long"`
- // A complex type that specifies how CloudFront handles query strings and cookies.
- //
- // ForwardedValues is a required field
- ForwardedValues *ForwardedValues `type:"structure" required:"true"`
- MaxTTL *int64 `type:"long"`
- // The minimum amount of time that you want objects to stay in CloudFront caches
- // before CloudFront forwards another request to your origin to determine whether
- // the object has been updated. For more information, see Specifying How Long
- // Objects and Errors Stay in a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // You must specify 0 for MinTTL if you configure CloudFront to forward all
- // headers to your origin (under Headers, if you specify 1 for Quantity and
- // * for Name).
- //
- // MinTTL is a required field
- MinTTL *int64 `type:"long" required:"true"`
- // Indicates whether you want to distribute media files in the Microsoft Smooth
- // Streaming format using the origin that is associated with this cache behavior.
- // If so, specify true; if not, specify false. If you specify true for SmoothStreaming,
- // you can still distribute other content using this cache behavior if the content
- // matches the value of PathPattern.
- SmoothStreaming *bool `type:"boolean"`
- // The value of ID for the origin that you want CloudFront to route requests
- // to when a request matches the path pattern either for a cache behavior or
- // for the default cache behavior.
- //
- // TargetOriginId is a required field
- TargetOriginId *string `type:"string" required:"true"`
- // A complex type that specifies the AWS accounts, if any, that you want to
- // allow to create signed URLs for private content.
- //
- // If you want to require signed URLs in requests for objects in the target
- // origin that match the PathPattern for this cache behavior, specify true for
- // Enabled, and specify the applicable values for Quantity and Items. For more
- // information, see Serving Private Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // If you don't want to require signed URLs in requests for objects that match
- // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.
- //
- // To add, change, or remove one or more trusted signers, change Enabled to
- // true (if it's currently false), change Quantity as applicable, and specify
- // all of the trusted signers that you want to include in the updated distribution.
- //
- // TrustedSigners is a required field
- TrustedSigners *TrustedSigners `type:"structure" required:"true"`
- // The protocol that viewers can use to access the files in the origin specified
- // by TargetOriginId when a request matches the path pattern in PathPattern.
- // You can specify the following options:
- //
- // * allow-all: Viewers can use HTTP or HTTPS.
- //
- // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns
- // an HTTP status code of 301 (Moved Permanently) to the viewer along with
- // the HTTPS URL. The viewer then resubmits the request using the new URL.
- //
- // * https-only: If a viewer sends an HTTP request, CloudFront returns an
- // HTTP status code of 403 (Forbidden).
- //
- // For more information about requiring the HTTPS protocol, see Using an HTTPS
- // Connection to Access Your Objects (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // The only way to guarantee that viewers retrieve an object that was fetched
- // from the origin using HTTPS is never to use any other protocol to fetch the
- // object. If you have recently changed from HTTP to HTTPS, we recommend that
- // you clear your objects' cache because cached objects are protocol agnostic.
- // That means that an edge location will return an object from the cache regardless
- // of whether the current request protocol matches the protocol used previously.
- // For more information, see Specifying How Long Objects and Errors Stay in
- // a CloudFront Edge Cache (Expiration) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // ViewerProtocolPolicy is a required field
- ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"`
- }
- // String returns the string representation
- func (s DefaultCacheBehavior) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DefaultCacheBehavior) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DefaultCacheBehavior) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"}
- if s.ForwardedValues == nil {
- invalidParams.Add(request.NewErrParamRequired("ForwardedValues"))
- }
- if s.MinTTL == nil {
- invalidParams.Add(request.NewErrParamRequired("MinTTL"))
- }
- if s.TargetOriginId == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetOriginId"))
- }
- if s.TrustedSigners == nil {
- invalidParams.Add(request.NewErrParamRequired("TrustedSigners"))
- }
- if s.ViewerProtocolPolicy == nil {
- invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy"))
- }
- if s.AllowedMethods != nil {
- if err := s.AllowedMethods.Validate(); err != nil {
- invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams))
- }
- }
- if s.ForwardedValues != nil {
- if err := s.ForwardedValues.Validate(); err != nil {
- invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams))
- }
- }
- if s.TrustedSigners != nil {
- if err := s.TrustedSigners.Validate(); err != nil {
- invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Deletes a origin access identity.
- type DeleteCloudFrontOriginAccessIdentityInput struct {
- _ struct{} `type:"structure"`
- // The origin access identity's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header you received from a previous GET or PUT request.
- // For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- }
- // String returns the string representation
- func (s DeleteCloudFrontOriginAccessIdentityInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteCloudFrontOriginAccessIdentityOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string {
- return s.String()
- }
- // This action deletes a web distribution. To delete a web distribution using
- // the CloudFront API, perform the following steps.
- //
- // To delete a web distribution using the CloudFront API:
- //
- // Disable the web distribution
- //
- // Submit a GET Distribution Config request to get the current configuration
- // and the Etag header for the distribution.
- //
- // Update the XML document that was returned in the response to your GET Distribution
- // Config request to change the value of Enabled to false.
- //
- // Submit a PUT Distribution Config request to update the configuration for
- // your distribution. In the request body, include the XML document that you
- // updated in Step 3. Set the value of the HTTP If-Match header to the value
- // of the ETag header that CloudFront returned when you submitted the GET Distribution
- // Config request in Step 2.
- //
- // Review the response to the PUT Distribution Config request to confirm that
- // the distribution was successfully disabled.
- //
- // Submit a GET Distribution request to confirm that your changes have propagated.
- // When propagation is complete, the value of Status is Deployed.
- //
- // Submit a DELETE Distribution request. Set the value of the HTTP If-Match
- // header to the value of the ETag header that CloudFront returned when you
- // submitted the GET Distribution Config request in Step 6.
- //
- // Review the response to your DELETE Distribution request to confirm that the
- // distribution was successfully deleted.
- //
- // For information about deleting a distribution using the CloudFront console,
- // see Deleting a Distribution (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html)
- // in the Amazon CloudFront Developer Guide.
- type DeleteDistributionInput struct {
- _ struct{} `type:"structure"`
- // The distribution ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header that you received when you disabled the distribution.
- // For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- }
- // String returns the string representation
- func (s DeleteDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteDistributionOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteDistributionOutput) GoString() string {
- return s.String()
- }
- // The request to delete a streaming distribution.
- type DeleteStreamingDistributionInput struct {
- _ struct{} `type:"structure"`
- // The distribution ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header that you received when you disabled the streaming
- // distribution. For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- }
- // String returns the string representation
- func (s DeleteStreamingDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteStreamingDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteStreamingDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteStreamingDistributionOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteStreamingDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteStreamingDistributionOutput) GoString() string {
- return s.String()
- }
- // The distribution's information.
- type Distribution struct {
- _ struct{} `type:"structure"`
- // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
- // where 123456789012 is your AWS account ID.
- //
- // ARN is a required field
- ARN *string `type:"string" required:"true"`
- // CloudFront automatically adds this element to the response only if you've
- // set up the distribution to serve private content with signed URLs. The element
- // lists the key pair IDs that CloudFront is aware of for each trusted signer.
- // The Signer child element lists the AWS account number of the trusted signer
- // (or an empty Self element if the signer is you). The Signer element also
- // includes the IDs of any active key pairs associated with the trusted signer's
- // AWS account. If no KeyPairId element appears for a Signer, that signer can't
- // create working signed URLs.
- //
- // ActiveTrustedSigners is a required field
- ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"`
- // The current configuration information for the distribution. Send a GET request
- // to the /CloudFront API version/distribution ID/config resource.
- //
- // DistributionConfig is a required field
- DistributionConfig *DistributionConfig `type:"structure" required:"true"`
- // The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // The identifier for the distribution. For example: EDFDVBD632BHDS5.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The number of invalidation batches currently in progress.
- //
- // InProgressInvalidationBatches is a required field
- InProgressInvalidationBatches *int64 `type:"integer" required:"true"`
- // The date and time the distribution was last modified.
- //
- // LastModifiedTime is a required field
- LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
- // This response element indicates the current status of the distribution. When
- // the status is Deployed, the distribution's information is fully propagated
- // to all CloudFront edge locations.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Distribution) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Distribution) GoString() string {
- return s.String()
- }
- // A distribution configuration.
- type DistributionConfig struct {
- _ struct{} `type:"structure"`
- // A complex type that contains information about CNAMEs (alternate domain names),
- // if any, for this distribution.
- Aliases *Aliases `type:"structure"`
- // A complex type that contains zero or more CacheBehavior elements.
- CacheBehaviors *CacheBehaviors `type:"structure"`
- // A unique value (for example, a date-time stamp) that ensures that the request
- // can't be replayed.
- //
- // If the value of CallerReference is new (regardless of the content of the
- // DistributionConfig object), CloudFront creates a new distribution.
- //
- // If CallerReference is a value you already sent in a previous request to create
- // a distribution, and if the content of the DistributionConfig is identical
- // to the original request (ignoring white space), CloudFront returns the same
- // the response that it returned to the original request.
- //
- // If CallerReference is a value you already sent in a previous request to create
- // a distribution but the content of the DistributionConfig is different from
- // the original request, CloudFront returns a DistributionAlreadyExists error.
- //
- // CallerReference is a required field
- CallerReference *string `type:"string" required:"true"`
- // Any comments you want to include about the distribution.
- //
- // If you don't want to specify a comment, include an empty Comment element.
- //
- // To delete an existing comment, update the distribution configuration and
- // include an empty Comment element.
- //
- // To add or change a comment, update the distribution configuration and specify
- // the new comment.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- // A complex type that controls the following:
- //
- // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range
- // with custom error messages before returning the response to the viewer.
- //
- // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.
- //
- // For more information about custom error pages, see Customizing Error Responses
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
- // in the Amazon CloudFront Developer Guide.
- CustomErrorResponses *CustomErrorResponses `type:"structure"`
- // A complex type that describes the default cache behavior if you do not specify
- // a CacheBehavior element or if files don't match any of the values of PathPattern
- // in CacheBehavior elements. You must create exactly one default cache behavior.
- //
- // DefaultCacheBehavior is a required field
- DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"`
- // The object that you want CloudFront to request from your origin (for example,
- // index.html) when a viewer requests the root URL for your distribution (http://www.example.com)
- // instead of an object in your distribution (http://www.example.com/product-description.html).
- // Specifying a default root object avoids exposing the contents of your distribution.
- //
- // Specify only the object name, for example, index.html. Do not add a / before
- // the object name.
- //
- // If you don't want to specify a default root object when you create a distribution,
- // include an empty DefaultRootObject element.
- //
- // To delete the default root object from an existing distribution, update the
- // distribution configuration and include an empty DefaultRootObject element.
- //
- // To replace the default root object, update the distribution configuration
- // and specify the new object.
- //
- // For more information about the default root object, see Creating a Default
- // Root Object (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html)
- // in the Amazon CloudFront Developer Guide.
- DefaultRootObject *string `type:"string"`
- // Specifies whether you want CloudFront to save access logs to an Amazon S3
- // bucket.
- //
- // If you do not want to enable logging when you create a distribution, or if
- // you want to disable logging for an existing distribution, specify false for
- // Enabled, and specify empty Bucket and Prefix elements.
- //
- // If you specify false for Enabled but you specify values for Bucket and Prefix,
- // the values are automatically deleted.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // (Optional) Specify the maximum HTTP version that you want viewers to use
- // to communicate with CloudFront. The default value for new web distributions
- // is http2. Viewers that don't support HTTP/2 automatically use an earlier
- // HTTP version.
- //
- // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or
- // later, and must support Server Name Identification (SNI).
- //
- // In general, configuring CloudFront to communicate with viewers using HTTP/2
- // reduces latency. You can improve performance by optimizing for HTTP/2. For
- // more information, do an Internet search for "http/2 optimization."
- HttpVersion *string `type:"string" enum:"HttpVersion"`
- // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address
- // for your distribution, specify true. If you specify false, CloudFront responds
- // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses.
- // This allows viewers to submit a second request, for an IPv4 address for your
- // distribution.
- //
- // In general, you should enable IPv6 if you have users on IPv6 networks who
- // want to access your content. However, if you're using signed URLs or signed
- // cookies to restrict access to your content, and if you're using a custom
- // policy that includes the IpAddress parameter to restrict the IP addresses
- // that can access your content, do not enable IPv6. If you want to restrict
- // access to some content by IP address and not restrict access to other content
- // (or restrict access but not by IP address), you can create two distributions.
- // For more information, see Creating a Signed URL Using a Custom Policy (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // If you're using an Amazon Route 53 alias resource record set to route traffic
- // to your CloudFront distribution, you need to create a second alias resource
- // record set when both of the following are true:
- //
- // * You enable IPv6 for the distribution
- //
- // * You're using alternate domain names in the URLs for your objects
- //
- // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution
- // by Using Your Domain Name (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html)
- // in the Amazon Route 53 Developer Guide.
- //
- // If you created a CNAME resource record set, either with Amazon Route 53 or
- // with another DNS service, you don't need to make any changes. A CNAME record
- // will route traffic to your distribution regardless of the IP address format
- // of the viewer request.
- IsIPV6Enabled *bool `type:"boolean"`
- // A complex type that controls whether access logs are written for the distribution.
- //
- // For more information about logging, see Access Logs (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html)
- // in the Amazon CloudFront Developer Guide.
- Logging *LoggingConfig `type:"structure"`
- // A complex type that contains information about origins for this distribution.
- //
- // Origins is a required field
- Origins *Origins `type:"structure" required:"true"`
- // The price class that corresponds with the maximum price that you want to
- // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds
- // to requests for your objects from all CloudFront edge locations.
- //
- // If you specify a price class other than PriceClass_All, CloudFront serves
- // your objects from the CloudFront edge location that has the lowest latency
- // among the edge locations in your price class. Viewers who are in or near
- // regions that are excluded from your specified price class may encounter slower
- // performance.
- //
- // For more information about price classes, see Choosing the Price Class for
- // a CloudFront Distribution (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html)
- // in the Amazon CloudFront Developer Guide. For information about CloudFront
- // pricing, including how price classes map to CloudFront regions, see Amazon
- // CloudFront Pricing (https://aws.amazon.com/cloudfront/pricing/).
- PriceClass *string `type:"string" enum:"PriceClass"`
- // A complex type that identifies ways in which you want to restrict distribution
- // of your content.
- Restrictions *Restrictions `type:"structure"`
- // A complex type that specifies the following:
- //
- // * Which SSL/TLS certificate to use when viewers request objects using
- // HTTPS
- //
- // * Whether you want CloudFront to use dedicated IP addresses or SNI when
- // you're using alternate domain names in your object names
- //
- // * The minimum protocol version that you want CloudFront to use when communicating
- // with viewers
- //
- // For more information, see Using an HTTPS Connection to Access Your Objects
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- ViewerCertificate *ViewerCertificate `type:"structure"`
- // A unique identifier that specifies the AWS WAF web ACL, if any, to associate
- // with this distribution.
- //
- // AWS WAF is a web application firewall that lets you monitor the HTTP and
- // HTTPS requests that are forwarded to CloudFront, and lets you control access
- // to your content. Based on conditions that you specify, such as the IP addresses
- // that requests originate from or the values of query strings, CloudFront responds
- // to requests either with the requested content or with an HTTP 403 status
- // code (Forbidden). You can also configure CloudFront to return a custom error
- // page when a request is blocked. For more information about AWS WAF, see the
- // AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).
- WebACLId *string `type:"string"`
- }
- // String returns the string representation
- func (s DistributionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DistributionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DistributionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"}
- if s.CallerReference == nil {
- invalidParams.Add(request.NewErrParamRequired("CallerReference"))
- }
- if s.Comment == nil {
- invalidParams.Add(request.NewErrParamRequired("Comment"))
- }
- if s.DefaultCacheBehavior == nil {
- invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
- }
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if s.Origins == nil {
- invalidParams.Add(request.NewErrParamRequired("Origins"))
- }
- if s.Aliases != nil {
- if err := s.Aliases.Validate(); err != nil {
- invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams))
- }
- }
- if s.CacheBehaviors != nil {
- if err := s.CacheBehaviors.Validate(); err != nil {
- invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams))
- }
- }
- if s.CustomErrorResponses != nil {
- if err := s.CustomErrorResponses.Validate(); err != nil {
- invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams))
- }
- }
- if s.DefaultCacheBehavior != nil {
- if err := s.DefaultCacheBehavior.Validate(); err != nil {
- invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams))
- }
- }
- if s.Logging != nil {
- if err := s.Logging.Validate(); err != nil {
- invalidParams.AddNested("Logging", err.(request.ErrInvalidParams))
- }
- }
- if s.Origins != nil {
- if err := s.Origins.Validate(); err != nil {
- invalidParams.AddNested("Origins", err.(request.ErrInvalidParams))
- }
- }
- if s.Restrictions != nil {
- if err := s.Restrictions.Validate(); err != nil {
- invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A distribution Configuration and a list of tags to be associated with the
- // distribution.
- type DistributionConfigWithTags struct {
- _ struct{} `type:"structure"`
- // A distribution configuration.
- //
- // DistributionConfig is a required field
- DistributionConfig *DistributionConfig `type:"structure" required:"true"`
- // A complex type that contains zero or more Tag elements.
- //
- // Tags is a required field
- Tags *Tags `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s DistributionConfigWithTags) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DistributionConfigWithTags) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DistributionConfigWithTags) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"}
- if s.DistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionConfig"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.DistributionConfig != nil {
- if err := s.DistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.Tags != nil {
- if err := s.Tags.Validate(); err != nil {
- invalidParams.AddNested("Tags", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A distribution list.
- type DistributionList struct {
- _ struct{} `type:"structure"`
- // A flag that indicates whether more distributions remain to be listed. If
- // your results were truncated, you can make a follow-up pagination request
- // using the Marker request parameter to retrieve more distributions in the
- // list.
- //
- // IsTruncated is a required field
- IsTruncated *bool `type:"boolean" required:"true"`
- // A complex type that contains one DistributionSummary element for each distribution
- // that was created by the current AWS account.
- Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"`
- // The value you provided for the Marker request parameter.
- //
- // Marker is a required field
- Marker *string `type:"string" required:"true"`
- // The value you provided for the MaxItems request parameter.
- //
- // MaxItems is a required field
- MaxItems *int64 `type:"integer" required:"true"`
- // If IsTruncated is true, this element is present and contains the value you
- // can use for the Marker request parameter to continue listing your distributions
- // where they left off.
- NextMarker *string `type:"string"`
- // The number of distributions that were created by the current AWS account.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s DistributionList) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DistributionList) GoString() string {
- return s.String()
- }
- // A summary of the information about a CloudFront distribution.
- type DistributionSummary struct {
- _ struct{} `type:"structure"`
- // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
- // where 123456789012 is your AWS account ID.
- //
- // ARN is a required field
- ARN *string `type:"string" required:"true"`
- // A complex type that contains information about CNAMEs (alternate domain names),
- // if any, for this distribution.
- //
- // Aliases is a required field
- Aliases *Aliases `type:"structure" required:"true"`
- // A complex type that contains zero or more CacheBehavior elements.
- //
- // CacheBehaviors is a required field
- CacheBehaviors *CacheBehaviors `type:"structure" required:"true"`
- // The comment originally specified when this distribution was created.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- // A complex type that contains zero or more CustomErrorResponses elements.
- //
- // CustomErrorResponses is a required field
- CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"`
- // A complex type that describes the default cache behavior if you do not specify
- // a CacheBehavior element or if files don't match any of the values of PathPattern
- // in CacheBehavior elements. You must create exactly one default cache behavior.
- //
- // DefaultCacheBehavior is a required field
- DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"`
- // The domain name that corresponds to the distribution. For example: d604721fxaaqy9.cloudfront.net.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // Whether the distribution is enabled to accept user requests for content.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // Specify the maximum HTTP version that you want viewers to use to communicate
- // with CloudFront. The default value for new web distributions is http2. Viewers
- // that don't support HTTP/2 will automatically use an earlier version.
- //
- // HttpVersion is a required field
- HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"`
- // The identifier for the distribution. For example: EDFDVBD632BHDS5.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for
- // your distribution.
- //
- // IsIPV6Enabled is a required field
- IsIPV6Enabled *bool `type:"boolean" required:"true"`
- // The date and time the distribution was last modified.
- //
- // LastModifiedTime is a required field
- LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
- // A complex type that contains information about origins for this distribution.
- //
- // Origins is a required field
- Origins *Origins `type:"structure" required:"true"`
- // PriceClass is a required field
- PriceClass *string `type:"string" required:"true" enum:"PriceClass"`
- // A complex type that identifies ways in which you want to restrict distribution
- // of your content.
- //
- // Restrictions is a required field
- Restrictions *Restrictions `type:"structure" required:"true"`
- // The current status of the distribution. When the status is Deployed, the
- // distribution's information is propagated to all CloudFront edge locations.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- // A complex type that specifies the following:
- //
- // * Which SSL/TLS certificate to use when viewers request objects using
- // HTTPS
- //
- // * Whether you want CloudFront to use dedicated IP addresses or SNI when
- // you're using alternate domain names in your object names
- //
- // * The minimum protocol version that you want CloudFront to use when communicating
- // with viewers
- //
- // For more information, see Using an HTTPS Connection to Access Your Objects
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // ViewerCertificate is a required field
- ViewerCertificate *ViewerCertificate `type:"structure" required:"true"`
- // The Web ACL Id (if any) associated with the distribution.
- //
- // WebACLId is a required field
- WebACLId *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DistributionSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DistributionSummary) GoString() string {
- return s.String()
- }
- // A complex type that specifies how CloudFront handles query strings and cookies.
- type ForwardedValues struct {
- _ struct{} `type:"structure"`
- // A complex type that specifies whether you want CloudFront to forward cookies
- // to the origin and, if so, which ones. For more information about forwarding
- // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // Cookies is a required field
- Cookies *CookiePreference `type:"structure" required:"true"`
- // A complex type that specifies the Headers, if any, that you want CloudFront
- // to vary upon for this cache behavior.
- Headers *Headers `type:"structure"`
- // Indicates whether you want CloudFront to forward query strings to the origin
- // that is associated with this cache behavior and cache based on the query
- // string parameters. CloudFront behavior depends on the value of QueryString
- // and on the values that you specify for QueryStringCacheKeys, if any:
- //
- // If you specify true for QueryString and you don't specify any values for
- // QueryStringCacheKeys, CloudFront forwards all query string parameters to
- // the origin and caches based on all query string parameters. Depending on
- // how many query string parameters and values you have, this can adversely
- // affect performance because CloudFront must forward more requests to the origin.
- //
- // If you specify true for QueryString and you specify one or more values for
- // QueryStringCacheKeys, CloudFront forwards all query string parameters to
- // the origin, but it only caches based on the query string parameters that
- // you specify.
- //
- // If you specify false for QueryString, CloudFront doesn't forward any query
- // string parameters to the origin, and doesn't cache based on query string
- // parameters.
- //
- // For more information, see Configuring CloudFront to Cache Based on Query
- // String Parameters (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // QueryString is a required field
- QueryString *bool `type:"boolean" required:"true"`
- // A complex type that contains information about the query string parameters
- // that you want CloudFront to use for caching for this cache behavior.
- QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"`
- }
- // String returns the string representation
- func (s ForwardedValues) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ForwardedValues) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ForwardedValues) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"}
- if s.Cookies == nil {
- invalidParams.Add(request.NewErrParamRequired("Cookies"))
- }
- if s.QueryString == nil {
- invalidParams.Add(request.NewErrParamRequired("QueryString"))
- }
- if s.Cookies != nil {
- if err := s.Cookies.Validate(); err != nil {
- invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams))
- }
- }
- if s.Headers != nil {
- if err := s.Headers.Validate(); err != nil {
- invalidParams.AddNested("Headers", err.(request.ErrInvalidParams))
- }
- }
- if s.QueryStringCacheKeys != nil {
- if err := s.QueryStringCacheKeys.Validate(); err != nil {
- invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that controls the countries in which your content is distributed.
- // CloudFront determines the location of your users using MaxMind GeoIP databases.
- type GeoRestriction struct {
- _ struct{} `type:"structure"`
- // A complex type that contains a Location element for each country in which
- // you want CloudFront either to distribute your content (whitelist) or not
- // distribute your content (blacklist).
- //
- // The Location element is a two-letter, uppercase country code for a country
- // that you want to include in your blacklist or whitelist. Include one Location
- // element for each country.
- //
- // CloudFront and MaxMind both use ISO 3166 country codes. For the current list
- // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on
- // the International Organization for Standardization website. You can also
- // refer to the country list in the CloudFront console, which includes both
- // country names and codes.
- Items []*string `locationNameList:"Location" type:"list"`
- // When geo restriction is enabled, this is the number of countries in your
- // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0,
- // and you can omit Items.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- // The method that you want to use to restrict distribution of your content
- // by country:
- //
- // * none: No geo restriction is enabled, meaning access to content is not
- // restricted by client geo location.
- //
- // * blacklist: The Location elements specify the countries in which you
- // do not want CloudFront to distribute your content.
- //
- // * whitelist: The Location elements specify the countries in which you
- // want CloudFront to distribute your content.
- //
- // RestrictionType is a required field
- RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"`
- }
- // String returns the string representation
- func (s GeoRestriction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GeoRestriction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GeoRestriction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.RestrictionType == nil {
- invalidParams.Add(request.NewErrParamRequired("RestrictionType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The origin access identity's configuration information. For more information,
- // see CloudFrontOriginAccessIdentityConfigComplexType.
- type GetCloudFrontOriginAccessIdentityConfigInput struct {
- _ struct{} `type:"structure"`
- // The identity's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetCloudFrontOriginAccessIdentityConfigOutput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"`
- // The origin access identity's configuration information.
- CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string {
- return s.String()
- }
- // The request to get an origin access identity's information.
- type GetCloudFrontOriginAccessIdentityInput struct {
- _ struct{} `type:"structure"`
- // The identity's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetCloudFrontOriginAccessIdentityInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetCloudFrontOriginAccessIdentityInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetCloudFrontOriginAccessIdentityOutput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"`
- // The origin access identity's information.
- CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"`
- // The current version of the origin access identity's information. For example:
- // E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s GetCloudFrontOriginAccessIdentityOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string {
- return s.String()
- }
- // The request to get a distribution configuration.
- type GetDistributionConfigInput struct {
- _ struct{} `type:"structure"`
- // The distribution's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetDistributionConfigInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetDistributionConfigInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetDistributionConfigInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetDistributionConfigOutput struct {
- _ struct{} `type:"structure" payload:"DistributionConfig"`
- // The distribution's configuration information.
- DistributionConfig *DistributionConfig `type:"structure"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s GetDistributionConfigOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetDistributionConfigOutput) GoString() string {
- return s.String()
- }
- // The request to get a distribution's information.
- type GetDistributionInput struct {
- _ struct{} `type:"structure"`
- // The distribution's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetDistributionOutput struct {
- _ struct{} `type:"structure" payload:"Distribution"`
- // The distribution's information.
- Distribution *Distribution `type:"structure"`
- // The current version of the distribution's information. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s GetDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetDistributionOutput) GoString() string {
- return s.String()
- }
- // The request to get an invalidation's information.
- type GetInvalidationInput struct {
- _ struct{} `type:"structure"`
- // The distribution's ID.
- //
- // DistributionId is a required field
- DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"`
- // The identifier for the invalidation request, for example, IDFDVBD632BHDS5.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetInvalidationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetInvalidationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetInvalidationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"}
- if s.DistributionId == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionId"))
- }
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetInvalidationOutput struct {
- _ struct{} `type:"structure" payload:"Invalidation"`
- // The invalidation's information. For more information, see Invalidation Complex
- // Type (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html).
- Invalidation *Invalidation `type:"structure"`
- }
- // String returns the string representation
- func (s GetInvalidationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetInvalidationOutput) GoString() string {
- return s.String()
- }
- // To request to get a streaming distribution configuration.
- type GetStreamingDistributionConfigInput struct {
- _ struct{} `type:"structure"`
- // The streaming distribution's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetStreamingDistributionConfigInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetStreamingDistributionConfigInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetStreamingDistributionConfigInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetStreamingDistributionConfigOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistributionConfig"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The streaming distribution's configuration information.
- StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"`
- }
- // String returns the string representation
- func (s GetStreamingDistributionConfigOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetStreamingDistributionConfigOutput) GoString() string {
- return s.String()
- }
- // The request to get a streaming distribution's information.
- type GetStreamingDistributionInput struct {
- _ struct{} `type:"structure"`
- // The streaming distribution's ID.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetStreamingDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetStreamingDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetStreamingDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type GetStreamingDistributionOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistribution"`
- // The current version of the streaming distribution's information. For example:
- // E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The streaming distribution's information.
- StreamingDistribution *StreamingDistribution `type:"structure"`
- }
- // String returns the string representation
- func (s GetStreamingDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetStreamingDistributionOutput) GoString() string {
- return s.String()
- }
- // A complex type that specifies the headers that you want CloudFront to forward
- // to the origin for this cache behavior.
- //
- // For the headers that you specify, CloudFront also caches separate versions
- // of a specified object based on the header values in viewer requests. For
- // example, suppose viewer requests for logo.jpg contain a custom Product header
- // that has a value of either Acme or Apex, and you configure CloudFront to
- // cache your content based on values in the Product header. CloudFront forwards
- // the Product header to the origin and caches the response from the origin
- // once for each header value. For more information about caching based on header
- // values, see How CloudFront Forwards and Caches Headers (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html)
- // in the Amazon CloudFront Developer Guide.
- type Headers struct {
- _ struct{} `type:"structure"`
- // A complex type that contains one Name element for each header that you want
- // CloudFront to forward to the origin and to vary on for this cache behavior.
- // If Quantity is 0, omit Items.
- Items []*string `locationNameList:"Name" type:"list"`
- // The number of different headers that you want CloudFront to forward to the
- // origin for this cache behavior. You can configure each cache behavior in
- // a web distribution to do one of the following:
- //
- // * Forward all headers to your origin: Specify 1 for Quantity and * for
- // Name.
- //
- // If you configure CloudFront to forward all headers to your origin, CloudFront
- // doesn't cache the objects associated with this cache behavior. Instead,
- // it sends every request to the origin.
- //
- // * Forward a whitelist of headers you specify: Specify the number of headers
- // that you want to forward, and specify the header names in Name elements.
- // CloudFront caches your objects based on the values in all of the specified
- // headers. CloudFront also forwards the headers that it forwards by default,
- // but it caches your objects based only on the headers that you specify.
- //
- //
- // * Forward only the default headers: Specify 0 for Quantity and omit Items.
- // In this configuration, CloudFront doesn't cache based on the values in
- // the request headers.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Headers) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Headers) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Headers) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Headers"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // An invalidation.
- type Invalidation struct {
- _ struct{} `type:"structure"`
- // The date and time the invalidation request was first made.
- //
- // CreateTime is a required field
- CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
- // The identifier for the invalidation request. For example: IDFDVBD632BHDS5.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The current invalidation information for the batch request.
- //
- // InvalidationBatch is a required field
- InvalidationBatch *InvalidationBatch `type:"structure" required:"true"`
- // The status of the invalidation request. When the invalidation batch is finished,
- // the status is Completed.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Invalidation) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Invalidation) GoString() string {
- return s.String()
- }
- // An invalidation batch.
- type InvalidationBatch struct {
- _ struct{} `type:"structure"`
- // A value that you specify to uniquely identify an invalidation request. CloudFront
- // uses the value to prevent you from accidentally resubmitting an identical
- // request. Whenever you create a new invalidation request, you must specify
- // a new value for CallerReference and change other values in the request as
- // applicable. One way to ensure that the value of CallerReference is unique
- // is to use a timestamp, for example, 20120301090000.
- //
- // If you make a second invalidation request with the same value for CallerReference,
- // and if the rest of the request is the same, CloudFront doesn't create a new
- // invalidation request. Instead, CloudFront returns information about the invalidation
- // request that you previously created with the same CallerReference.
- //
- // If CallerReference is a value you already sent in a previous invalidation
- // batch request but the content of any Path is different from the original
- // request, CloudFront returns an InvalidationBatchAlreadyExists error.
- //
- // CallerReference is a required field
- CallerReference *string `type:"string" required:"true"`
- // A complex type that contains information about the objects that you want
- // to invalidate. For more information, see Specifying the Objects to Invalidate
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects)
- // in the Amazon CloudFront Developer Guide.
- //
- // Paths is a required field
- Paths *Paths `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s InvalidationBatch) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s InvalidationBatch) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *InvalidationBatch) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"}
- if s.CallerReference == nil {
- invalidParams.Add(request.NewErrParamRequired("CallerReference"))
- }
- if s.Paths == nil {
- invalidParams.Add(request.NewErrParamRequired("Paths"))
- }
- if s.Paths != nil {
- if err := s.Paths.Validate(); err != nil {
- invalidParams.AddNested("Paths", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The InvalidationList complex type describes the list of invalidation objects.
- // For more information about invalidation, see Invalidating Objects (Web Distributions
- // Only) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html)
- // in the Amazon CloudFront Developer Guide.
- type InvalidationList struct {
- _ struct{} `type:"structure"`
- // A flag that indicates whether more invalidation batch requests remain to
- // be listed. If your results were truncated, you can make a follow-up pagination
- // request using the Marker request parameter to retrieve more invalidation
- // batches in the list.
- //
- // IsTruncated is a required field
- IsTruncated *bool `type:"boolean" required:"true"`
- // A complex type that contains one InvalidationSummary element for each invalidation
- // batch created by the current AWS account.
- Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"`
- // The value that you provided for the Marker request parameter.
- //
- // Marker is a required field
- Marker *string `type:"string" required:"true"`
- // The value that you provided for the MaxItems request parameter.
- //
- // MaxItems is a required field
- MaxItems *int64 `type:"integer" required:"true"`
- // If IsTruncated is true, this element is present and contains the value that
- // you can use for the Marker request parameter to continue listing your invalidation
- // batches where they left off.
- NextMarker *string `type:"string"`
- // The number of invalidation batches that were created by the current AWS account.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s InvalidationList) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s InvalidationList) GoString() string {
- return s.String()
- }
- // A summary of an invalidation request.
- type InvalidationSummary struct {
- _ struct{} `type:"structure"`
- // CreateTime is a required field
- CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
- // The unique ID for an invalidation request.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The status of an invalidation request.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s InvalidationSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s InvalidationSummary) GoString() string {
- return s.String()
- }
- // A complex type that lists the active CloudFront key pairs, if any, that are
- // associated with AwsAccountNumber.
- //
- // For more information, see ActiveTrustedSigners.
- type KeyPairIds struct {
- _ struct{} `type:"structure"`
- // A complex type that lists the active CloudFront key pairs, if any, that are
- // associated with AwsAccountNumber.
- //
- // For more information, see ActiveTrustedSigners.
- Items []*string `locationNameList:"KeyPairId" type:"list"`
- // The number of active CloudFront key pairs for AwsAccountNumber.
- //
- // For more information, see ActiveTrustedSigners.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s KeyPairIds) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s KeyPairIds) GoString() string {
- return s.String()
- }
- // The request to list origin access identities.
- type ListCloudFrontOriginAccessIdentitiesInput struct {
- _ struct{} `type:"structure"`
- // Use this when paginating results to indicate where to begin in your list
- // of origin access identities. The results include identities in the list that
- // occur after the marker. To get the next page of results, set the Marker to
- // the value of the NextMarker from the current page's response (which is also
- // the ID of the last identity on that page).
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
- // The maximum number of origin access identities you want in the response body.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"`
- }
- // String returns the string representation
- func (s ListCloudFrontOriginAccessIdentitiesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string {
- return s.String()
- }
- // The returned result of the corresponding request.
- type ListCloudFrontOriginAccessIdentitiesOutput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"`
- // The CloudFrontOriginAccessIdentityList type.
- CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"`
- }
- // String returns the string representation
- func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string {
- return s.String()
- }
- // The request to list distributions that are associated with a specified AWS
- // WAF web ACL.
- type ListDistributionsByWebACLIdInput struct {
- _ struct{} `type:"structure"`
- // Use Marker and MaxItems to control pagination of results. If you have more
- // than MaxItems distributions that satisfy the request, the response includes
- // a NextMarker element. To get the next page of results, submit another request.
- // For the value of Marker, specify the value of NextMarker from the last response.
- // (For the first request, omit Marker.)
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
- // The maximum number of distributions that you want CloudFront to return in
- // the response body. The maximum and default values are both 100.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"`
- // The ID of the AWS WAF web ACL that you want to list the associated distributions.
- // If you specify "null" for the ID, the request returns a list of the distributions
- // that aren't associated with a web ACL.
- //
- // WebACLId is a required field
- WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListDistributionsByWebACLIdInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDistributionsByWebACLIdInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListDistributionsByWebACLIdInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"}
- if s.WebACLId == nil {
- invalidParams.Add(request.NewErrParamRequired("WebACLId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The response to a request to list the distributions that are associated with
- // a specified AWS WAF web ACL.
- type ListDistributionsByWebACLIdOutput struct {
- _ struct{} `type:"structure" payload:"DistributionList"`
- // The DistributionList type.
- DistributionList *DistributionList `type:"structure"`
- }
- // String returns the string representation
- func (s ListDistributionsByWebACLIdOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDistributionsByWebACLIdOutput) GoString() string {
- return s.String()
- }
- // The request to list your distributions.
- type ListDistributionsInput struct {
- _ struct{} `type:"structure"`
- // Use this when paginating results to indicate where to begin in your list
- // of distributions. The results include distributions in the list that occur
- // after the marker. To get the next page of results, set the Marker to the
- // value of the NextMarker from the current page's response (which is also the
- // ID of the last distribution on that page).
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
- // The maximum number of distributions you want in the response body.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"`
- }
- // String returns the string representation
- func (s ListDistributionsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDistributionsInput) GoString() string {
- return s.String()
- }
- // The returned result of the corresponding request.
- type ListDistributionsOutput struct {
- _ struct{} `type:"structure" payload:"DistributionList"`
- // The DistributionList type.
- DistributionList *DistributionList `type:"structure"`
- }
- // String returns the string representation
- func (s ListDistributionsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDistributionsOutput) GoString() string {
- return s.String()
- }
- // The request to list invalidations.
- type ListInvalidationsInput struct {
- _ struct{} `type:"structure"`
- // The distribution's ID.
- //
- // DistributionId is a required field
- DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"`
- // Use this parameter when paginating results to indicate where to begin in
- // your list of invalidation batches. Because the results are returned in decreasing
- // order from most recent to oldest, the most recent results are on the first
- // page, the second page will contain earlier results, and so on. To get the
- // next page of results, set Marker to the value of the NextMarker from the
- // current page's response. This value is the same as the ID of the last invalidation
- // batch on that page.
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
- // The maximum number of invalidation batches that you want in the response
- // body.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"`
- }
- // String returns the string representation
- func (s ListInvalidationsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListInvalidationsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListInvalidationsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"}
- if s.DistributionId == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type ListInvalidationsOutput struct {
- _ struct{} `type:"structure" payload:"InvalidationList"`
- // Information about invalidation batches.
- InvalidationList *InvalidationList `type:"structure"`
- }
- // String returns the string representation
- func (s ListInvalidationsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListInvalidationsOutput) GoString() string {
- return s.String()
- }
- // The request to list your streaming distributions.
- type ListStreamingDistributionsInput struct {
- _ struct{} `type:"structure"`
- // The value that you provided for the Marker request parameter.
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
- // The value that you provided for the MaxItems request parameter.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"`
- }
- // String returns the string representation
- func (s ListStreamingDistributionsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListStreamingDistributionsInput) GoString() string {
- return s.String()
- }
- // The returned result of the corresponding request.
- type ListStreamingDistributionsOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistributionList"`
- // The StreamingDistributionList type.
- StreamingDistributionList *StreamingDistributionList `type:"structure"`
- }
- // String returns the string representation
- func (s ListStreamingDistributionsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListStreamingDistributionsOutput) GoString() string {
- return s.String()
- }
- // The request to list tags for a CloudFront resource.
- type ListTagsForResourceInput struct {
- _ struct{} `type:"structure"`
- // An ARN of a CloudFront resource.
- //
- // Resource is a required field
- Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListTagsForResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsForResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTagsForResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
- if s.Resource == nil {
- invalidParams.Add(request.NewErrParamRequired("Resource"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type ListTagsForResourceOutput struct {
- _ struct{} `type:"structure" payload:"Tags"`
- // A complex type that contains zero or more Tag elements.
- //
- // Tags is a required field
- Tags *Tags `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s ListTagsForResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsForResourceOutput) GoString() string {
- return s.String()
- }
- // A complex type that controls whether access logs are written for the distribution.
- type LoggingConfig struct {
- _ struct{} `type:"structure"`
- // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.
- //
- // Bucket is a required field
- Bucket *string `type:"string" required:"true"`
- // Specifies whether you want CloudFront to save access logs to an Amazon S3
- // bucket. If you do not want to enable logging when you create a distribution
- // or if you want to disable logging for an existing distribution, specify false
- // for Enabled, and specify empty Bucket and Prefix elements. If you specify
- // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies,
- // the values are automatically deleted.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // Specifies whether you want CloudFront to include cookies in access logs,
- // specify true for IncludeCookies. If you choose to include cookies in logs,
- // CloudFront logs all cookies regardless of how you configure the cache behaviors
- // for this distribution. If you do not want to include cookies when you create
- // a distribution or if you want to disable include cookies for an existing
- // distribution, specify false for IncludeCookies.
- //
- // IncludeCookies is a required field
- IncludeCookies *bool `type:"boolean" required:"true"`
- // An optional string that you want CloudFront to prefix to the access log filenames
- // for this distribution, for example, myprefix/. If you want to enable logging,
- // but you do not want to specify a prefix, you still must include an empty
- // Prefix element in the Logging element.
- //
- // Prefix is a required field
- Prefix *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s LoggingConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoggingConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *LoggingConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"}
- if s.Bucket == nil {
- invalidParams.Add(request.NewErrParamRequired("Bucket"))
- }
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if s.IncludeCookies == nil {
- invalidParams.Add(request.NewErrParamRequired("IncludeCookies"))
- }
- if s.Prefix == nil {
- invalidParams.Add(request.NewErrParamRequired("Prefix"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that describes the Amazon S3 bucket or the HTTP server (for
- // example, a web server) from which CloudFront gets your files. You must create
- // at least one origin.
- //
- // For the current limit on the number of origins that you can create for a
- // distribution, see Amazon CloudFront Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront)
- // in the AWS General Reference.
- type Origin struct {
- _ struct{} `type:"structure"`
- // A complex type that contains names and values for the custom headers that
- // you want.
- CustomHeaders *CustomHeaders `type:"structure"`
- // A complex type that contains information about a custom origin. If the origin
- // is an Amazon S3 bucket, use the S3OriginConfig element instead.
- CustomOriginConfig *CustomOriginConfig `type:"structure"`
- // Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want
- // CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.
- //
- // Constraints for Amazon S3 origins:
- //
- // * If you configured Amazon S3 Transfer Acceleration for your bucket, do
- // not specify the s3-accelerate endpoint for DomainName.
- //
- // * The bucket name must be between 3 and 63 characters long (inclusive).
- //
- // * The bucket name must contain only lowercase characters, numbers, periods,
- // underscores, and dashes.
- //
- // * The bucket name must not contain adjacent periods.
- //
- // Custom Origins: The DNS domain name for the HTTP server from which you want
- // CloudFront to get objects for this origin, for example, www.example.com.
- //
- // Constraints for custom origins:
- //
- // * DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9,
- // dot (.), hyphen (-), or underscore (_) characters.
- //
- // * The name cannot exceed 128 characters.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // A unique identifier for the origin. The value of Id must be unique within
- // the distribution.
- //
- // When you specify the value of TargetOriginId for the default cache behavior
- // or for another cache behavior, you indicate the origin to which you want
- // the cache behavior to route requests by specifying the value of the Id element
- // for that origin. When a request matches the path pattern for that cache behavior,
- // CloudFront routes the request to the specified origin. For more information,
- // see Cache Behavior Settings (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)
- // in the Amazon CloudFront Developer Guide.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // An optional element that causes CloudFront to request your content from a
- // directory in your Amazon S3 bucket or your custom origin. When you include
- // the OriginPath element, specify the directory name, beginning with a /. CloudFront
- // appends the directory name to the value of DomainName, for example, example.com/production.
- // Do not include a / at the end of the directory name.
- //
- // For example, suppose you've specified the following values for your distribution:
- //
- // * DomainName: An Amazon S3 bucket named myawsbucket.
- //
- // * OriginPath: /production
- //
- // * CNAME: example.com
- //
- // When a user enters example.com/index.html in a browser, CloudFront sends
- // a request to Amazon S3 for myawsbucket/production/index.html.
- //
- // When a user enters example.com/acme/index.html in a browser, CloudFront sends
- // a request to Amazon S3 for myawsbucket/production/acme/index.html.
- OriginPath *string `type:"string"`
- // A complex type that contains information about the Amazon S3 origin. If the
- // origin is a custom origin, use the CustomOriginConfig element instead.
- S3OriginConfig *S3OriginConfig `type:"structure"`
- }
- // String returns the string representation
- func (s Origin) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Origin) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Origin) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Origin"}
- if s.DomainName == nil {
- invalidParams.Add(request.NewErrParamRequired("DomainName"))
- }
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.CustomHeaders != nil {
- if err := s.CustomHeaders.Validate(); err != nil {
- invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams))
- }
- }
- if s.CustomOriginConfig != nil {
- if err := s.CustomOriginConfig.Validate(); err != nil {
- invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.S3OriginConfig != nil {
- if err := s.S3OriginConfig.Validate(); err != nil {
- invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // CloudFront origin access identity.
- type OriginAccessIdentity struct {
- _ struct{} `type:"structure"`
- // The current configuration information for the identity.
- CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"`
- // The ID for the origin access identity. For example: E74FTE3AJFJ256A.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The Amazon S3 canonical user ID for the origin access identity, used when
- // giving the origin access identity read permission to an object in Amazon
- // S3.
- //
- // S3CanonicalUserId is a required field
- S3CanonicalUserId *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s OriginAccessIdentity) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginAccessIdentity) GoString() string {
- return s.String()
- }
- // Origin access identity configuration. Send a GET request to the /CloudFront
- // API version/CloudFront/identity ID/config resource.
- type OriginAccessIdentityConfig struct {
- _ struct{} `type:"structure"`
- // A unique number that ensures the request can't be replayed.
- //
- // If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig
- // object), a new origin access identity is created.
- //
- // If the CallerReference is a value already sent in a previous identity request,
- // and the content of the CloudFrontOriginAccessIdentityConfig is identical
- // to the original request (ignoring white space), the response includes the
- // same information returned to the original request.
- //
- // If the CallerReference is a value you already sent in a previous request
- // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig
- // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists
- // error.
- //
- // CallerReference is a required field
- CallerReference *string `type:"string" required:"true"`
- // Any comments you want to include about the origin access identity.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s OriginAccessIdentityConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginAccessIdentityConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *OriginAccessIdentityConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"}
- if s.CallerReference == nil {
- invalidParams.Add(request.NewErrParamRequired("CallerReference"))
- }
- if s.Comment == nil {
- invalidParams.Add(request.NewErrParamRequired("Comment"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Lists the origin access identities for CloudFront.Send a GET request to the
- // /CloudFront API version/origin-access-identity/cloudfront resource. The response
- // includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary
- // child elements. By default, your entire list of origin access identities
- // is returned in one single page. If the list is long, you can paginate it
- // using the MaxItems and Marker parameters.
- type OriginAccessIdentityList struct {
- _ struct{} `type:"structure"`
- // A flag that indicates whether more origin access identities remain to be
- // listed. If your results were truncated, you can make a follow-up pagination
- // request using the Marker request parameter to retrieve more items in the
- // list.
- //
- // IsTruncated is a required field
- IsTruncated *bool `type:"boolean" required:"true"`
- // A complex type that contains one CloudFrontOriginAccessIdentitySummary element
- // for each origin access identity that was created by the current AWS account.
- Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"`
- // Use this when paginating results to indicate where to begin in your list
- // of origin access identities. The results include identities in the list that
- // occur after the marker. To get the next page of results, set the Marker to
- // the value of the NextMarker from the current page's response (which is also
- // the ID of the last identity on that page).
- //
- // Marker is a required field
- Marker *string `type:"string" required:"true"`
- // The maximum number of origin access identities you want in the response body.
- //
- // MaxItems is a required field
- MaxItems *int64 `type:"integer" required:"true"`
- // If IsTruncated is true, this element is present and contains the value you
- // can use for the Marker request parameter to continue listing your origin
- // access identities where they left off.
- NextMarker *string `type:"string"`
- // The number of CloudFront origin access identities that were created by the
- // current AWS account.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s OriginAccessIdentityList) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginAccessIdentityList) GoString() string {
- return s.String()
- }
- // Summary of the information about a CloudFront origin access identity.
- type OriginAccessIdentitySummary struct {
- _ struct{} `type:"structure"`
- // The comment for this origin access identity, as originally specified when
- // created.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- // The ID for the origin access identity. For example: E74FTE3AJFJ256A.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The Amazon S3 canonical user ID for the origin access identity, which you
- // use when giving the origin access identity read permission to an object in
- // Amazon S3.
- //
- // S3CanonicalUserId is a required field
- S3CanonicalUserId *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s OriginAccessIdentitySummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginAccessIdentitySummary) GoString() string {
- return s.String()
- }
- // A complex type that contains HeaderName and HeaderValue elements, if any,
- // for this distribution.
- type OriginCustomHeader struct {
- _ struct{} `type:"structure"`
- // The name of a header that you want CloudFront to forward to your origin.
- // For more information, see Forwarding Custom Headers to Your Origin (Web Distributions
- // Only) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // HeaderName is a required field
- HeaderName *string `type:"string" required:"true"`
- // The value for the header that you specified in the HeaderName field.
- //
- // HeaderValue is a required field
- HeaderValue *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s OriginCustomHeader) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginCustomHeader) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *OriginCustomHeader) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"}
- if s.HeaderName == nil {
- invalidParams.Add(request.NewErrParamRequired("HeaderName"))
- }
- if s.HeaderValue == nil {
- invalidParams.Add(request.NewErrParamRequired("HeaderValue"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains information about the SSL/TLS protocols that
- // CloudFront can use when establishing an HTTPS connection with your origin.
- type OriginSslProtocols struct {
- _ struct{} `type:"structure"`
- // A list that contains allowed SSL/TLS protocols for this distribution.
- //
- // Items is a required field
- Items []*string `locationNameList:"SslProtocol" type:"list" required:"true"`
- // The number of SSL/TLS protocols that you want to allow CloudFront to use
- // when establishing an HTTPS connection with this origin.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s OriginSslProtocols) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OriginSslProtocols) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *OriginSslProtocols) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "OriginSslProtocols"}
- if s.Items == nil {
- invalidParams.Add(request.NewErrParamRequired("Items"))
- }
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains information about origins for this distribution.
- type Origins struct {
- _ struct{} `type:"structure"`
- // A complex type that contains origins for this distribution.
- Items []*Origin `locationNameList:"Origin" min:"1" type:"list"`
- // The number of origins for this distribution.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Origins) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Origins) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Origins) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Origins"}
- if s.Items != nil && len(s.Items) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Items", 1))
- }
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if s.Items != nil {
- for i, v := range s.Items {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains information about the objects that you want
- // to invalidate. For more information, see Specifying the Objects to Invalidate
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects)
- // in the Amazon CloudFront Developer Guide.
- type Paths struct {
- _ struct{} `type:"structure"`
- // A complex type that contains a list of the paths that you want to invalidate.
- Items []*string `locationNameList:"Path" type:"list"`
- // The number of objects that you want to invalidate.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Paths) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Paths) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Paths) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Paths"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type QueryStringCacheKeys struct {
- _ struct{} `type:"structure"`
- // (Optional) A list that contains the query string parameters that you want
- // CloudFront to use as a basis for caching for this cache behavior. If Quantity
- // is 0, you can omit Items.
- Items []*string `locationNameList:"Name" type:"list"`
- // The number of whitelisted query string parameters for this cache behavior.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s QueryStringCacheKeys) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s QueryStringCacheKeys) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *QueryStringCacheKeys) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "QueryStringCacheKeys"}
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that identifies ways in which you want to restrict distribution
- // of your content.
- type Restrictions struct {
- _ struct{} `type:"structure"`
- // A complex type that controls the countries in which your content is distributed.
- // CloudFront determines the location of your users using MaxMind GeoIP databases.
- //
- // GeoRestriction is a required field
- GeoRestriction *GeoRestriction `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s Restrictions) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Restrictions) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Restrictions) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Restrictions"}
- if s.GeoRestriction == nil {
- invalidParams.Add(request.NewErrParamRequired("GeoRestriction"))
- }
- if s.GeoRestriction != nil {
- if err := s.GeoRestriction.Validate(); err != nil {
- invalidParams.AddNested("GeoRestriction", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains information about the Amazon S3 bucket from
- // which you want CloudFront to get your media files for distribution.
- type S3Origin struct {
- _ struct{} `type:"structure"`
- // The DNS name of the Amazon S3 origin.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // The CloudFront origin access identity to associate with the RTMP distribution.
- // Use an origin access identity to configure the distribution so that end users
- // can only access objects in an Amazon S3 bucket through CloudFront.
- //
- // If you want end users to be able to access objects using either the CloudFront
- // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.
- //
- // To delete the origin access identity from an existing distribution, update
- // the distribution configuration and include an empty OriginAccessIdentity
- // element.
- //
- // To replace the origin access identity, update the distribution configuration
- // and specify the new origin access identity.
- //
- // For more information, see Using an Origin Access Identity to Restrict Access
- // to Your Amazon S3 Content (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // OriginAccessIdentity is a required field
- OriginAccessIdentity *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s S3Origin) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s S3Origin) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *S3Origin) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "S3Origin"}
- if s.DomainName == nil {
- invalidParams.Add(request.NewErrParamRequired("DomainName"))
- }
- if s.OriginAccessIdentity == nil {
- invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains information about the Amazon S3 origin. If the
- // origin is a custom origin, use the CustomOriginConfig element instead.
- type S3OriginConfig struct {
- _ struct{} `type:"structure"`
- // The CloudFront origin access identity to associate with the origin. Use an
- // origin access identity to configure the origin so that viewers can only access
- // objects in an Amazon S3 bucket through CloudFront. The format of the value
- // is:
- //
- // origin-access-identity/CloudFront/ID-of-origin-access-identity
- //
- // where ID-of-origin-access-identity is the value that CloudFront returned
- // in the ID element when you created the origin access identity.
- //
- // If you want viewers to be able to access objects using either the CloudFront
- // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.
- //
- // To delete the origin access identity from an existing distribution, update
- // the distribution configuration and include an empty OriginAccessIdentity
- // element.
- //
- // To replace the origin access identity, update the distribution configuration
- // and specify the new origin access identity.
- //
- // For more information about the origin access identity, see Serving Private
- // Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // OriginAccessIdentity is a required field
- OriginAccessIdentity *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s S3OriginConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s S3OriginConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *S3OriginConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "S3OriginConfig"}
- if s.OriginAccessIdentity == nil {
- invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that lists the AWS accounts that were included in the TrustedSigners
- // complex type, as well as their active CloudFront key pair IDs, if any.
- type Signer struct {
- _ struct{} `type:"structure"`
- // An AWS account that is included in the TrustedSigners complex type for this
- // RTMP distribution. Valid values include:
- //
- // * self, which is the AWS account used to create the distribution.
- //
- // * An AWS account number.
- AwsAccountNumber *string `type:"string"`
- // A complex type that lists the active CloudFront key pairs, if any, that are
- // associated with AwsAccountNumber.
- KeyPairIds *KeyPairIds `type:"structure"`
- }
- // String returns the string representation
- func (s Signer) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Signer) GoString() string {
- return s.String()
- }
- // A streaming distribution.
- type StreamingDistribution struct {
- _ struct{} `type:"structure"`
- // ARN is a required field
- ARN *string `type:"string" required:"true"`
- // A complex type that lists the AWS accounts, if any, that you included in
- // the TrustedSigners complex type for this distribution. These are the accounts
- // that you want to allow to create signed URLs for private content.
- //
- // The Signer complex type lists the AWS account number of the trusted signer
- // or self if the signer is the AWS account that created the distribution. The
- // Signer element also includes the IDs of any active CloudFront key pairs that
- // are associated with the trusted signer's AWS account. If no KeyPairId element
- // appears for a Signer, that signer can't create signed URLs.
- //
- // For more information, see Serving Private Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // ActiveTrustedSigners is a required field
- ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"`
- // The domain name that corresponds to the streaming distribution. For example:
- // s5c39gqb8ow64r.cloudfront.net.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The date and time that the distribution was last modified.
- LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
- // The current status of the RTMP distribution. When the status is Deployed,
- // the distribution's information is propagated to all CloudFront edge locations.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- // The current configuration information for the RTMP distribution.
- //
- // StreamingDistributionConfig is a required field
- StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s StreamingDistribution) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingDistribution) GoString() string {
- return s.String()
- }
- // The RTMP distribution's configuration information.
- type StreamingDistributionConfig struct {
- _ struct{} `type:"structure"`
- // A complex type that contains information about CNAMEs (alternate domain names),
- // if any, for this streaming distribution.
- Aliases *Aliases `type:"structure"`
- // A unique number that ensures that the request can't be replayed. If the CallerReference
- // is new (no matter the content of the StreamingDistributionConfig object),
- // a new streaming distribution is created. If the CallerReference is a value
- // that you already sent in a previous request to create a streaming distribution,
- // and the content of the StreamingDistributionConfig is identical to the original
- // request (ignoring white space), the response includes the same information
- // returned to the original request. If the CallerReference is a value that
- // you already sent in a previous request to create a streaming distribution
- // but the content of the StreamingDistributionConfig is different from the
- // original request, CloudFront returns a DistributionAlreadyExists error.
- //
- // CallerReference is a required field
- CallerReference *string `type:"string" required:"true"`
- // Any comments you want to include about the streaming distribution.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- // Whether the streaming distribution is enabled to accept user requests for
- // content.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // A complex type that controls whether access logs are written for the streaming
- // distribution.
- Logging *StreamingLoggingConfig `type:"structure"`
- // A complex type that contains information about price class for this streaming
- // distribution.
- PriceClass *string `type:"string" enum:"PriceClass"`
- // A complex type that contains information about the Amazon S3 bucket from
- // which you want CloudFront to get your media files for distribution.
- //
- // S3Origin is a required field
- S3Origin *S3Origin `type:"structure" required:"true"`
- // A complex type that specifies any AWS accounts that you want to permit to
- // create signed URLs for private content. If you want the distribution to use
- // signed URLs, include this element; if you want the distribution to use public
- // URLs, remove this element. For more information, see Serving Private Content
- // through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon CloudFront Developer Guide.
- //
- // TrustedSigners is a required field
- TrustedSigners *TrustedSigners `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s StreamingDistributionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingDistributionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StreamingDistributionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfig"}
- if s.CallerReference == nil {
- invalidParams.Add(request.NewErrParamRequired("CallerReference"))
- }
- if s.Comment == nil {
- invalidParams.Add(request.NewErrParamRequired("Comment"))
- }
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if s.S3Origin == nil {
- invalidParams.Add(request.NewErrParamRequired("S3Origin"))
- }
- if s.TrustedSigners == nil {
- invalidParams.Add(request.NewErrParamRequired("TrustedSigners"))
- }
- if s.Aliases != nil {
- if err := s.Aliases.Validate(); err != nil {
- invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams))
- }
- }
- if s.Logging != nil {
- if err := s.Logging.Validate(); err != nil {
- invalidParams.AddNested("Logging", err.(request.ErrInvalidParams))
- }
- }
- if s.S3Origin != nil {
- if err := s.S3Origin.Validate(); err != nil {
- invalidParams.AddNested("S3Origin", err.(request.ErrInvalidParams))
- }
- }
- if s.TrustedSigners != nil {
- if err := s.TrustedSigners.Validate(); err != nil {
- invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A streaming distribution Configuration and a list of tags to be associated
- // with the streaming distribution.
- type StreamingDistributionConfigWithTags struct {
- _ struct{} `type:"structure"`
- // A streaming distribution Configuration.
- //
- // StreamingDistributionConfig is a required field
- StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"`
- // A complex type that contains zero or more Tag elements.
- //
- // Tags is a required field
- Tags *Tags `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s StreamingDistributionConfigWithTags) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingDistributionConfigWithTags) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StreamingDistributionConfigWithTags) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfigWithTags"}
- if s.StreamingDistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.StreamingDistributionConfig != nil {
- if err := s.StreamingDistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.Tags != nil {
- if err := s.Tags.Validate(); err != nil {
- invalidParams.AddNested("Tags", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A streaming distribution list.
- type StreamingDistributionList struct {
- _ struct{} `type:"structure"`
- // A flag that indicates whether more streaming distributions remain to be listed.
- // If your results were truncated, you can make a follow-up pagination request
- // using the Marker request parameter to retrieve more distributions in the
- // list.
- //
- // IsTruncated is a required field
- IsTruncated *bool `type:"boolean" required:"true"`
- // A complex type that contains one StreamingDistributionSummary element for
- // each distribution that was created by the current AWS account.
- Items []*StreamingDistributionSummary `locationNameList:"StreamingDistributionSummary" type:"list"`
- // The value you provided for the Marker request parameter.
- //
- // Marker is a required field
- Marker *string `type:"string" required:"true"`
- // The value you provided for the MaxItems request parameter.
- //
- // MaxItems is a required field
- MaxItems *int64 `type:"integer" required:"true"`
- // If IsTruncated is true, this element is present and contains the value you
- // can use for the Marker request parameter to continue listing your RTMP distributions
- // where they left off.
- NextMarker *string `type:"string"`
- // The number of streaming distributions that were created by the current AWS
- // account.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s StreamingDistributionList) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingDistributionList) GoString() string {
- return s.String()
- }
- // A summary of the information for an Amazon CloudFront streaming distribution.
- type StreamingDistributionSummary struct {
- _ struct{} `type:"structure"`
- // The ARN (Amazon Resource Name) for the streaming distribution. For example:
- // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5,
- // where 123456789012 is your AWS account ID.
- //
- // ARN is a required field
- ARN *string `type:"string" required:"true"`
- // A complex type that contains information about CNAMEs (alternate domain names),
- // if any, for this streaming distribution.
- //
- // Aliases is a required field
- Aliases *Aliases `type:"structure" required:"true"`
- // The comment originally specified when this distribution was created.
- //
- // Comment is a required field
- Comment *string `type:"string" required:"true"`
- // The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
- //
- // DomainName is a required field
- DomainName *string `type:"string" required:"true"`
- // Whether the distribution is enabled to accept end user requests for content.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // The identifier for the distribution. For example: EDFDVBD632BHDS5.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The date and time the distribution was last modified.
- //
- // LastModifiedTime is a required field
- LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
- // PriceClass is a required field
- PriceClass *string `type:"string" required:"true" enum:"PriceClass"`
- // A complex type that contains information about the Amazon S3 bucket from
- // which you want CloudFront to get your media files for distribution.
- //
- // S3Origin is a required field
- S3Origin *S3Origin `type:"structure" required:"true"`
- // Indicates the current status of the distribution. When the status is Deployed,
- // the distribution's information is fully propagated throughout the Amazon
- // CloudFront system.
- //
- // Status is a required field
- Status *string `type:"string" required:"true"`
- // A complex type that specifies the AWS accounts, if any, that you want to
- // allow to create signed URLs for private content. If you want to require signed
- // URLs in requests for objects in the target origin that match the PathPattern
- // for this cache behavior, specify true for Enabled, and specify the applicable
- // values for Quantity and Items.If you don't want to require signed URLs in
- // requests for objects that match PathPattern, specify false for Enabled and
- // 0 for Quantity. Omit Items. To add, change, or remove one or more trusted
- // signers, change Enabled to true (if it's currently false), change Quantity
- // as applicable, and specify all of the trusted signers that you want to include
- // in the updated distribution.
- //
- // TrustedSigners is a required field
- TrustedSigners *TrustedSigners `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s StreamingDistributionSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingDistributionSummary) GoString() string {
- return s.String()
- }
- // A complex type that controls whether access logs are written for this streaming
- // distribution.
- type StreamingLoggingConfig struct {
- _ struct{} `type:"structure"`
- // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.
- //
- // Bucket is a required field
- Bucket *string `type:"string" required:"true"`
- // Specifies whether you want CloudFront to save access logs to an Amazon S3
- // bucket. If you do not want to enable logging when you create a streaming
- // distribution or if you want to disable logging for an existing streaming
- // distribution, specify false for Enabled, and specify empty Bucket and Prefix
- // elements. If you specify false for Enabled but you specify values for Bucket
- // and Prefix, the values are automatically deleted.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // An optional string that you want CloudFront to prefix to the access log filenames
- // for this streaming distribution, for example, myprefix/. If you want to enable
- // logging, but you do not want to specify a prefix, you still must include
- // an empty Prefix element in the Logging element.
- //
- // Prefix is a required field
- Prefix *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s StreamingLoggingConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamingLoggingConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StreamingLoggingConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StreamingLoggingConfig"}
- if s.Bucket == nil {
- invalidParams.Add(request.NewErrParamRequired("Bucket"))
- }
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if s.Prefix == nil {
- invalidParams.Add(request.NewErrParamRequired("Prefix"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains Tag key and Tag value.
- type Tag struct {
- _ struct{} `type:"structure"`
- // A string that contains Tag key.
- //
- // The string length should be between 1 and 128 characters. Valid characters
- // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
- // A string that contains an optional Tag value.
- //
- // The string length should be between 0 and 256 characters. Valid characters
- // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.
- Value *string `type:"string"`
- }
- // String returns the string representation
- func (s Tag) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tag) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that contains zero or more Tag elements.
- type TagKeys struct {
- _ struct{} `type:"structure"`
- // A complex type that contains Tag key elements.
- Items []*string `locationNameList:"Key" type:"list"`
- }
- // String returns the string representation
- func (s TagKeys) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagKeys) GoString() string {
- return s.String()
- }
- // The request to add tags to a CloudFront resource.
- type TagResourceInput struct {
- _ struct{} `type:"structure" payload:"Tags"`
- // An ARN of a CloudFront resource.
- //
- // Resource is a required field
- Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"`
- // A complex type that contains zero or more Tag elements.
- //
- // Tags is a required field
- Tags *Tags `locationName:"Tags" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s TagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
- if s.Resource == nil {
- invalidParams.Add(request.NewErrParamRequired("Resource"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- if err := s.Tags.Validate(); err != nil {
- invalidParams.AddNested("Tags", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type TagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceOutput) GoString() string {
- return s.String()
- }
- // A complex type that contains zero or more Tag elements.
- type Tags struct {
- _ struct{} `type:"structure"`
- // A complex type that contains Tag elements.
- Items []*Tag `locationNameList:"Tag" type:"list"`
- }
- // String returns the string representation
- func (s Tags) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tags) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tags) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tags"}
- if s.Items != nil {
- for i, v := range s.Items {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // A complex type that specifies the AWS accounts, if any, that you want to
- // allow to create signed URLs for private content.
- //
- // If you want to require signed URLs in requests for objects in the target
- // origin that match the PathPattern for this cache behavior, specify true for
- // Enabled, and specify the applicable values for Quantity and Items. For more
- // information, see Serving Private Content through CloudFront (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- //
- // If you don't want to require signed URLs in requests for objects that match
- // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.
- //
- // To add, change, or remove one or more trusted signers, change Enabled to
- // true (if it's currently false), change Quantity as applicable, and specify
- // all of the trusted signers that you want to include in the updated distribution.
- //
- // For more information about updating the distribution configuration, see DistributionConfig
- // .
- type TrustedSigners struct {
- _ struct{} `type:"structure"`
- // Specifies whether you want to require viewers to use signed URLs to access
- // the files specified by PathPattern and TargetOriginId.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- // Optional: A complex type that contains trusted signers for this cache behavior.
- // If Quantity is 0, you can omit Items.
- Items []*string `locationNameList:"AwsAccountNumber" type:"list"`
- // The number of trusted signers for this cache behavior.
- //
- // Quantity is a required field
- Quantity *int64 `type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s TrustedSigners) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TrustedSigners) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TrustedSigners) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TrustedSigners"}
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if s.Quantity == nil {
- invalidParams.Add(request.NewErrParamRequired("Quantity"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The request to remove tags from a CloudFront resource.
- type UntagResourceInput struct {
- _ struct{} `type:"structure" payload:"TagKeys"`
- // An ARN of a CloudFront resource.
- //
- // Resource is a required field
- Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"`
- // A complex type that contains zero or more Tag key elements.
- //
- // TagKeys is a required field
- TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s UntagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UntagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
- if s.Resource == nil {
- invalidParams.Add(request.NewErrParamRequired("Resource"))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type UntagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceOutput) GoString() string {
- return s.String()
- }
- // The request to update an origin access identity.
- type UpdateCloudFrontOriginAccessIdentityInput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"`
- // The identity's configuration information.
- //
- // CloudFrontOriginAccessIdentityConfig is a required field
- CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true"`
- // The identity's id.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header that you received when retrieving the identity's
- // configuration. For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- }
- // String returns the string representation
- func (s UpdateCloudFrontOriginAccessIdentityInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateCloudFrontOriginAccessIdentityInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateCloudFrontOriginAccessIdentityInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateCloudFrontOriginAccessIdentityInput"}
- if s.CloudFrontOriginAccessIdentityConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig"))
- }
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.CloudFrontOriginAccessIdentityConfig != nil {
- if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil {
- invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type UpdateCloudFrontOriginAccessIdentityOutput struct {
- _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"`
- // The origin access identity's information.
- CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s UpdateCloudFrontOriginAccessIdentityOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateCloudFrontOriginAccessIdentityOutput) GoString() string {
- return s.String()
- }
- // The request to update a distribution.
- type UpdateDistributionInput struct {
- _ struct{} `type:"structure" payload:"DistributionConfig"`
- // The distribution's configuration information.
- //
- // DistributionConfig is a required field
- DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true"`
- // The distribution's id.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header that you received when retrieving the distribution's
- // configuration. For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- }
- // String returns the string representation
- func (s UpdateDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
- if s.DistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("DistributionConfig"))
- }
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.DistributionConfig != nil {
- if err := s.DistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type UpdateDistributionOutput struct {
- _ struct{} `type:"structure" payload:"Distribution"`
- // The distribution's information.
- Distribution *Distribution `type:"structure"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- }
- // String returns the string representation
- func (s UpdateDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateDistributionOutput) GoString() string {
- return s.String()
- }
- // The request to update a streaming distribution.
- type UpdateStreamingDistributionInput struct {
- _ struct{} `type:"structure" payload:"StreamingDistributionConfig"`
- // The streaming distribution's id.
- //
- // Id is a required field
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The value of the ETag header that you received when retrieving the streaming
- // distribution's configuration. For example: E2QWRUHAPOMQZL.
- IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- // The streaming distribution's configuration information.
- //
- // StreamingDistributionConfig is a required field
- StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s UpdateStreamingDistributionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateStreamingDistributionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateStreamingDistributionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateStreamingDistributionInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.StreamingDistributionConfig == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig"))
- }
- if s.StreamingDistributionConfig != nil {
- if err := s.StreamingDistributionConfig.Validate(); err != nil {
- invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The returned result of the corresponding request.
- type UpdateStreamingDistributionOutput struct {
- _ struct{} `type:"structure" payload:"StreamingDistribution"`
- // The current version of the configuration. For example: E2QWRUHAPOMQZL.
- ETag *string `location:"header" locationName:"ETag" type:"string"`
- // The streaming distribution's information.
- StreamingDistribution *StreamingDistribution `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateStreamingDistributionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateStreamingDistributionOutput) GoString() string {
- return s.String()
- }
- // A complex type that specifies the following:
- //
- // * Which SSL/TLS certificate to use when viewers request objects using
- // HTTPS
- //
- // * Whether you want CloudFront to use dedicated IP addresses or SNI when
- // you're using alternate domain names in your object names
- //
- // * The minimum protocol version that you want CloudFront to use when communicating
- // with viewers
- //
- // For more information, see Using an HTTPS Connection to Access Your Objects
- // (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html)
- // in the Amazon Amazon CloudFront Developer Guide.
- type ViewerCertificate struct {
- _ struct{} `type:"structure"`
- // If you want viewers to use HTTPS to request your objects and you're using
- // an alternate domain name in your object URLs (for example, https://example.com/logo.jpg),
- // specify the ACM certificate ARN of the custom viewer certificate for this
- // distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate.
- ACMCertificateArn *string `type:"string"`
- // Include one of these values to specify the following:
- //
- // * Whether you want viewers to use HTTP or HTTPS to request your objects.
- //
- // * If you want viewers to use HTTPS, whether you're using an alternate
- // domain name such as example.com or the CloudFront domain name for your
- // distribution, such as d111111abcdef8.cloudfront.net.
- //
- // * If you're using an alternate domain name, whether AWS Certificate Manager
- // (ACM) provided the certificate, or you purchased a certificate from a
- // third-party certificate authority and imported it into ACM or uploaded
- // it to the IAM certificate store.
- //
- // You must specify one (and only one) of the three values. Do not specify false
- // for CloudFrontDefaultCertificate.
- //
- // If you want viewers to use HTTP to request your objects: Specify the following
- // value:
- //
- // <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>
- //
- // In addition, specify allow-all for ViewerProtocolPolicy for all of your cache
- // behaviors.
- //
- // If you want viewers to use HTTPS to request your objects: Choose the type
- // of certificate that you want to use based on whether you're using an alternate
- // domain name for your objects or the CloudFront domain name:
- //
- // * If you're using an alternate domain name, such as example.com: Specify
- // one of the following values, depending on whether ACM provided your certificate
- // or you purchased your certificate from third-party certificate authority:
- //
- // <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where
- // ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate
- // that you want to use for this distribution.
- //
- // <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate
- // ID is the ID that IAM returned when you added the certificate to the IAM
- // certificate store.
- //
- // If you specify ACMCertificateArn or IAMCertificateId, you must also specify
- // a value for SSLSupportMethod.
- //
- // If you choose to use an ACM certificate or a certificate in the IAM certificate
- // store, we recommend that you use only an alternate domain name in your
- // object URLs (https://example.com/logo.jpg). If you use the domain name
- // that is associated with your CloudFront distribution (https://d111111abcdef8.cloudfront.net/logo.jpg)
- // and the viewer supports SNI, then CloudFront behaves normally. However,
- // if the browser does not support SNI, the user's experience depends on
- // the value that you choose for SSLSupportMethod:
- //
- // vip: The viewer displays a warning because there is a mismatch between the
- // CloudFront domain name and the domain name in your SSL/TLS certificate.
- //
- // sni-only: CloudFront drops the connection with the browser without returning
- // the object.
- //
- // * If you're using the CloudFront domain name for your distribution, such
- // as d111111abcdef8.cloudfront.net: Specify the following value:
- //
- // <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>
- //
- // If you want viewers to use HTTPS, you must also specify one of the following
- // values in your cache behaviors:
- //
- // <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>
- //
- // <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>
- //
- // You can also optionally require that CloudFront use HTTPS to communicate
- // with your origin by specifying one of the following values for the applicable
- // origins:
- //
- // <OriginProtocolPolicy>https-only<OriginProtocolPolicy>
- //
- // <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>
- //
- // For more information, see Using Alternate Domain Names and HTTPS (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS)
- // in the Amazon CloudFront Developer Guide.
- Certificate *string `deprecated:"true" type:"string"`
- // This field is deprecated. You can use one of the following: [ACMCertificateArn,
- // IAMCertificateId, or CloudFrontDefaultCertificate].
- CertificateSource *string `deprecated:"true" type:"string" enum:"CertificateSource"`
- // If you want viewers to use HTTPS to request your objects and you're using
- // the CloudFront domain name of your distribution in your object URLs (for
- // example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit
- // this value if you are setting an ACMCertificateArn or IAMCertificateId.
- CloudFrontDefaultCertificate *bool `type:"boolean"`
- // If you want viewers to use HTTPS to request your objects and you're using
- // an alternate domain name in your object URLs (for example, https://example.com/logo.jpg),
- // specify the IAM certificate identifier of the custom viewer certificate for
- // this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate.
- IAMCertificateId *string `type:"string"`
- // Specify the minimum version of the SSL/TLS protocol that you want CloudFront
- // to use for HTTPS connections between viewers and CloudFront: SSLv3 or TLSv1.
- // CloudFront serves your objects only to viewers that support SSL/TLS version
- // that you specify and later versions. The TLSv1 protocol is more secure, so
- // we recommend that you specify SSLv3 only if your users are using browsers
- // or devices that don't support TLSv1. Note the following:
- //
- // * If you specify <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>,
- // the minimum SSL protocol version is TLSv1 and can't be changed.
- //
- // * If you're using a custom certificate (if you specify a value for ACMCertificateArn
- // or for IAMCertificateId) and if you're using SNI (if you specify sni-only
- // for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion.
- MinimumProtocolVersion *string `type:"string" enum:"MinimumProtocolVersion"`
- // If you specify a value for ACMCertificateArn or for IAMCertificateId, you
- // must also specify how you want CloudFront to serve HTTPS requests: using
- // a method that works for all clients or one that works for most clients:
- //
- // * vip: CloudFront uses dedicated IP addresses for your content and can
- // respond to HTTPS requests from any viewer. However, you must request permission
- // to use this feature, and you incur additional monthly charges.
- //
- // * sni-only: CloudFront can respond to HTTPS requests from viewers that
- // support Server Name Indication (SNI). All modern browsers support SNI,
- // but some browsers still in use don't support SNI. If some of your users'
- // browsers don't support SNI, we recommend that you do one of the following:
- //
- // Use the vip option (dedicated IP addresses) instead of sni-only.
- //
- // Use the CloudFront SSL/TLS certificate instead of a custom certificate. This
- // requires that you use the CloudFront domain name of your distribution
- // in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.
- //
- // If you can control which browser your users use, upgrade the browser to one
- // that supports SNI.
- //
- // Use HTTP instead of HTTPS.
- //
- // Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.
- //
- // For more information, see Using Alternate Domain Names and HTTPS (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS.html)
- // in the Amazon CloudFront Developer Guide.
- SSLSupportMethod *string `type:"string" enum:"SSLSupportMethod"`
- }
- // String returns the string representation
- func (s ViewerCertificate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ViewerCertificate) GoString() string {
- return s.String()
- }
- const (
- // CertificateSourceCloudfront is a CertificateSource enum value
- CertificateSourceCloudfront = "cloudfront"
- // CertificateSourceIam is a CertificateSource enum value
- CertificateSourceIam = "iam"
- // CertificateSourceAcm is a CertificateSource enum value
- CertificateSourceAcm = "acm"
- )
- const (
- // GeoRestrictionTypeBlacklist is a GeoRestrictionType enum value
- GeoRestrictionTypeBlacklist = "blacklist"
- // GeoRestrictionTypeWhitelist is a GeoRestrictionType enum value
- GeoRestrictionTypeWhitelist = "whitelist"
- // GeoRestrictionTypeNone is a GeoRestrictionType enum value
- GeoRestrictionTypeNone = "none"
- )
- const (
- // HttpVersionHttp11 is a HttpVersion enum value
- HttpVersionHttp11 = "http1.1"
- // HttpVersionHttp2 is a HttpVersion enum value
- HttpVersionHttp2 = "http2"
- )
- const (
- // ItemSelectionNone is a ItemSelection enum value
- ItemSelectionNone = "none"
- // ItemSelectionWhitelist is a ItemSelection enum value
- ItemSelectionWhitelist = "whitelist"
- // ItemSelectionAll is a ItemSelection enum value
- ItemSelectionAll = "all"
- )
- const (
- // MethodGet is a Method enum value
- MethodGet = "GET"
- // MethodHead is a Method enum value
- MethodHead = "HEAD"
- // MethodPost is a Method enum value
- MethodPost = "POST"
- // MethodPut is a Method enum value
- MethodPut = "PUT"
- // MethodPatch is a Method enum value
- MethodPatch = "PATCH"
- // MethodOptions is a Method enum value
- MethodOptions = "OPTIONS"
- // MethodDelete is a Method enum value
- MethodDelete = "DELETE"
- )
- const (
- // MinimumProtocolVersionSslv3 is a MinimumProtocolVersion enum value
- MinimumProtocolVersionSslv3 = "SSLv3"
- // MinimumProtocolVersionTlsv1 is a MinimumProtocolVersion enum value
- MinimumProtocolVersionTlsv1 = "TLSv1"
- )
- const (
- // OriginProtocolPolicyHttpOnly is a OriginProtocolPolicy enum value
- OriginProtocolPolicyHttpOnly = "http-only"
- // OriginProtocolPolicyMatchViewer is a OriginProtocolPolicy enum value
- OriginProtocolPolicyMatchViewer = "match-viewer"
- // OriginProtocolPolicyHttpsOnly is a OriginProtocolPolicy enum value
- OriginProtocolPolicyHttpsOnly = "https-only"
- )
- const (
- // PriceClassPriceClass100 is a PriceClass enum value
- PriceClassPriceClass100 = "PriceClass_100"
- // PriceClassPriceClass200 is a PriceClass enum value
- PriceClassPriceClass200 = "PriceClass_200"
- // PriceClassPriceClassAll is a PriceClass enum value
- PriceClassPriceClassAll = "PriceClass_All"
- )
- const (
- // SSLSupportMethodSniOnly is a SSLSupportMethod enum value
- SSLSupportMethodSniOnly = "sni-only"
- // SSLSupportMethodVip is a SSLSupportMethod enum value
- SSLSupportMethodVip = "vip"
- )
- const (
- // SslProtocolSslv3 is a SslProtocol enum value
- SslProtocolSslv3 = "SSLv3"
- // SslProtocolTlsv1 is a SslProtocol enum value
- SslProtocolTlsv1 = "TLSv1"
- // SslProtocolTlsv11 is a SslProtocol enum value
- SslProtocolTlsv11 = "TLSv1.1"
- // SslProtocolTlsv12 is a SslProtocol enum value
- SslProtocolTlsv12 = "TLSv1.2"
- )
- const (
- // ViewerProtocolPolicyAllowAll is a ViewerProtocolPolicy enum value
- ViewerProtocolPolicyAllowAll = "allow-all"
- // ViewerProtocolPolicyHttpsOnly is a ViewerProtocolPolicy enum value
- ViewerProtocolPolicyHttpsOnly = "https-only"
- // ViewerProtocolPolicyRedirectToHttps is a ViewerProtocolPolicy enum value
- ViewerProtocolPolicyRedirectToHttps = "redirect-to-https"
- )
|