api.go 293 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package elasticache provides a client for Amazon ElastiCache.
  3. package elasticache
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. "github.com/aws/aws-sdk-go/private/protocol"
  9. "github.com/aws/aws-sdk-go/private/protocol/query"
  10. )
  11. const opAddTagsToResource = "AddTagsToResource"
  12. // AddTagsToResourceRequest generates a "aws/request.Request" representing the
  13. // client's request for the AddTagsToResource operation. The "output" return
  14. // value can be used to capture response data after the request's "Send" method
  15. // is called.
  16. //
  17. // See AddTagsToResource for usage and error information.
  18. //
  19. // Creating a request object using this method should be used when you want to inject
  20. // custom logic into the request's lifecycle using a custom handler, or if you want to
  21. // access properties on the request object before or after sending the request. If
  22. // you just want the service response, call the AddTagsToResource method directly
  23. // instead.
  24. //
  25. // Note: You must call the "Send" method on the returned request object in order
  26. // to execute the request.
  27. //
  28. // // Example sending a request using the AddTagsToResourceRequest method.
  29. // req, resp := client.AddTagsToResourceRequest(params)
  30. //
  31. // err := req.Send()
  32. // if err == nil { // resp is now filled
  33. // fmt.Println(resp)
  34. // }
  35. //
  36. func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage) {
  37. op := &request.Operation{
  38. Name: opAddTagsToResource,
  39. HTTPMethod: "POST",
  40. HTTPPath: "/",
  41. }
  42. if input == nil {
  43. input = &AddTagsToResourceInput{}
  44. }
  45. req = c.newRequest(op, input, output)
  46. output = &TagListMessage{}
  47. req.Data = output
  48. return
  49. }
  50. // AddTagsToResource API operation for Amazon ElastiCache.
  51. //
  52. // Adds up to 10 cost allocation tags to the named resource. A cost allocation
  53. // tag is a key-value pair where the key and value are case-sensitive. You can
  54. // use cost allocation tags to categorize and track your AWS costs.
  55. //
  56. // When you apply tags to your ElastiCache resources, AWS generates a cost allocation
  57. // report as a comma-separated value (CSV) file with your usage and costs aggregated
  58. // by your tags. You can apply tags that represent business categories (such
  59. // as cost centers, application names, or owners) to organize your costs across
  60. // multiple services. For more information, see Using Cost Allocation Tags in
  61. // Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Tagging.html)
  62. // in the ElastiCache User Guide.
  63. //
  64. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  65. // with awserr.Error's Code and Message methods to get detailed information about
  66. // the error.
  67. //
  68. // See the AWS API reference guide for Amazon ElastiCache's
  69. // API operation AddTagsToResource for usage and error information.
  70. //
  71. // Returned Error Codes:
  72. // * CacheClusterNotFound
  73. // The requested cache cluster ID does not refer to an existing cache cluster.
  74. //
  75. // * SnapshotNotFoundFault
  76. // The requested snapshot name does not refer to an existing snapshot.
  77. //
  78. // * TagQuotaPerResourceExceeded
  79. // The request cannot be processed because it would cause the resource to have
  80. // more than the allowed number of tags. The maximum number of tags permitted
  81. // on a resource is 10.
  82. //
  83. // * InvalidARN
  84. // The requested Amazon Resource Name (ARN) does not refer to an existing resource.
  85. //
  86. func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) {
  87. req, out := c.AddTagsToResourceRequest(input)
  88. err := req.Send()
  89. return out, err
  90. }
  91. const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress"
  92. // AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  93. // client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return
  94. // value can be used to capture response data after the request's "Send" method
  95. // is called.
  96. //
  97. // See AuthorizeCacheSecurityGroupIngress for usage and error information.
  98. //
  99. // Creating a request object using this method should be used when you want to inject
  100. // custom logic into the request's lifecycle using a custom handler, or if you want to
  101. // access properties on the request object before or after sending the request. If
  102. // you just want the service response, call the AuthorizeCacheSecurityGroupIngress method directly
  103. // instead.
  104. //
  105. // Note: You must call the "Send" method on the returned request object in order
  106. // to execute the request.
  107. //
  108. // // Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method.
  109. // req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params)
  110. //
  111. // err := req.Send()
  112. // if err == nil { // resp is now filled
  113. // fmt.Println(resp)
  114. // }
  115. //
  116. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) {
  117. op := &request.Operation{
  118. Name: opAuthorizeCacheSecurityGroupIngress,
  119. HTTPMethod: "POST",
  120. HTTPPath: "/",
  121. }
  122. if input == nil {
  123. input = &AuthorizeCacheSecurityGroupIngressInput{}
  124. }
  125. req = c.newRequest(op, input, output)
  126. output = &AuthorizeCacheSecurityGroupIngressOutput{}
  127. req.Data = output
  128. return
  129. }
  130. // AuthorizeCacheSecurityGroupIngress API operation for Amazon ElastiCache.
  131. //
  132. // Allows network ingress to a cache security group. Applications using ElastiCache
  133. // must be running on Amazon EC2, and Amazon EC2 security groups are used as
  134. // the authorization mechanism.
  135. //
  136. // You cannot authorize ingress from an Amazon EC2 security group in one region
  137. // to an ElastiCache cluster in another region.
  138. //
  139. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  140. // with awserr.Error's Code and Message methods to get detailed information about
  141. // the error.
  142. //
  143. // See the AWS API reference guide for Amazon ElastiCache's
  144. // API operation AuthorizeCacheSecurityGroupIngress for usage and error information.
  145. //
  146. // Returned Error Codes:
  147. // * CacheSecurityGroupNotFound
  148. // The requested cache security group name does not refer to an existing cache
  149. // security group.
  150. //
  151. // * InvalidCacheSecurityGroupState
  152. // The current state of the cache security group does not allow deletion.
  153. //
  154. // * AuthorizationAlreadyExists
  155. // The specified Amazon EC2 security group is already authorized for the specified
  156. // cache security group.
  157. //
  158. // * InvalidParameterValue
  159. // The value for a parameter is invalid.
  160. //
  161. // * InvalidParameterCombination
  162. // Two or more incompatible parameters were specified.
  163. //
  164. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) {
  165. req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input)
  166. err := req.Send()
  167. return out, err
  168. }
  169. const opCopySnapshot = "CopySnapshot"
  170. // CopySnapshotRequest generates a "aws/request.Request" representing the
  171. // client's request for the CopySnapshot operation. The "output" return
  172. // value can be used to capture response data after the request's "Send" method
  173. // is called.
  174. //
  175. // See CopySnapshot for usage and error information.
  176. //
  177. // Creating a request object using this method should be used when you want to inject
  178. // custom logic into the request's lifecycle using a custom handler, or if you want to
  179. // access properties on the request object before or after sending the request. If
  180. // you just want the service response, call the CopySnapshot method directly
  181. // instead.
  182. //
  183. // Note: You must call the "Send" method on the returned request object in order
  184. // to execute the request.
  185. //
  186. // // Example sending a request using the CopySnapshotRequest method.
  187. // req, resp := client.CopySnapshotRequest(params)
  188. //
  189. // err := req.Send()
  190. // if err == nil { // resp is now filled
  191. // fmt.Println(resp)
  192. // }
  193. //
  194. func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  195. op := &request.Operation{
  196. Name: opCopySnapshot,
  197. HTTPMethod: "POST",
  198. HTTPPath: "/",
  199. }
  200. if input == nil {
  201. input = &CopySnapshotInput{}
  202. }
  203. req = c.newRequest(op, input, output)
  204. output = &CopySnapshotOutput{}
  205. req.Data = output
  206. return
  207. }
  208. // CopySnapshot API operation for Amazon ElastiCache.
  209. //
  210. // Makes a copy of an existing snapshot.
  211. //
  212. // This operation is valid for Redis only.
  213. //
  214. // Users or groups that have permissions to use the CopySnapshot operation can
  215. // create their own Amazon S3 buckets and copy snapshots to it. To control access
  216. // to your snapshots, use an IAM policy to control who has the ability to use
  217. // the CopySnapshot operation. For more information about using IAM to control
  218. // the use of ElastiCache operations, see Exporting Snapshots (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html)
  219. // and Authentication & Access Control (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/IAM.html).
  220. //
  221. // You could receive the following error messages.
  222. //
  223. // Error Messages
  224. //
  225. // * Error Message: The S3 bucket %s is outside of the region.
  226. //
  227. // Solution: Create an Amazon S3 bucket in the same region as your snapshot.
  228. // For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket)
  229. // in the ElastiCache User Guide.
  230. //
  231. // * Error Message: The S3 bucket %s does not exist.
  232. //
  233. // Solution: Create an Amazon S3 bucket in the same region as your snapshot.
  234. // For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket)
  235. // in the ElastiCache User Guide.
  236. //
  237. // * Error Message: The S3 bucket %s is not owned by the authenticated user.
  238. //
  239. // Solution: Create an Amazon S3 bucket in the same region as your snapshot.
  240. // For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket)
  241. // in the ElastiCache User Guide.
  242. //
  243. // * Error Message: The authenticated user does not have sufficient permissions
  244. // to perform the desired activity.
  245. //
  246. // Solution: Contact your system administrator to get the needed permissions.
  247. //
  248. // * Error Message: The S3 bucket %s already contains an object with key
  249. // %s.
  250. //
  251. // Solution: Give the TargetSnapshotName a new and unique value. If exporting
  252. // a snapshot, you could alternatively create a new Amazon S3 bucket and
  253. // use this same value for TargetSnapshotName.
  254. //
  255. // * Error Message: ElastiCache has not been granted READ permissions %s
  256. // on the S3 Bucket.
  257. //
  258. // Solution: Add List and Read permissions on the bucket. For more information,
  259. // see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess)
  260. // in the ElastiCache User Guide.
  261. //
  262. // * Error Message: ElastiCache has not been granted WRITE permissions %s
  263. // on the S3 Bucket.
  264. //
  265. // Solution: Add Upload/Delete permissions on the bucket. For more information,
  266. // see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess)
  267. // in the ElastiCache User Guide.
  268. //
  269. // * Error Message: ElastiCache has not been granted READ_ACP permissions
  270. // %s on the S3 Bucket.
  271. //
  272. // Solution: Add View Permissions on the bucket. For more information, see Step
  273. // 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess)
  274. // in the ElastiCache User Guide.
  275. //
  276. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  277. // with awserr.Error's Code and Message methods to get detailed information about
  278. // the error.
  279. //
  280. // See the AWS API reference guide for Amazon ElastiCache's
  281. // API operation CopySnapshot for usage and error information.
  282. //
  283. // Returned Error Codes:
  284. // * SnapshotAlreadyExistsFault
  285. // You already have a snapshot with the given name.
  286. //
  287. // * SnapshotNotFoundFault
  288. // The requested snapshot name does not refer to an existing snapshot.
  289. //
  290. // * SnapshotQuotaExceededFault
  291. // The request cannot be processed because it would exceed the maximum number
  292. // of snapshots.
  293. //
  294. // * InvalidSnapshotState
  295. // The current state of the snapshot does not allow the requested operation
  296. // to occur.
  297. //
  298. // * InvalidParameterValue
  299. // The value for a parameter is invalid.
  300. //
  301. // * InvalidParameterCombination
  302. // Two or more incompatible parameters were specified.
  303. //
  304. func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  305. req, out := c.CopySnapshotRequest(input)
  306. err := req.Send()
  307. return out, err
  308. }
  309. const opCreateCacheCluster = "CreateCacheCluster"
  310. // CreateCacheClusterRequest generates a "aws/request.Request" representing the
  311. // client's request for the CreateCacheCluster operation. The "output" return
  312. // value can be used to capture response data after the request's "Send" method
  313. // is called.
  314. //
  315. // See CreateCacheCluster for usage and error information.
  316. //
  317. // Creating a request object using this method should be used when you want to inject
  318. // custom logic into the request's lifecycle using a custom handler, or if you want to
  319. // access properties on the request object before or after sending the request. If
  320. // you just want the service response, call the CreateCacheCluster method directly
  321. // instead.
  322. //
  323. // Note: You must call the "Send" method on the returned request object in order
  324. // to execute the request.
  325. //
  326. // // Example sending a request using the CreateCacheClusterRequest method.
  327. // req, resp := client.CreateCacheClusterRequest(params)
  328. //
  329. // err := req.Send()
  330. // if err == nil { // resp is now filled
  331. // fmt.Println(resp)
  332. // }
  333. //
  334. func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) {
  335. op := &request.Operation{
  336. Name: opCreateCacheCluster,
  337. HTTPMethod: "POST",
  338. HTTPPath: "/",
  339. }
  340. if input == nil {
  341. input = &CreateCacheClusterInput{}
  342. }
  343. req = c.newRequest(op, input, output)
  344. output = &CreateCacheClusterOutput{}
  345. req.Data = output
  346. return
  347. }
  348. // CreateCacheCluster API operation for Amazon ElastiCache.
  349. //
  350. // Creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant
  351. // cache engine software, either Memcached or Redis.
  352. //
  353. // Due to current limitations on Redis (cluster mode disabled), this operation
  354. // or parameter is not supported on Redis (cluster mode enabled) replication
  355. // groups.
  356. //
  357. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  358. // with awserr.Error's Code and Message methods to get detailed information about
  359. // the error.
  360. //
  361. // See the AWS API reference guide for Amazon ElastiCache's
  362. // API operation CreateCacheCluster for usage and error information.
  363. //
  364. // Returned Error Codes:
  365. // * ReplicationGroupNotFoundFault
  366. // The specified replication group does not exist.
  367. //
  368. // * InvalidReplicationGroupState
  369. // The requested replication group is not in the available state.
  370. //
  371. // * CacheClusterAlreadyExists
  372. // You already have a cache cluster with the given identifier.
  373. //
  374. // * InsufficientCacheClusterCapacity
  375. // The requested cache node type is not available in the specified Availability
  376. // Zone.
  377. //
  378. // * CacheSecurityGroupNotFound
  379. // The requested cache security group name does not refer to an existing cache
  380. // security group.
  381. //
  382. // * CacheSubnetGroupNotFoundFault
  383. // The requested cache subnet group name does not refer to an existing cache
  384. // subnet group.
  385. //
  386. // * ClusterQuotaForCustomerExceeded
  387. // The request cannot be processed because it would exceed the allowed number
  388. // of cache clusters per customer.
  389. //
  390. // * NodeQuotaForClusterExceeded
  391. // The request cannot be processed because it would exceed the allowed number
  392. // of cache nodes in a single cache cluster.
  393. //
  394. // * NodeQuotaForCustomerExceeded
  395. // The request cannot be processed because it would exceed the allowed number
  396. // of cache nodes per customer.
  397. //
  398. // * CacheParameterGroupNotFound
  399. // The requested cache parameter group name does not refer to an existing cache
  400. // parameter group.
  401. //
  402. // * InvalidVPCNetworkStateFault
  403. // The VPC network is in an invalid state.
  404. //
  405. // * TagQuotaPerResourceExceeded
  406. // The request cannot be processed because it would cause the resource to have
  407. // more than the allowed number of tags. The maximum number of tags permitted
  408. // on a resource is 10.
  409. //
  410. // * InvalidParameterValue
  411. // The value for a parameter is invalid.
  412. //
  413. // * InvalidParameterCombination
  414. // Two or more incompatible parameters were specified.
  415. //
  416. func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) {
  417. req, out := c.CreateCacheClusterRequest(input)
  418. err := req.Send()
  419. return out, err
  420. }
  421. const opCreateCacheParameterGroup = "CreateCacheParameterGroup"
  422. // CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the
  423. // client's request for the CreateCacheParameterGroup operation. The "output" return
  424. // value can be used to capture response data after the request's "Send" method
  425. // is called.
  426. //
  427. // See CreateCacheParameterGroup for usage and error information.
  428. //
  429. // Creating a request object using this method should be used when you want to inject
  430. // custom logic into the request's lifecycle using a custom handler, or if you want to
  431. // access properties on the request object before or after sending the request. If
  432. // you just want the service response, call the CreateCacheParameterGroup method directly
  433. // instead.
  434. //
  435. // Note: You must call the "Send" method on the returned request object in order
  436. // to execute the request.
  437. //
  438. // // Example sending a request using the CreateCacheParameterGroupRequest method.
  439. // req, resp := client.CreateCacheParameterGroupRequest(params)
  440. //
  441. // err := req.Send()
  442. // if err == nil { // resp is now filled
  443. // fmt.Println(resp)
  444. // }
  445. //
  446. func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) {
  447. op := &request.Operation{
  448. Name: opCreateCacheParameterGroup,
  449. HTTPMethod: "POST",
  450. HTTPPath: "/",
  451. }
  452. if input == nil {
  453. input = &CreateCacheParameterGroupInput{}
  454. }
  455. req = c.newRequest(op, input, output)
  456. output = &CreateCacheParameterGroupOutput{}
  457. req.Data = output
  458. return
  459. }
  460. // CreateCacheParameterGroup API operation for Amazon ElastiCache.
  461. //
  462. // Creates a new cache parameter group. A cache parameter group is a collection
  463. // of parameters that you apply to all of the nodes in a cache cluster.
  464. //
  465. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  466. // with awserr.Error's Code and Message methods to get detailed information about
  467. // the error.
  468. //
  469. // See the AWS API reference guide for Amazon ElastiCache's
  470. // API operation CreateCacheParameterGroup for usage and error information.
  471. //
  472. // Returned Error Codes:
  473. // * CacheParameterGroupQuotaExceeded
  474. // The request cannot be processed because it would exceed the maximum number
  475. // of cache security groups.
  476. //
  477. // * CacheParameterGroupAlreadyExists
  478. // A cache parameter group with the requested name already exists.
  479. //
  480. // * InvalidCacheParameterGroupState
  481. // The current state of the cache parameter group does not allow the requested
  482. // operation to occur.
  483. //
  484. // * InvalidParameterValue
  485. // The value for a parameter is invalid.
  486. //
  487. // * InvalidParameterCombination
  488. // Two or more incompatible parameters were specified.
  489. //
  490. func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) {
  491. req, out := c.CreateCacheParameterGroupRequest(input)
  492. err := req.Send()
  493. return out, err
  494. }
  495. const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup"
  496. // CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the
  497. // client's request for the CreateCacheSecurityGroup operation. The "output" return
  498. // value can be used to capture response data after the request's "Send" method
  499. // is called.
  500. //
  501. // See CreateCacheSecurityGroup for usage and error information.
  502. //
  503. // Creating a request object using this method should be used when you want to inject
  504. // custom logic into the request's lifecycle using a custom handler, or if you want to
  505. // access properties on the request object before or after sending the request. If
  506. // you just want the service response, call the CreateCacheSecurityGroup method directly
  507. // instead.
  508. //
  509. // Note: You must call the "Send" method on the returned request object in order
  510. // to execute the request.
  511. //
  512. // // Example sending a request using the CreateCacheSecurityGroupRequest method.
  513. // req, resp := client.CreateCacheSecurityGroupRequest(params)
  514. //
  515. // err := req.Send()
  516. // if err == nil { // resp is now filled
  517. // fmt.Println(resp)
  518. // }
  519. //
  520. func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) {
  521. op := &request.Operation{
  522. Name: opCreateCacheSecurityGroup,
  523. HTTPMethod: "POST",
  524. HTTPPath: "/",
  525. }
  526. if input == nil {
  527. input = &CreateCacheSecurityGroupInput{}
  528. }
  529. req = c.newRequest(op, input, output)
  530. output = &CreateCacheSecurityGroupOutput{}
  531. req.Data = output
  532. return
  533. }
  534. // CreateCacheSecurityGroup API operation for Amazon ElastiCache.
  535. //
  536. // Creates a new cache security group. Use a cache security group to control
  537. // access to one or more cache clusters.
  538. //
  539. // Cache security groups are only used when you are creating a cache cluster
  540. // outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating
  541. // a cache cluster inside of a VPC, use a cache subnet group instead. For more
  542. // information, see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html).
  543. //
  544. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  545. // with awserr.Error's Code and Message methods to get detailed information about
  546. // the error.
  547. //
  548. // See the AWS API reference guide for Amazon ElastiCache's
  549. // API operation CreateCacheSecurityGroup for usage and error information.
  550. //
  551. // Returned Error Codes:
  552. // * CacheSecurityGroupAlreadyExists
  553. // A cache security group with the specified name already exists.
  554. //
  555. // * QuotaExceeded.CacheSecurityGroup
  556. // The request cannot be processed because it would exceed the allowed number
  557. // of cache security groups.
  558. //
  559. // * InvalidParameterValue
  560. // The value for a parameter is invalid.
  561. //
  562. // * InvalidParameterCombination
  563. // Two or more incompatible parameters were specified.
  564. //
  565. func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) {
  566. req, out := c.CreateCacheSecurityGroupRequest(input)
  567. err := req.Send()
  568. return out, err
  569. }
  570. const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup"
  571. // CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the
  572. // client's request for the CreateCacheSubnetGroup operation. The "output" return
  573. // value can be used to capture response data after the request's "Send" method
  574. // is called.
  575. //
  576. // See CreateCacheSubnetGroup for usage and error information.
  577. //
  578. // Creating a request object using this method should be used when you want to inject
  579. // custom logic into the request's lifecycle using a custom handler, or if you want to
  580. // access properties on the request object before or after sending the request. If
  581. // you just want the service response, call the CreateCacheSubnetGroup method directly
  582. // instead.
  583. //
  584. // Note: You must call the "Send" method on the returned request object in order
  585. // to execute the request.
  586. //
  587. // // Example sending a request using the CreateCacheSubnetGroupRequest method.
  588. // req, resp := client.CreateCacheSubnetGroupRequest(params)
  589. //
  590. // err := req.Send()
  591. // if err == nil { // resp is now filled
  592. // fmt.Println(resp)
  593. // }
  594. //
  595. func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) {
  596. op := &request.Operation{
  597. Name: opCreateCacheSubnetGroup,
  598. HTTPMethod: "POST",
  599. HTTPPath: "/",
  600. }
  601. if input == nil {
  602. input = &CreateCacheSubnetGroupInput{}
  603. }
  604. req = c.newRequest(op, input, output)
  605. output = &CreateCacheSubnetGroupOutput{}
  606. req.Data = output
  607. return
  608. }
  609. // CreateCacheSubnetGroup API operation for Amazon ElastiCache.
  610. //
  611. // Creates a new cache subnet group.
  612. //
  613. // Use this parameter only when you are creating a cluster in an Amazon Virtual
  614. // Private Cloud (Amazon VPC).
  615. //
  616. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  617. // with awserr.Error's Code and Message methods to get detailed information about
  618. // the error.
  619. //
  620. // See the AWS API reference guide for Amazon ElastiCache's
  621. // API operation CreateCacheSubnetGroup for usage and error information.
  622. //
  623. // Returned Error Codes:
  624. // * CacheSubnetGroupAlreadyExists
  625. // The requested cache subnet group name is already in use by an existing cache
  626. // subnet group.
  627. //
  628. // * CacheSubnetGroupQuotaExceeded
  629. // The request cannot be processed because it would exceed the allowed number
  630. // of cache subnet groups.
  631. //
  632. // * CacheSubnetQuotaExceededFault
  633. // The request cannot be processed because it would exceed the allowed number
  634. // of subnets in a cache subnet group.
  635. //
  636. // * InvalidSubnet
  637. // An invalid subnet identifier was specified.
  638. //
  639. func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) {
  640. req, out := c.CreateCacheSubnetGroupRequest(input)
  641. err := req.Send()
  642. return out, err
  643. }
  644. const opCreateReplicationGroup = "CreateReplicationGroup"
  645. // CreateReplicationGroupRequest generates a "aws/request.Request" representing the
  646. // client's request for the CreateReplicationGroup operation. The "output" return
  647. // value can be used to capture response data after the request's "Send" method
  648. // is called.
  649. //
  650. // See CreateReplicationGroup for usage and error information.
  651. //
  652. // Creating a request object using this method should be used when you want to inject
  653. // custom logic into the request's lifecycle using a custom handler, or if you want to
  654. // access properties on the request object before or after sending the request. If
  655. // you just want the service response, call the CreateReplicationGroup method directly
  656. // instead.
  657. //
  658. // Note: You must call the "Send" method on the returned request object in order
  659. // to execute the request.
  660. //
  661. // // Example sending a request using the CreateReplicationGroupRequest method.
  662. // req, resp := client.CreateReplicationGroupRequest(params)
  663. //
  664. // err := req.Send()
  665. // if err == nil { // resp is now filled
  666. // fmt.Println(resp)
  667. // }
  668. //
  669. func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) {
  670. op := &request.Operation{
  671. Name: opCreateReplicationGroup,
  672. HTTPMethod: "POST",
  673. HTTPPath: "/",
  674. }
  675. if input == nil {
  676. input = &CreateReplicationGroupInput{}
  677. }
  678. req = c.newRequest(op, input, output)
  679. output = &CreateReplicationGroupOutput{}
  680. req.Data = output
  681. return
  682. }
  683. // CreateReplicationGroup API operation for Amazon ElastiCache.
  684. //
  685. // Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled)
  686. // replication group.
  687. //
  688. // A Redis (cluster mode disabled) replication group is a collection of cache
  689. // clusters, where one of the cache clusters is a read/write primary and the
  690. // others are read-only replicas. Writes to the primary are asynchronously propagated
  691. // to the replicas.
  692. //
  693. // A Redis (cluster mode enabled) replication group is a collection of 1 to
  694. // 15 node groups (shards). Each node group (shard) has one read/write primary
  695. // node and up to 5 read-only replica nodes. Writes to the primary are asynchronously
  696. // propagated to the replicas. Redis (cluster mode enabled) replication groups
  697. // partition the data across node groups (shards).
  698. //
  699. // When a Redis (cluster mode disabled) replication group has been successfully
  700. // created, you can add one or more read replicas to it, up to a total of 5
  701. // read replicas. You cannot alter a Redis (cluster mode enabled) replication
  702. // group once it has been created.
  703. //
  704. // This operation is valid for Redis only.
  705. //
  706. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  707. // with awserr.Error's Code and Message methods to get detailed information about
  708. // the error.
  709. //
  710. // See the AWS API reference guide for Amazon ElastiCache's
  711. // API operation CreateReplicationGroup for usage and error information.
  712. //
  713. // Returned Error Codes:
  714. // * CacheClusterNotFound
  715. // The requested cache cluster ID does not refer to an existing cache cluster.
  716. //
  717. // * InvalidCacheClusterState
  718. // The requested cache cluster is not in the available state.
  719. //
  720. // * ReplicationGroupAlreadyExists
  721. // The specified replication group already exists.
  722. //
  723. // * InsufficientCacheClusterCapacity
  724. // The requested cache node type is not available in the specified Availability
  725. // Zone.
  726. //
  727. // * CacheSecurityGroupNotFound
  728. // The requested cache security group name does not refer to an existing cache
  729. // security group.
  730. //
  731. // * CacheSubnetGroupNotFoundFault
  732. // The requested cache subnet group name does not refer to an existing cache
  733. // subnet group.
  734. //
  735. // * ClusterQuotaForCustomerExceeded
  736. // The request cannot be processed because it would exceed the allowed number
  737. // of cache clusters per customer.
  738. //
  739. // * NodeQuotaForClusterExceeded
  740. // The request cannot be processed because it would exceed the allowed number
  741. // of cache nodes in a single cache cluster.
  742. //
  743. // * NodeQuotaForCustomerExceeded
  744. // The request cannot be processed because it would exceed the allowed number
  745. // of cache nodes per customer.
  746. //
  747. // * CacheParameterGroupNotFound
  748. // The requested cache parameter group name does not refer to an existing cache
  749. // parameter group.
  750. //
  751. // * InvalidVPCNetworkStateFault
  752. // The VPC network is in an invalid state.
  753. //
  754. // * TagQuotaPerResourceExceeded
  755. // The request cannot be processed because it would cause the resource to have
  756. // more than the allowed number of tags. The maximum number of tags permitted
  757. // on a resource is 10.
  758. //
  759. // * NodeGroupsPerReplicationGroupQuotaExceeded
  760. // The request cannot be processed because it would exceed the maximum of 15
  761. // node groups (shards) in a single replication group.
  762. //
  763. // * InvalidParameterValue
  764. // The value for a parameter is invalid.
  765. //
  766. // * InvalidParameterCombination
  767. // Two or more incompatible parameters were specified.
  768. //
  769. func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) {
  770. req, out := c.CreateReplicationGroupRequest(input)
  771. err := req.Send()
  772. return out, err
  773. }
  774. const opCreateSnapshot = "CreateSnapshot"
  775. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  776. // client's request for the CreateSnapshot operation. The "output" return
  777. // value can be used to capture response data after the request's "Send" method
  778. // is called.
  779. //
  780. // See CreateSnapshot for usage and error information.
  781. //
  782. // Creating a request object using this method should be used when you want to inject
  783. // custom logic into the request's lifecycle using a custom handler, or if you want to
  784. // access properties on the request object before or after sending the request. If
  785. // you just want the service response, call the CreateSnapshot method directly
  786. // instead.
  787. //
  788. // Note: You must call the "Send" method on the returned request object in order
  789. // to execute the request.
  790. //
  791. // // Example sending a request using the CreateSnapshotRequest method.
  792. // req, resp := client.CreateSnapshotRequest(params)
  793. //
  794. // err := req.Send()
  795. // if err == nil { // resp is now filled
  796. // fmt.Println(resp)
  797. // }
  798. //
  799. func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
  800. op := &request.Operation{
  801. Name: opCreateSnapshot,
  802. HTTPMethod: "POST",
  803. HTTPPath: "/",
  804. }
  805. if input == nil {
  806. input = &CreateSnapshotInput{}
  807. }
  808. req = c.newRequest(op, input, output)
  809. output = &CreateSnapshotOutput{}
  810. req.Data = output
  811. return
  812. }
  813. // CreateSnapshot API operation for Amazon ElastiCache.
  814. //
  815. // Creates a copy of an entire cache cluster or replication group at a specific
  816. // moment in time.
  817. //
  818. // This operation is valid for Redis only.
  819. //
  820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  821. // with awserr.Error's Code and Message methods to get detailed information about
  822. // the error.
  823. //
  824. // See the AWS API reference guide for Amazon ElastiCache's
  825. // API operation CreateSnapshot for usage and error information.
  826. //
  827. // Returned Error Codes:
  828. // * SnapshotAlreadyExistsFault
  829. // You already have a snapshot with the given name.
  830. //
  831. // * CacheClusterNotFound
  832. // The requested cache cluster ID does not refer to an existing cache cluster.
  833. //
  834. // * ReplicationGroupNotFoundFault
  835. // The specified replication group does not exist.
  836. //
  837. // * InvalidCacheClusterState
  838. // The requested cache cluster is not in the available state.
  839. //
  840. // * InvalidReplicationGroupState
  841. // The requested replication group is not in the available state.
  842. //
  843. // * SnapshotQuotaExceededFault
  844. // The request cannot be processed because it would exceed the maximum number
  845. // of snapshots.
  846. //
  847. // * SnapshotFeatureNotSupportedFault
  848. // You attempted one of the following operations:
  849. //
  850. // * Creating a snapshot of a Redis cache cluster running on a cache.t1.micro
  851. // cache node.
  852. //
  853. // * Creating a snapshot of a cache cluster that is running Memcached rather
  854. // than Redis.
  855. //
  856. // Neither of these are supported by ElastiCache.
  857. //
  858. // * InvalidParameterCombination
  859. // Two or more incompatible parameters were specified.
  860. //
  861. // * InvalidParameterValue
  862. // The value for a parameter is invalid.
  863. //
  864. func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
  865. req, out := c.CreateSnapshotRequest(input)
  866. err := req.Send()
  867. return out, err
  868. }
  869. const opDeleteCacheCluster = "DeleteCacheCluster"
  870. // DeleteCacheClusterRequest generates a "aws/request.Request" representing the
  871. // client's request for the DeleteCacheCluster operation. The "output" return
  872. // value can be used to capture response data after the request's "Send" method
  873. // is called.
  874. //
  875. // See DeleteCacheCluster for usage and error information.
  876. //
  877. // Creating a request object using this method should be used when you want to inject
  878. // custom logic into the request's lifecycle using a custom handler, or if you want to
  879. // access properties on the request object before or after sending the request. If
  880. // you just want the service response, call the DeleteCacheCluster method directly
  881. // instead.
  882. //
  883. // Note: You must call the "Send" method on the returned request object in order
  884. // to execute the request.
  885. //
  886. // // Example sending a request using the DeleteCacheClusterRequest method.
  887. // req, resp := client.DeleteCacheClusterRequest(params)
  888. //
  889. // err := req.Send()
  890. // if err == nil { // resp is now filled
  891. // fmt.Println(resp)
  892. // }
  893. //
  894. func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) {
  895. op := &request.Operation{
  896. Name: opDeleteCacheCluster,
  897. HTTPMethod: "POST",
  898. HTTPPath: "/",
  899. }
  900. if input == nil {
  901. input = &DeleteCacheClusterInput{}
  902. }
  903. req = c.newRequest(op, input, output)
  904. output = &DeleteCacheClusterOutput{}
  905. req.Data = output
  906. return
  907. }
  908. // DeleteCacheCluster API operation for Amazon ElastiCache.
  909. //
  910. // Deletes a previously provisioned cache cluster. DeleteCacheCluster deletes
  911. // all associated cache nodes, node endpoints and the cache cluster itself.
  912. // When you receive a successful response from this operation, Amazon ElastiCache
  913. // immediately begins deleting the cache cluster; you cannot cancel or revert
  914. // this operation.
  915. //
  916. // This operation cannot be used to delete a cache cluster that is the last
  917. // read replica of a replication group or node group (shard) that has Multi-AZ
  918. // mode enabled or a cache cluster from a Redis (cluster mode enabled) replication
  919. // group.
  920. //
  921. // Due to current limitations on Redis (cluster mode disabled), this operation
  922. // or parameter is not supported on Redis (cluster mode enabled) replication
  923. // groups.
  924. //
  925. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  926. // with awserr.Error's Code and Message methods to get detailed information about
  927. // the error.
  928. //
  929. // See the AWS API reference guide for Amazon ElastiCache's
  930. // API operation DeleteCacheCluster for usage and error information.
  931. //
  932. // Returned Error Codes:
  933. // * CacheClusterNotFound
  934. // The requested cache cluster ID does not refer to an existing cache cluster.
  935. //
  936. // * InvalidCacheClusterState
  937. // The requested cache cluster is not in the available state.
  938. //
  939. // * SnapshotAlreadyExistsFault
  940. // You already have a snapshot with the given name.
  941. //
  942. // * SnapshotFeatureNotSupportedFault
  943. // You attempted one of the following operations:
  944. //
  945. // * Creating a snapshot of a Redis cache cluster running on a cache.t1.micro
  946. // cache node.
  947. //
  948. // * Creating a snapshot of a cache cluster that is running Memcached rather
  949. // than Redis.
  950. //
  951. // Neither of these are supported by ElastiCache.
  952. //
  953. // * SnapshotQuotaExceededFault
  954. // The request cannot be processed because it would exceed the maximum number
  955. // of snapshots.
  956. //
  957. // * InvalidParameterValue
  958. // The value for a parameter is invalid.
  959. //
  960. // * InvalidParameterCombination
  961. // Two or more incompatible parameters were specified.
  962. //
  963. func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) {
  964. req, out := c.DeleteCacheClusterRequest(input)
  965. err := req.Send()
  966. return out, err
  967. }
  968. const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup"
  969. // DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the
  970. // client's request for the DeleteCacheParameterGroup operation. The "output" return
  971. // value can be used to capture response data after the request's "Send" method
  972. // is called.
  973. //
  974. // See DeleteCacheParameterGroup for usage and error information.
  975. //
  976. // Creating a request object using this method should be used when you want to inject
  977. // custom logic into the request's lifecycle using a custom handler, or if you want to
  978. // access properties on the request object before or after sending the request. If
  979. // you just want the service response, call the DeleteCacheParameterGroup method directly
  980. // instead.
  981. //
  982. // Note: You must call the "Send" method on the returned request object in order
  983. // to execute the request.
  984. //
  985. // // Example sending a request using the DeleteCacheParameterGroupRequest method.
  986. // req, resp := client.DeleteCacheParameterGroupRequest(params)
  987. //
  988. // err := req.Send()
  989. // if err == nil { // resp is now filled
  990. // fmt.Println(resp)
  991. // }
  992. //
  993. func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) {
  994. op := &request.Operation{
  995. Name: opDeleteCacheParameterGroup,
  996. HTTPMethod: "POST",
  997. HTTPPath: "/",
  998. }
  999. if input == nil {
  1000. input = &DeleteCacheParameterGroupInput{}
  1001. }
  1002. req = c.newRequest(op, input, output)
  1003. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1004. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1005. output = &DeleteCacheParameterGroupOutput{}
  1006. req.Data = output
  1007. return
  1008. }
  1009. // DeleteCacheParameterGroup API operation for Amazon ElastiCache.
  1010. //
  1011. // Deletes the specified cache parameter group. You cannot delete a cache parameter
  1012. // group if it is associated with any cache clusters.
  1013. //
  1014. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1015. // with awserr.Error's Code and Message methods to get detailed information about
  1016. // the error.
  1017. //
  1018. // See the AWS API reference guide for Amazon ElastiCache's
  1019. // API operation DeleteCacheParameterGroup for usage and error information.
  1020. //
  1021. // Returned Error Codes:
  1022. // * InvalidCacheParameterGroupState
  1023. // The current state of the cache parameter group does not allow the requested
  1024. // operation to occur.
  1025. //
  1026. // * CacheParameterGroupNotFound
  1027. // The requested cache parameter group name does not refer to an existing cache
  1028. // parameter group.
  1029. //
  1030. // * InvalidParameterValue
  1031. // The value for a parameter is invalid.
  1032. //
  1033. // * InvalidParameterCombination
  1034. // Two or more incompatible parameters were specified.
  1035. //
  1036. func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) {
  1037. req, out := c.DeleteCacheParameterGroupRequest(input)
  1038. err := req.Send()
  1039. return out, err
  1040. }
  1041. const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup"
  1042. // DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the
  1043. // client's request for the DeleteCacheSecurityGroup operation. The "output" return
  1044. // value can be used to capture response data after the request's "Send" method
  1045. // is called.
  1046. //
  1047. // See DeleteCacheSecurityGroup for usage and error information.
  1048. //
  1049. // Creating a request object using this method should be used when you want to inject
  1050. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1051. // access properties on the request object before or after sending the request. If
  1052. // you just want the service response, call the DeleteCacheSecurityGroup method directly
  1053. // instead.
  1054. //
  1055. // Note: You must call the "Send" method on the returned request object in order
  1056. // to execute the request.
  1057. //
  1058. // // Example sending a request using the DeleteCacheSecurityGroupRequest method.
  1059. // req, resp := client.DeleteCacheSecurityGroupRequest(params)
  1060. //
  1061. // err := req.Send()
  1062. // if err == nil { // resp is now filled
  1063. // fmt.Println(resp)
  1064. // }
  1065. //
  1066. func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) {
  1067. op := &request.Operation{
  1068. Name: opDeleteCacheSecurityGroup,
  1069. HTTPMethod: "POST",
  1070. HTTPPath: "/",
  1071. }
  1072. if input == nil {
  1073. input = &DeleteCacheSecurityGroupInput{}
  1074. }
  1075. req = c.newRequest(op, input, output)
  1076. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1077. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1078. output = &DeleteCacheSecurityGroupOutput{}
  1079. req.Data = output
  1080. return
  1081. }
  1082. // DeleteCacheSecurityGroup API operation for Amazon ElastiCache.
  1083. //
  1084. // Deletes a cache security group.
  1085. //
  1086. // You cannot delete a cache security group if it is associated with any cache
  1087. // clusters.
  1088. //
  1089. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1090. // with awserr.Error's Code and Message methods to get detailed information about
  1091. // the error.
  1092. //
  1093. // See the AWS API reference guide for Amazon ElastiCache's
  1094. // API operation DeleteCacheSecurityGroup for usage and error information.
  1095. //
  1096. // Returned Error Codes:
  1097. // * InvalidCacheSecurityGroupState
  1098. // The current state of the cache security group does not allow deletion.
  1099. //
  1100. // * CacheSecurityGroupNotFound
  1101. // The requested cache security group name does not refer to an existing cache
  1102. // security group.
  1103. //
  1104. // * InvalidParameterValue
  1105. // The value for a parameter is invalid.
  1106. //
  1107. // * InvalidParameterCombination
  1108. // Two or more incompatible parameters were specified.
  1109. //
  1110. func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) {
  1111. req, out := c.DeleteCacheSecurityGroupRequest(input)
  1112. err := req.Send()
  1113. return out, err
  1114. }
  1115. const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup"
  1116. // DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the
  1117. // client's request for the DeleteCacheSubnetGroup operation. The "output" return
  1118. // value can be used to capture response data after the request's "Send" method
  1119. // is called.
  1120. //
  1121. // See DeleteCacheSubnetGroup for usage and error information.
  1122. //
  1123. // Creating a request object using this method should be used when you want to inject
  1124. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1125. // access properties on the request object before or after sending the request. If
  1126. // you just want the service response, call the DeleteCacheSubnetGroup method directly
  1127. // instead.
  1128. //
  1129. // Note: You must call the "Send" method on the returned request object in order
  1130. // to execute the request.
  1131. //
  1132. // // Example sending a request using the DeleteCacheSubnetGroupRequest method.
  1133. // req, resp := client.DeleteCacheSubnetGroupRequest(params)
  1134. //
  1135. // err := req.Send()
  1136. // if err == nil { // resp is now filled
  1137. // fmt.Println(resp)
  1138. // }
  1139. //
  1140. func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) {
  1141. op := &request.Operation{
  1142. Name: opDeleteCacheSubnetGroup,
  1143. HTTPMethod: "POST",
  1144. HTTPPath: "/",
  1145. }
  1146. if input == nil {
  1147. input = &DeleteCacheSubnetGroupInput{}
  1148. }
  1149. req = c.newRequest(op, input, output)
  1150. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1151. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1152. output = &DeleteCacheSubnetGroupOutput{}
  1153. req.Data = output
  1154. return
  1155. }
  1156. // DeleteCacheSubnetGroup API operation for Amazon ElastiCache.
  1157. //
  1158. // Deletes a cache subnet group.
  1159. //
  1160. // You cannot delete a cache subnet group if it is associated with any cache
  1161. // clusters.
  1162. //
  1163. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1164. // with awserr.Error's Code and Message methods to get detailed information about
  1165. // the error.
  1166. //
  1167. // See the AWS API reference guide for Amazon ElastiCache's
  1168. // API operation DeleteCacheSubnetGroup for usage and error information.
  1169. //
  1170. // Returned Error Codes:
  1171. // * CacheSubnetGroupInUse
  1172. // The requested cache subnet group is currently in use.
  1173. //
  1174. // * CacheSubnetGroupNotFoundFault
  1175. // The requested cache subnet group name does not refer to an existing cache
  1176. // subnet group.
  1177. //
  1178. func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) {
  1179. req, out := c.DeleteCacheSubnetGroupRequest(input)
  1180. err := req.Send()
  1181. return out, err
  1182. }
  1183. const opDeleteReplicationGroup = "DeleteReplicationGroup"
  1184. // DeleteReplicationGroupRequest generates a "aws/request.Request" representing the
  1185. // client's request for the DeleteReplicationGroup operation. The "output" return
  1186. // value can be used to capture response data after the request's "Send" method
  1187. // is called.
  1188. //
  1189. // See DeleteReplicationGroup for usage and error information.
  1190. //
  1191. // Creating a request object using this method should be used when you want to inject
  1192. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1193. // access properties on the request object before or after sending the request. If
  1194. // you just want the service response, call the DeleteReplicationGroup method directly
  1195. // instead.
  1196. //
  1197. // Note: You must call the "Send" method on the returned request object in order
  1198. // to execute the request.
  1199. //
  1200. // // Example sending a request using the DeleteReplicationGroupRequest method.
  1201. // req, resp := client.DeleteReplicationGroupRequest(params)
  1202. //
  1203. // err := req.Send()
  1204. // if err == nil { // resp is now filled
  1205. // fmt.Println(resp)
  1206. // }
  1207. //
  1208. func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) {
  1209. op := &request.Operation{
  1210. Name: opDeleteReplicationGroup,
  1211. HTTPMethod: "POST",
  1212. HTTPPath: "/",
  1213. }
  1214. if input == nil {
  1215. input = &DeleteReplicationGroupInput{}
  1216. }
  1217. req = c.newRequest(op, input, output)
  1218. output = &DeleteReplicationGroupOutput{}
  1219. req.Data = output
  1220. return
  1221. }
  1222. // DeleteReplicationGroup API operation for Amazon ElastiCache.
  1223. //
  1224. // Deletes an existing replication group. By default, this operation deletes
  1225. // the entire replication group, including the primary/primaries and all of
  1226. // the read replicas. If the replication group has only one primary, you can
  1227. // optionally delete only the read replicas, while retaining the primary by
  1228. // setting RetainPrimaryCluster=true.
  1229. //
  1230. // When you receive a successful response from this operation, Amazon ElastiCache
  1231. // immediately begins deleting the selected resources; you cannot cancel or
  1232. // revert this operation.
  1233. //
  1234. // This operation is valid for Redis only.
  1235. //
  1236. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1237. // with awserr.Error's Code and Message methods to get detailed information about
  1238. // the error.
  1239. //
  1240. // See the AWS API reference guide for Amazon ElastiCache's
  1241. // API operation DeleteReplicationGroup for usage and error information.
  1242. //
  1243. // Returned Error Codes:
  1244. // * ReplicationGroupNotFoundFault
  1245. // The specified replication group does not exist.
  1246. //
  1247. // * InvalidReplicationGroupState
  1248. // The requested replication group is not in the available state.
  1249. //
  1250. // * SnapshotAlreadyExistsFault
  1251. // You already have a snapshot with the given name.
  1252. //
  1253. // * SnapshotFeatureNotSupportedFault
  1254. // You attempted one of the following operations:
  1255. //
  1256. // * Creating a snapshot of a Redis cache cluster running on a cache.t1.micro
  1257. // cache node.
  1258. //
  1259. // * Creating a snapshot of a cache cluster that is running Memcached rather
  1260. // than Redis.
  1261. //
  1262. // Neither of these are supported by ElastiCache.
  1263. //
  1264. // * SnapshotQuotaExceededFault
  1265. // The request cannot be processed because it would exceed the maximum number
  1266. // of snapshots.
  1267. //
  1268. // * InvalidParameterValue
  1269. // The value for a parameter is invalid.
  1270. //
  1271. // * InvalidParameterCombination
  1272. // Two or more incompatible parameters were specified.
  1273. //
  1274. func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) {
  1275. req, out := c.DeleteReplicationGroupRequest(input)
  1276. err := req.Send()
  1277. return out, err
  1278. }
  1279. const opDeleteSnapshot = "DeleteSnapshot"
  1280. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  1281. // client's request for the DeleteSnapshot operation. The "output" return
  1282. // value can be used to capture response data after the request's "Send" method
  1283. // is called.
  1284. //
  1285. // See DeleteSnapshot for usage and error information.
  1286. //
  1287. // Creating a request object using this method should be used when you want to inject
  1288. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1289. // access properties on the request object before or after sending the request. If
  1290. // you just want the service response, call the DeleteSnapshot method directly
  1291. // instead.
  1292. //
  1293. // Note: You must call the "Send" method on the returned request object in order
  1294. // to execute the request.
  1295. //
  1296. // // Example sending a request using the DeleteSnapshotRequest method.
  1297. // req, resp := client.DeleteSnapshotRequest(params)
  1298. //
  1299. // err := req.Send()
  1300. // if err == nil { // resp is now filled
  1301. // fmt.Println(resp)
  1302. // }
  1303. //
  1304. func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  1305. op := &request.Operation{
  1306. Name: opDeleteSnapshot,
  1307. HTTPMethod: "POST",
  1308. HTTPPath: "/",
  1309. }
  1310. if input == nil {
  1311. input = &DeleteSnapshotInput{}
  1312. }
  1313. req = c.newRequest(op, input, output)
  1314. output = &DeleteSnapshotOutput{}
  1315. req.Data = output
  1316. return
  1317. }
  1318. // DeleteSnapshot API operation for Amazon ElastiCache.
  1319. //
  1320. // Deletes an existing snapshot. When you receive a successful response from
  1321. // this operation, ElastiCache immediately begins deleting the snapshot; you
  1322. // cannot cancel or revert this operation.
  1323. //
  1324. // This operation is valid for Redis only.
  1325. //
  1326. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1327. // with awserr.Error's Code and Message methods to get detailed information about
  1328. // the error.
  1329. //
  1330. // See the AWS API reference guide for Amazon ElastiCache's
  1331. // API operation DeleteSnapshot for usage and error information.
  1332. //
  1333. // Returned Error Codes:
  1334. // * SnapshotNotFoundFault
  1335. // The requested snapshot name does not refer to an existing snapshot.
  1336. //
  1337. // * InvalidSnapshotState
  1338. // The current state of the snapshot does not allow the requested operation
  1339. // to occur.
  1340. //
  1341. // * InvalidParameterValue
  1342. // The value for a parameter is invalid.
  1343. //
  1344. // * InvalidParameterCombination
  1345. // Two or more incompatible parameters were specified.
  1346. //
  1347. func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  1348. req, out := c.DeleteSnapshotRequest(input)
  1349. err := req.Send()
  1350. return out, err
  1351. }
  1352. const opDescribeCacheClusters = "DescribeCacheClusters"
  1353. // DescribeCacheClustersRequest generates a "aws/request.Request" representing the
  1354. // client's request for the DescribeCacheClusters operation. The "output" return
  1355. // value can be used to capture response data after the request's "Send" method
  1356. // is called.
  1357. //
  1358. // See DescribeCacheClusters for usage and error information.
  1359. //
  1360. // Creating a request object using this method should be used when you want to inject
  1361. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1362. // access properties on the request object before or after sending the request. If
  1363. // you just want the service response, call the DescribeCacheClusters method directly
  1364. // instead.
  1365. //
  1366. // Note: You must call the "Send" method on the returned request object in order
  1367. // to execute the request.
  1368. //
  1369. // // Example sending a request using the DescribeCacheClustersRequest method.
  1370. // req, resp := client.DescribeCacheClustersRequest(params)
  1371. //
  1372. // err := req.Send()
  1373. // if err == nil { // resp is now filled
  1374. // fmt.Println(resp)
  1375. // }
  1376. //
  1377. func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) {
  1378. op := &request.Operation{
  1379. Name: opDescribeCacheClusters,
  1380. HTTPMethod: "POST",
  1381. HTTPPath: "/",
  1382. Paginator: &request.Paginator{
  1383. InputTokens: []string{"Marker"},
  1384. OutputTokens: []string{"Marker"},
  1385. LimitToken: "MaxRecords",
  1386. TruncationToken: "",
  1387. },
  1388. }
  1389. if input == nil {
  1390. input = &DescribeCacheClustersInput{}
  1391. }
  1392. req = c.newRequest(op, input, output)
  1393. output = &DescribeCacheClustersOutput{}
  1394. req.Data = output
  1395. return
  1396. }
  1397. // DescribeCacheClusters API operation for Amazon ElastiCache.
  1398. //
  1399. // Returns information about all provisioned cache clusters if no cache cluster
  1400. // identifier is specified, or about a specific cache cluster if a cache cluster
  1401. // identifier is supplied.
  1402. //
  1403. // By default, abbreviated information about the cache clusters are returned.
  1404. // You can use the optional ShowDetails flag to retrieve detailed information
  1405. // about the cache nodes associated with the cache clusters. These details include
  1406. // the DNS address and port for the cache node endpoint.
  1407. //
  1408. // If the cluster is in the CREATING state, only cluster-level information is
  1409. // displayed until all of the nodes are successfully provisioned.
  1410. //
  1411. // If the cluster is in the DELETING state, only cluster-level information is
  1412. // displayed.
  1413. //
  1414. // If cache nodes are currently being added to the cache cluster, node endpoint
  1415. // information and creation time for the additional nodes are not displayed
  1416. // until they are completely provisioned. When the cache cluster state is available,
  1417. // the cluster is ready for use.
  1418. //
  1419. // If cache nodes are currently being removed from the cache cluster, no endpoint
  1420. // information for the removed nodes is displayed.
  1421. //
  1422. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1423. // with awserr.Error's Code and Message methods to get detailed information about
  1424. // the error.
  1425. //
  1426. // See the AWS API reference guide for Amazon ElastiCache's
  1427. // API operation DescribeCacheClusters for usage and error information.
  1428. //
  1429. // Returned Error Codes:
  1430. // * CacheClusterNotFound
  1431. // The requested cache cluster ID does not refer to an existing cache cluster.
  1432. //
  1433. // * InvalidParameterValue
  1434. // The value for a parameter is invalid.
  1435. //
  1436. // * InvalidParameterCombination
  1437. // Two or more incompatible parameters were specified.
  1438. //
  1439. func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) {
  1440. req, out := c.DescribeCacheClustersRequest(input)
  1441. err := req.Send()
  1442. return out, err
  1443. }
  1444. // DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation,
  1445. // calling the "fn" function with the response data for each page. To stop
  1446. // iterating, return false from the fn function.
  1447. //
  1448. // See DescribeCacheClusters method for more information on how to use this operation.
  1449. //
  1450. // Note: This operation can generate multiple requests to a service.
  1451. //
  1452. // // Example iterating over at most 3 pages of a DescribeCacheClusters operation.
  1453. // pageNum := 0
  1454. // err := client.DescribeCacheClustersPages(params,
  1455. // func(page *DescribeCacheClustersOutput, lastPage bool) bool {
  1456. // pageNum++
  1457. // fmt.Println(page)
  1458. // return pageNum <= 3
  1459. // })
  1460. //
  1461. func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(p *DescribeCacheClustersOutput, lastPage bool) (shouldContinue bool)) error {
  1462. page, _ := c.DescribeCacheClustersRequest(input)
  1463. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1464. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1465. return fn(p.(*DescribeCacheClustersOutput), lastPage)
  1466. })
  1467. }
  1468. const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions"
  1469. // DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the
  1470. // client's request for the DescribeCacheEngineVersions operation. The "output" return
  1471. // value can be used to capture response data after the request's "Send" method
  1472. // is called.
  1473. //
  1474. // See DescribeCacheEngineVersions for usage and error information.
  1475. //
  1476. // Creating a request object using this method should be used when you want to inject
  1477. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1478. // access properties on the request object before or after sending the request. If
  1479. // you just want the service response, call the DescribeCacheEngineVersions method directly
  1480. // instead.
  1481. //
  1482. // Note: You must call the "Send" method on the returned request object in order
  1483. // to execute the request.
  1484. //
  1485. // // Example sending a request using the DescribeCacheEngineVersionsRequest method.
  1486. // req, resp := client.DescribeCacheEngineVersionsRequest(params)
  1487. //
  1488. // err := req.Send()
  1489. // if err == nil { // resp is now filled
  1490. // fmt.Println(resp)
  1491. // }
  1492. //
  1493. func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) {
  1494. op := &request.Operation{
  1495. Name: opDescribeCacheEngineVersions,
  1496. HTTPMethod: "POST",
  1497. HTTPPath: "/",
  1498. Paginator: &request.Paginator{
  1499. InputTokens: []string{"Marker"},
  1500. OutputTokens: []string{"Marker"},
  1501. LimitToken: "MaxRecords",
  1502. TruncationToken: "",
  1503. },
  1504. }
  1505. if input == nil {
  1506. input = &DescribeCacheEngineVersionsInput{}
  1507. }
  1508. req = c.newRequest(op, input, output)
  1509. output = &DescribeCacheEngineVersionsOutput{}
  1510. req.Data = output
  1511. return
  1512. }
  1513. // DescribeCacheEngineVersions API operation for Amazon ElastiCache.
  1514. //
  1515. // Returns a list of the available cache engines and their versions.
  1516. //
  1517. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1518. // with awserr.Error's Code and Message methods to get detailed information about
  1519. // the error.
  1520. //
  1521. // See the AWS API reference guide for Amazon ElastiCache's
  1522. // API operation DescribeCacheEngineVersions for usage and error information.
  1523. func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) {
  1524. req, out := c.DescribeCacheEngineVersionsRequest(input)
  1525. err := req.Send()
  1526. return out, err
  1527. }
  1528. // DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation,
  1529. // calling the "fn" function with the response data for each page. To stop
  1530. // iterating, return false from the fn function.
  1531. //
  1532. // See DescribeCacheEngineVersions method for more information on how to use this operation.
  1533. //
  1534. // Note: This operation can generate multiple requests to a service.
  1535. //
  1536. // // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation.
  1537. // pageNum := 0
  1538. // err := client.DescribeCacheEngineVersionsPages(params,
  1539. // func(page *DescribeCacheEngineVersionsOutput, lastPage bool) bool {
  1540. // pageNum++
  1541. // fmt.Println(page)
  1542. // return pageNum <= 3
  1543. // })
  1544. //
  1545. func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(p *DescribeCacheEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error {
  1546. page, _ := c.DescribeCacheEngineVersionsRequest(input)
  1547. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1548. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1549. return fn(p.(*DescribeCacheEngineVersionsOutput), lastPage)
  1550. })
  1551. }
  1552. const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups"
  1553. // DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the
  1554. // client's request for the DescribeCacheParameterGroups operation. The "output" return
  1555. // value can be used to capture response data after the request's "Send" method
  1556. // is called.
  1557. //
  1558. // See DescribeCacheParameterGroups for usage and error information.
  1559. //
  1560. // Creating a request object using this method should be used when you want to inject
  1561. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1562. // access properties on the request object before or after sending the request. If
  1563. // you just want the service response, call the DescribeCacheParameterGroups method directly
  1564. // instead.
  1565. //
  1566. // Note: You must call the "Send" method on the returned request object in order
  1567. // to execute the request.
  1568. //
  1569. // // Example sending a request using the DescribeCacheParameterGroupsRequest method.
  1570. // req, resp := client.DescribeCacheParameterGroupsRequest(params)
  1571. //
  1572. // err := req.Send()
  1573. // if err == nil { // resp is now filled
  1574. // fmt.Println(resp)
  1575. // }
  1576. //
  1577. func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) {
  1578. op := &request.Operation{
  1579. Name: opDescribeCacheParameterGroups,
  1580. HTTPMethod: "POST",
  1581. HTTPPath: "/",
  1582. Paginator: &request.Paginator{
  1583. InputTokens: []string{"Marker"},
  1584. OutputTokens: []string{"Marker"},
  1585. LimitToken: "MaxRecords",
  1586. TruncationToken: "",
  1587. },
  1588. }
  1589. if input == nil {
  1590. input = &DescribeCacheParameterGroupsInput{}
  1591. }
  1592. req = c.newRequest(op, input, output)
  1593. output = &DescribeCacheParameterGroupsOutput{}
  1594. req.Data = output
  1595. return
  1596. }
  1597. // DescribeCacheParameterGroups API operation for Amazon ElastiCache.
  1598. //
  1599. // Returns a list of cache parameter group descriptions. If a cache parameter
  1600. // group name is specified, the list contains only the descriptions for that
  1601. // group.
  1602. //
  1603. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1604. // with awserr.Error's Code and Message methods to get detailed information about
  1605. // the error.
  1606. //
  1607. // See the AWS API reference guide for Amazon ElastiCache's
  1608. // API operation DescribeCacheParameterGroups for usage and error information.
  1609. //
  1610. // Returned Error Codes:
  1611. // * CacheParameterGroupNotFound
  1612. // The requested cache parameter group name does not refer to an existing cache
  1613. // parameter group.
  1614. //
  1615. // * InvalidParameterValue
  1616. // The value for a parameter is invalid.
  1617. //
  1618. // * InvalidParameterCombination
  1619. // Two or more incompatible parameters were specified.
  1620. //
  1621. func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) {
  1622. req, out := c.DescribeCacheParameterGroupsRequest(input)
  1623. err := req.Send()
  1624. return out, err
  1625. }
  1626. // DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation,
  1627. // calling the "fn" function with the response data for each page. To stop
  1628. // iterating, return false from the fn function.
  1629. //
  1630. // See DescribeCacheParameterGroups method for more information on how to use this operation.
  1631. //
  1632. // Note: This operation can generate multiple requests to a service.
  1633. //
  1634. // // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation.
  1635. // pageNum := 0
  1636. // err := client.DescribeCacheParameterGroupsPages(params,
  1637. // func(page *DescribeCacheParameterGroupsOutput, lastPage bool) bool {
  1638. // pageNum++
  1639. // fmt.Println(page)
  1640. // return pageNum <= 3
  1641. // })
  1642. //
  1643. func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(p *DescribeCacheParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1644. page, _ := c.DescribeCacheParameterGroupsRequest(input)
  1645. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1646. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1647. return fn(p.(*DescribeCacheParameterGroupsOutput), lastPage)
  1648. })
  1649. }
  1650. const opDescribeCacheParameters = "DescribeCacheParameters"
  1651. // DescribeCacheParametersRequest generates a "aws/request.Request" representing the
  1652. // client's request for the DescribeCacheParameters operation. The "output" return
  1653. // value can be used to capture response data after the request's "Send" method
  1654. // is called.
  1655. //
  1656. // See DescribeCacheParameters for usage and error information.
  1657. //
  1658. // Creating a request object using this method should be used when you want to inject
  1659. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1660. // access properties on the request object before or after sending the request. If
  1661. // you just want the service response, call the DescribeCacheParameters method directly
  1662. // instead.
  1663. //
  1664. // Note: You must call the "Send" method on the returned request object in order
  1665. // to execute the request.
  1666. //
  1667. // // Example sending a request using the DescribeCacheParametersRequest method.
  1668. // req, resp := client.DescribeCacheParametersRequest(params)
  1669. //
  1670. // err := req.Send()
  1671. // if err == nil { // resp is now filled
  1672. // fmt.Println(resp)
  1673. // }
  1674. //
  1675. func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) {
  1676. op := &request.Operation{
  1677. Name: opDescribeCacheParameters,
  1678. HTTPMethod: "POST",
  1679. HTTPPath: "/",
  1680. Paginator: &request.Paginator{
  1681. InputTokens: []string{"Marker"},
  1682. OutputTokens: []string{"Marker"},
  1683. LimitToken: "MaxRecords",
  1684. TruncationToken: "",
  1685. },
  1686. }
  1687. if input == nil {
  1688. input = &DescribeCacheParametersInput{}
  1689. }
  1690. req = c.newRequest(op, input, output)
  1691. output = &DescribeCacheParametersOutput{}
  1692. req.Data = output
  1693. return
  1694. }
  1695. // DescribeCacheParameters API operation for Amazon ElastiCache.
  1696. //
  1697. // Returns the detailed parameter list for a particular cache parameter group.
  1698. //
  1699. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1700. // with awserr.Error's Code and Message methods to get detailed information about
  1701. // the error.
  1702. //
  1703. // See the AWS API reference guide for Amazon ElastiCache's
  1704. // API operation DescribeCacheParameters for usage and error information.
  1705. //
  1706. // Returned Error Codes:
  1707. // * CacheParameterGroupNotFound
  1708. // The requested cache parameter group name does not refer to an existing cache
  1709. // parameter group.
  1710. //
  1711. // * InvalidParameterValue
  1712. // The value for a parameter is invalid.
  1713. //
  1714. // * InvalidParameterCombination
  1715. // Two or more incompatible parameters were specified.
  1716. //
  1717. func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) {
  1718. req, out := c.DescribeCacheParametersRequest(input)
  1719. err := req.Send()
  1720. return out, err
  1721. }
  1722. // DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation,
  1723. // calling the "fn" function with the response data for each page. To stop
  1724. // iterating, return false from the fn function.
  1725. //
  1726. // See DescribeCacheParameters method for more information on how to use this operation.
  1727. //
  1728. // Note: This operation can generate multiple requests to a service.
  1729. //
  1730. // // Example iterating over at most 3 pages of a DescribeCacheParameters operation.
  1731. // pageNum := 0
  1732. // err := client.DescribeCacheParametersPages(params,
  1733. // func(page *DescribeCacheParametersOutput, lastPage bool) bool {
  1734. // pageNum++
  1735. // fmt.Println(page)
  1736. // return pageNum <= 3
  1737. // })
  1738. //
  1739. func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(p *DescribeCacheParametersOutput, lastPage bool) (shouldContinue bool)) error {
  1740. page, _ := c.DescribeCacheParametersRequest(input)
  1741. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1742. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1743. return fn(p.(*DescribeCacheParametersOutput), lastPage)
  1744. })
  1745. }
  1746. const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups"
  1747. // DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the
  1748. // client's request for the DescribeCacheSecurityGroups operation. The "output" return
  1749. // value can be used to capture response data after the request's "Send" method
  1750. // is called.
  1751. //
  1752. // See DescribeCacheSecurityGroups for usage and error information.
  1753. //
  1754. // Creating a request object using this method should be used when you want to inject
  1755. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1756. // access properties on the request object before or after sending the request. If
  1757. // you just want the service response, call the DescribeCacheSecurityGroups method directly
  1758. // instead.
  1759. //
  1760. // Note: You must call the "Send" method on the returned request object in order
  1761. // to execute the request.
  1762. //
  1763. // // Example sending a request using the DescribeCacheSecurityGroupsRequest method.
  1764. // req, resp := client.DescribeCacheSecurityGroupsRequest(params)
  1765. //
  1766. // err := req.Send()
  1767. // if err == nil { // resp is now filled
  1768. // fmt.Println(resp)
  1769. // }
  1770. //
  1771. func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) {
  1772. op := &request.Operation{
  1773. Name: opDescribeCacheSecurityGroups,
  1774. HTTPMethod: "POST",
  1775. HTTPPath: "/",
  1776. Paginator: &request.Paginator{
  1777. InputTokens: []string{"Marker"},
  1778. OutputTokens: []string{"Marker"},
  1779. LimitToken: "MaxRecords",
  1780. TruncationToken: "",
  1781. },
  1782. }
  1783. if input == nil {
  1784. input = &DescribeCacheSecurityGroupsInput{}
  1785. }
  1786. req = c.newRequest(op, input, output)
  1787. output = &DescribeCacheSecurityGroupsOutput{}
  1788. req.Data = output
  1789. return
  1790. }
  1791. // DescribeCacheSecurityGroups API operation for Amazon ElastiCache.
  1792. //
  1793. // Returns a list of cache security group descriptions. If a cache security
  1794. // group name is specified, the list contains only the description of that group.
  1795. //
  1796. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1797. // with awserr.Error's Code and Message methods to get detailed information about
  1798. // the error.
  1799. //
  1800. // See the AWS API reference guide for Amazon ElastiCache's
  1801. // API operation DescribeCacheSecurityGroups for usage and error information.
  1802. //
  1803. // Returned Error Codes:
  1804. // * CacheSecurityGroupNotFound
  1805. // The requested cache security group name does not refer to an existing cache
  1806. // security group.
  1807. //
  1808. // * InvalidParameterValue
  1809. // The value for a parameter is invalid.
  1810. //
  1811. // * InvalidParameterCombination
  1812. // Two or more incompatible parameters were specified.
  1813. //
  1814. func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) {
  1815. req, out := c.DescribeCacheSecurityGroupsRequest(input)
  1816. err := req.Send()
  1817. return out, err
  1818. }
  1819. // DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation,
  1820. // calling the "fn" function with the response data for each page. To stop
  1821. // iterating, return false from the fn function.
  1822. //
  1823. // See DescribeCacheSecurityGroups method for more information on how to use this operation.
  1824. //
  1825. // Note: This operation can generate multiple requests to a service.
  1826. //
  1827. // // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation.
  1828. // pageNum := 0
  1829. // err := client.DescribeCacheSecurityGroupsPages(params,
  1830. // func(page *DescribeCacheSecurityGroupsOutput, lastPage bool) bool {
  1831. // pageNum++
  1832. // fmt.Println(page)
  1833. // return pageNum <= 3
  1834. // })
  1835. //
  1836. func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(p *DescribeCacheSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1837. page, _ := c.DescribeCacheSecurityGroupsRequest(input)
  1838. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1839. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1840. return fn(p.(*DescribeCacheSecurityGroupsOutput), lastPage)
  1841. })
  1842. }
  1843. const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups"
  1844. // DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the
  1845. // client's request for the DescribeCacheSubnetGroups operation. The "output" return
  1846. // value can be used to capture response data after the request's "Send" method
  1847. // is called.
  1848. //
  1849. // See DescribeCacheSubnetGroups for usage and error information.
  1850. //
  1851. // Creating a request object using this method should be used when you want to inject
  1852. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1853. // access properties on the request object before or after sending the request. If
  1854. // you just want the service response, call the DescribeCacheSubnetGroups method directly
  1855. // instead.
  1856. //
  1857. // Note: You must call the "Send" method on the returned request object in order
  1858. // to execute the request.
  1859. //
  1860. // // Example sending a request using the DescribeCacheSubnetGroupsRequest method.
  1861. // req, resp := client.DescribeCacheSubnetGroupsRequest(params)
  1862. //
  1863. // err := req.Send()
  1864. // if err == nil { // resp is now filled
  1865. // fmt.Println(resp)
  1866. // }
  1867. //
  1868. func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) {
  1869. op := &request.Operation{
  1870. Name: opDescribeCacheSubnetGroups,
  1871. HTTPMethod: "POST",
  1872. HTTPPath: "/",
  1873. Paginator: &request.Paginator{
  1874. InputTokens: []string{"Marker"},
  1875. OutputTokens: []string{"Marker"},
  1876. LimitToken: "MaxRecords",
  1877. TruncationToken: "",
  1878. },
  1879. }
  1880. if input == nil {
  1881. input = &DescribeCacheSubnetGroupsInput{}
  1882. }
  1883. req = c.newRequest(op, input, output)
  1884. output = &DescribeCacheSubnetGroupsOutput{}
  1885. req.Data = output
  1886. return
  1887. }
  1888. // DescribeCacheSubnetGroups API operation for Amazon ElastiCache.
  1889. //
  1890. // Returns a list of cache subnet group descriptions. If a subnet group name
  1891. // is specified, the list contains only the description of that group.
  1892. //
  1893. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1894. // with awserr.Error's Code and Message methods to get detailed information about
  1895. // the error.
  1896. //
  1897. // See the AWS API reference guide for Amazon ElastiCache's
  1898. // API operation DescribeCacheSubnetGroups for usage and error information.
  1899. //
  1900. // Returned Error Codes:
  1901. // * CacheSubnetGroupNotFoundFault
  1902. // The requested cache subnet group name does not refer to an existing cache
  1903. // subnet group.
  1904. //
  1905. func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) {
  1906. req, out := c.DescribeCacheSubnetGroupsRequest(input)
  1907. err := req.Send()
  1908. return out, err
  1909. }
  1910. // DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation,
  1911. // calling the "fn" function with the response data for each page. To stop
  1912. // iterating, return false from the fn function.
  1913. //
  1914. // See DescribeCacheSubnetGroups method for more information on how to use this operation.
  1915. //
  1916. // Note: This operation can generate multiple requests to a service.
  1917. //
  1918. // // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation.
  1919. // pageNum := 0
  1920. // err := client.DescribeCacheSubnetGroupsPages(params,
  1921. // func(page *DescribeCacheSubnetGroupsOutput, lastPage bool) bool {
  1922. // pageNum++
  1923. // fmt.Println(page)
  1924. // return pageNum <= 3
  1925. // })
  1926. //
  1927. func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(p *DescribeCacheSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1928. page, _ := c.DescribeCacheSubnetGroupsRequest(input)
  1929. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1930. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1931. return fn(p.(*DescribeCacheSubnetGroupsOutput), lastPage)
  1932. })
  1933. }
  1934. const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
  1935. // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
  1936. // client's request for the DescribeEngineDefaultParameters operation. The "output" return
  1937. // value can be used to capture response data after the request's "Send" method
  1938. // is called.
  1939. //
  1940. // See DescribeEngineDefaultParameters for usage and error information.
  1941. //
  1942. // Creating a request object using this method should be used when you want to inject
  1943. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1944. // access properties on the request object before or after sending the request. If
  1945. // you just want the service response, call the DescribeEngineDefaultParameters method directly
  1946. // instead.
  1947. //
  1948. // Note: You must call the "Send" method on the returned request object in order
  1949. // to execute the request.
  1950. //
  1951. // // Example sending a request using the DescribeEngineDefaultParametersRequest method.
  1952. // req, resp := client.DescribeEngineDefaultParametersRequest(params)
  1953. //
  1954. // err := req.Send()
  1955. // if err == nil { // resp is now filled
  1956. // fmt.Println(resp)
  1957. // }
  1958. //
  1959. func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
  1960. op := &request.Operation{
  1961. Name: opDescribeEngineDefaultParameters,
  1962. HTTPMethod: "POST",
  1963. HTTPPath: "/",
  1964. Paginator: &request.Paginator{
  1965. InputTokens: []string{"Marker"},
  1966. OutputTokens: []string{"EngineDefaults.Marker"},
  1967. LimitToken: "MaxRecords",
  1968. TruncationToken: "",
  1969. },
  1970. }
  1971. if input == nil {
  1972. input = &DescribeEngineDefaultParametersInput{}
  1973. }
  1974. req = c.newRequest(op, input, output)
  1975. output = &DescribeEngineDefaultParametersOutput{}
  1976. req.Data = output
  1977. return
  1978. }
  1979. // DescribeEngineDefaultParameters API operation for Amazon ElastiCache.
  1980. //
  1981. // Returns the default engine and system parameter information for the specified
  1982. // cache engine.
  1983. //
  1984. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1985. // with awserr.Error's Code and Message methods to get detailed information about
  1986. // the error.
  1987. //
  1988. // See the AWS API reference guide for Amazon ElastiCache's
  1989. // API operation DescribeEngineDefaultParameters for usage and error information.
  1990. //
  1991. // Returned Error Codes:
  1992. // * InvalidParameterValue
  1993. // The value for a parameter is invalid.
  1994. //
  1995. // * InvalidParameterCombination
  1996. // Two or more incompatible parameters were specified.
  1997. //
  1998. func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
  1999. req, out := c.DescribeEngineDefaultParametersRequest(input)
  2000. err := req.Send()
  2001. return out, err
  2002. }
  2003. // DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
  2004. // calling the "fn" function with the response data for each page. To stop
  2005. // iterating, return false from the fn function.
  2006. //
  2007. // See DescribeEngineDefaultParameters method for more information on how to use this operation.
  2008. //
  2009. // Note: This operation can generate multiple requests to a service.
  2010. //
  2011. // // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
  2012. // pageNum := 0
  2013. // err := client.DescribeEngineDefaultParametersPages(params,
  2014. // func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool {
  2015. // pageNum++
  2016. // fmt.Println(page)
  2017. // return pageNum <= 3
  2018. // })
  2019. //
  2020. func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error {
  2021. page, _ := c.DescribeEngineDefaultParametersRequest(input)
  2022. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2023. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2024. return fn(p.(*DescribeEngineDefaultParametersOutput), lastPage)
  2025. })
  2026. }
  2027. const opDescribeEvents = "DescribeEvents"
  2028. // DescribeEventsRequest generates a "aws/request.Request" representing the
  2029. // client's request for the DescribeEvents operation. The "output" return
  2030. // value can be used to capture response data after the request's "Send" method
  2031. // is called.
  2032. //
  2033. // See DescribeEvents for usage and error information.
  2034. //
  2035. // Creating a request object using this method should be used when you want to inject
  2036. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2037. // access properties on the request object before or after sending the request. If
  2038. // you just want the service response, call the DescribeEvents method directly
  2039. // instead.
  2040. //
  2041. // Note: You must call the "Send" method on the returned request object in order
  2042. // to execute the request.
  2043. //
  2044. // // Example sending a request using the DescribeEventsRequest method.
  2045. // req, resp := client.DescribeEventsRequest(params)
  2046. //
  2047. // err := req.Send()
  2048. // if err == nil { // resp is now filled
  2049. // fmt.Println(resp)
  2050. // }
  2051. //
  2052. func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  2053. op := &request.Operation{
  2054. Name: opDescribeEvents,
  2055. HTTPMethod: "POST",
  2056. HTTPPath: "/",
  2057. Paginator: &request.Paginator{
  2058. InputTokens: []string{"Marker"},
  2059. OutputTokens: []string{"Marker"},
  2060. LimitToken: "MaxRecords",
  2061. TruncationToken: "",
  2062. },
  2063. }
  2064. if input == nil {
  2065. input = &DescribeEventsInput{}
  2066. }
  2067. req = c.newRequest(op, input, output)
  2068. output = &DescribeEventsOutput{}
  2069. req.Data = output
  2070. return
  2071. }
  2072. // DescribeEvents API operation for Amazon ElastiCache.
  2073. //
  2074. // Returns events related to cache clusters, cache security groups, and cache
  2075. // parameter groups. You can obtain events specific to a particular cache cluster,
  2076. // cache security group, or cache parameter group by providing the name as a
  2077. // parameter.
  2078. //
  2079. // By default, only the events occurring within the last hour are returned;
  2080. // however, you can retrieve up to 14 days' worth of events if necessary.
  2081. //
  2082. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2083. // with awserr.Error's Code and Message methods to get detailed information about
  2084. // the error.
  2085. //
  2086. // See the AWS API reference guide for Amazon ElastiCache's
  2087. // API operation DescribeEvents for usage and error information.
  2088. //
  2089. // Returned Error Codes:
  2090. // * InvalidParameterValue
  2091. // The value for a parameter is invalid.
  2092. //
  2093. // * InvalidParameterCombination
  2094. // Two or more incompatible parameters were specified.
  2095. //
  2096. func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  2097. req, out := c.DescribeEventsRequest(input)
  2098. err := req.Send()
  2099. return out, err
  2100. }
  2101. // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  2102. // calling the "fn" function with the response data for each page. To stop
  2103. // iterating, return false from the fn function.
  2104. //
  2105. // See DescribeEvents method for more information on how to use this operation.
  2106. //
  2107. // Note: This operation can generate multiple requests to a service.
  2108. //
  2109. // // Example iterating over at most 3 pages of a DescribeEvents operation.
  2110. // pageNum := 0
  2111. // err := client.DescribeEventsPages(params,
  2112. // func(page *DescribeEventsOutput, lastPage bool) bool {
  2113. // pageNum++
  2114. // fmt.Println(page)
  2115. // return pageNum <= 3
  2116. // })
  2117. //
  2118. func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error {
  2119. page, _ := c.DescribeEventsRequest(input)
  2120. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2121. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2122. return fn(p.(*DescribeEventsOutput), lastPage)
  2123. })
  2124. }
  2125. const opDescribeReplicationGroups = "DescribeReplicationGroups"
  2126. // DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the
  2127. // client's request for the DescribeReplicationGroups operation. The "output" return
  2128. // value can be used to capture response data after the request's "Send" method
  2129. // is called.
  2130. //
  2131. // See DescribeReplicationGroups for usage and error information.
  2132. //
  2133. // Creating a request object using this method should be used when you want to inject
  2134. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2135. // access properties on the request object before or after sending the request. If
  2136. // you just want the service response, call the DescribeReplicationGroups method directly
  2137. // instead.
  2138. //
  2139. // Note: You must call the "Send" method on the returned request object in order
  2140. // to execute the request.
  2141. //
  2142. // // Example sending a request using the DescribeReplicationGroupsRequest method.
  2143. // req, resp := client.DescribeReplicationGroupsRequest(params)
  2144. //
  2145. // err := req.Send()
  2146. // if err == nil { // resp is now filled
  2147. // fmt.Println(resp)
  2148. // }
  2149. //
  2150. func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) {
  2151. op := &request.Operation{
  2152. Name: opDescribeReplicationGroups,
  2153. HTTPMethod: "POST",
  2154. HTTPPath: "/",
  2155. Paginator: &request.Paginator{
  2156. InputTokens: []string{"Marker"},
  2157. OutputTokens: []string{"Marker"},
  2158. LimitToken: "MaxRecords",
  2159. TruncationToken: "",
  2160. },
  2161. }
  2162. if input == nil {
  2163. input = &DescribeReplicationGroupsInput{}
  2164. }
  2165. req = c.newRequest(op, input, output)
  2166. output = &DescribeReplicationGroupsOutput{}
  2167. req.Data = output
  2168. return
  2169. }
  2170. // DescribeReplicationGroups API operation for Amazon ElastiCache.
  2171. //
  2172. // Returns information about a particular replication group. If no identifier
  2173. // is specified, DescribeReplicationGroups returns information about all replication
  2174. // groups.
  2175. //
  2176. // This operation is valid for Redis only.
  2177. //
  2178. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2179. // with awserr.Error's Code and Message methods to get detailed information about
  2180. // the error.
  2181. //
  2182. // See the AWS API reference guide for Amazon ElastiCache's
  2183. // API operation DescribeReplicationGroups for usage and error information.
  2184. //
  2185. // Returned Error Codes:
  2186. // * ReplicationGroupNotFoundFault
  2187. // The specified replication group does not exist.
  2188. //
  2189. // * InvalidParameterValue
  2190. // The value for a parameter is invalid.
  2191. //
  2192. // * InvalidParameterCombination
  2193. // Two or more incompatible parameters were specified.
  2194. //
  2195. func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) {
  2196. req, out := c.DescribeReplicationGroupsRequest(input)
  2197. err := req.Send()
  2198. return out, err
  2199. }
  2200. // DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation,
  2201. // calling the "fn" function with the response data for each page. To stop
  2202. // iterating, return false from the fn function.
  2203. //
  2204. // See DescribeReplicationGroups method for more information on how to use this operation.
  2205. //
  2206. // Note: This operation can generate multiple requests to a service.
  2207. //
  2208. // // Example iterating over at most 3 pages of a DescribeReplicationGroups operation.
  2209. // pageNum := 0
  2210. // err := client.DescribeReplicationGroupsPages(params,
  2211. // func(page *DescribeReplicationGroupsOutput, lastPage bool) bool {
  2212. // pageNum++
  2213. // fmt.Println(page)
  2214. // return pageNum <= 3
  2215. // })
  2216. //
  2217. func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(p *DescribeReplicationGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  2218. page, _ := c.DescribeReplicationGroupsRequest(input)
  2219. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2220. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2221. return fn(p.(*DescribeReplicationGroupsOutput), lastPage)
  2222. })
  2223. }
  2224. const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes"
  2225. // DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the
  2226. // client's request for the DescribeReservedCacheNodes operation. The "output" return
  2227. // value can be used to capture response data after the request's "Send" method
  2228. // is called.
  2229. //
  2230. // See DescribeReservedCacheNodes for usage and error information.
  2231. //
  2232. // Creating a request object using this method should be used when you want to inject
  2233. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2234. // access properties on the request object before or after sending the request. If
  2235. // you just want the service response, call the DescribeReservedCacheNodes method directly
  2236. // instead.
  2237. //
  2238. // Note: You must call the "Send" method on the returned request object in order
  2239. // to execute the request.
  2240. //
  2241. // // Example sending a request using the DescribeReservedCacheNodesRequest method.
  2242. // req, resp := client.DescribeReservedCacheNodesRequest(params)
  2243. //
  2244. // err := req.Send()
  2245. // if err == nil { // resp is now filled
  2246. // fmt.Println(resp)
  2247. // }
  2248. //
  2249. func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) {
  2250. op := &request.Operation{
  2251. Name: opDescribeReservedCacheNodes,
  2252. HTTPMethod: "POST",
  2253. HTTPPath: "/",
  2254. Paginator: &request.Paginator{
  2255. InputTokens: []string{"Marker"},
  2256. OutputTokens: []string{"Marker"},
  2257. LimitToken: "MaxRecords",
  2258. TruncationToken: "",
  2259. },
  2260. }
  2261. if input == nil {
  2262. input = &DescribeReservedCacheNodesInput{}
  2263. }
  2264. req = c.newRequest(op, input, output)
  2265. output = &DescribeReservedCacheNodesOutput{}
  2266. req.Data = output
  2267. return
  2268. }
  2269. // DescribeReservedCacheNodes API operation for Amazon ElastiCache.
  2270. //
  2271. // Returns information about reserved cache nodes for this account, or about
  2272. // a specified reserved cache node.
  2273. //
  2274. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2275. // with awserr.Error's Code and Message methods to get detailed information about
  2276. // the error.
  2277. //
  2278. // See the AWS API reference guide for Amazon ElastiCache's
  2279. // API operation DescribeReservedCacheNodes for usage and error information.
  2280. //
  2281. // Returned Error Codes:
  2282. // * ReservedCacheNodeNotFound
  2283. // The requested reserved cache node was not found.
  2284. //
  2285. // * InvalidParameterValue
  2286. // The value for a parameter is invalid.
  2287. //
  2288. // * InvalidParameterCombination
  2289. // Two or more incompatible parameters were specified.
  2290. //
  2291. func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) {
  2292. req, out := c.DescribeReservedCacheNodesRequest(input)
  2293. err := req.Send()
  2294. return out, err
  2295. }
  2296. // DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation,
  2297. // calling the "fn" function with the response data for each page. To stop
  2298. // iterating, return false from the fn function.
  2299. //
  2300. // See DescribeReservedCacheNodes method for more information on how to use this operation.
  2301. //
  2302. // Note: This operation can generate multiple requests to a service.
  2303. //
  2304. // // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation.
  2305. // pageNum := 0
  2306. // err := client.DescribeReservedCacheNodesPages(params,
  2307. // func(page *DescribeReservedCacheNodesOutput, lastPage bool) bool {
  2308. // pageNum++
  2309. // fmt.Println(page)
  2310. // return pageNum <= 3
  2311. // })
  2312. //
  2313. func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(p *DescribeReservedCacheNodesOutput, lastPage bool) (shouldContinue bool)) error {
  2314. page, _ := c.DescribeReservedCacheNodesRequest(input)
  2315. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2316. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2317. return fn(p.(*DescribeReservedCacheNodesOutput), lastPage)
  2318. })
  2319. }
  2320. const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings"
  2321. // DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the
  2322. // client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return
  2323. // value can be used to capture response data after the request's "Send" method
  2324. // is called.
  2325. //
  2326. // See DescribeReservedCacheNodesOfferings for usage and error information.
  2327. //
  2328. // Creating a request object using this method should be used when you want to inject
  2329. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2330. // access properties on the request object before or after sending the request. If
  2331. // you just want the service response, call the DescribeReservedCacheNodesOfferings method directly
  2332. // instead.
  2333. //
  2334. // Note: You must call the "Send" method on the returned request object in order
  2335. // to execute the request.
  2336. //
  2337. // // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method.
  2338. // req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params)
  2339. //
  2340. // err := req.Send()
  2341. // if err == nil { // resp is now filled
  2342. // fmt.Println(resp)
  2343. // }
  2344. //
  2345. func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) {
  2346. op := &request.Operation{
  2347. Name: opDescribeReservedCacheNodesOfferings,
  2348. HTTPMethod: "POST",
  2349. HTTPPath: "/",
  2350. Paginator: &request.Paginator{
  2351. InputTokens: []string{"Marker"},
  2352. OutputTokens: []string{"Marker"},
  2353. LimitToken: "MaxRecords",
  2354. TruncationToken: "",
  2355. },
  2356. }
  2357. if input == nil {
  2358. input = &DescribeReservedCacheNodesOfferingsInput{}
  2359. }
  2360. req = c.newRequest(op, input, output)
  2361. output = &DescribeReservedCacheNodesOfferingsOutput{}
  2362. req.Data = output
  2363. return
  2364. }
  2365. // DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache.
  2366. //
  2367. // Lists available reserved cache node offerings.
  2368. //
  2369. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2370. // with awserr.Error's Code and Message methods to get detailed information about
  2371. // the error.
  2372. //
  2373. // See the AWS API reference guide for Amazon ElastiCache's
  2374. // API operation DescribeReservedCacheNodesOfferings for usage and error information.
  2375. //
  2376. // Returned Error Codes:
  2377. // * ReservedCacheNodesOfferingNotFound
  2378. // The requested cache node offering does not exist.
  2379. //
  2380. // * InvalidParameterValue
  2381. // The value for a parameter is invalid.
  2382. //
  2383. // * InvalidParameterCombination
  2384. // Two or more incompatible parameters were specified.
  2385. //
  2386. func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) {
  2387. req, out := c.DescribeReservedCacheNodesOfferingsRequest(input)
  2388. err := req.Send()
  2389. return out, err
  2390. }
  2391. // DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation,
  2392. // calling the "fn" function with the response data for each page. To stop
  2393. // iterating, return false from the fn function.
  2394. //
  2395. // See DescribeReservedCacheNodesOfferings method for more information on how to use this operation.
  2396. //
  2397. // Note: This operation can generate multiple requests to a service.
  2398. //
  2399. // // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation.
  2400. // pageNum := 0
  2401. // err := client.DescribeReservedCacheNodesOfferingsPages(params,
  2402. // func(page *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool {
  2403. // pageNum++
  2404. // fmt.Println(page)
  2405. // return pageNum <= 3
  2406. // })
  2407. //
  2408. func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(p *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  2409. page, _ := c.DescribeReservedCacheNodesOfferingsRequest(input)
  2410. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2411. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2412. return fn(p.(*DescribeReservedCacheNodesOfferingsOutput), lastPage)
  2413. })
  2414. }
  2415. const opDescribeSnapshots = "DescribeSnapshots"
  2416. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  2417. // client's request for the DescribeSnapshots operation. The "output" return
  2418. // value can be used to capture response data after the request's "Send" method
  2419. // is called.
  2420. //
  2421. // See DescribeSnapshots for usage and error information.
  2422. //
  2423. // Creating a request object using this method should be used when you want to inject
  2424. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2425. // access properties on the request object before or after sending the request. If
  2426. // you just want the service response, call the DescribeSnapshots method directly
  2427. // instead.
  2428. //
  2429. // Note: You must call the "Send" method on the returned request object in order
  2430. // to execute the request.
  2431. //
  2432. // // Example sending a request using the DescribeSnapshotsRequest method.
  2433. // req, resp := client.DescribeSnapshotsRequest(params)
  2434. //
  2435. // err := req.Send()
  2436. // if err == nil { // resp is now filled
  2437. // fmt.Println(resp)
  2438. // }
  2439. //
  2440. func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  2441. op := &request.Operation{
  2442. Name: opDescribeSnapshots,
  2443. HTTPMethod: "POST",
  2444. HTTPPath: "/",
  2445. Paginator: &request.Paginator{
  2446. InputTokens: []string{"Marker"},
  2447. OutputTokens: []string{"Marker"},
  2448. LimitToken: "MaxRecords",
  2449. TruncationToken: "",
  2450. },
  2451. }
  2452. if input == nil {
  2453. input = &DescribeSnapshotsInput{}
  2454. }
  2455. req = c.newRequest(op, input, output)
  2456. output = &DescribeSnapshotsOutput{}
  2457. req.Data = output
  2458. return
  2459. }
  2460. // DescribeSnapshots API operation for Amazon ElastiCache.
  2461. //
  2462. // Returns information about cache cluster or replication group snapshots. By
  2463. // default, DescribeSnapshots lists all of your snapshots; it can optionally
  2464. // describe a single snapshot, or just the snapshots associated with a particular
  2465. // cache cluster.
  2466. //
  2467. // This operation is valid for Redis only.
  2468. //
  2469. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2470. // with awserr.Error's Code and Message methods to get detailed information about
  2471. // the error.
  2472. //
  2473. // See the AWS API reference guide for Amazon ElastiCache's
  2474. // API operation DescribeSnapshots for usage and error information.
  2475. //
  2476. // Returned Error Codes:
  2477. // * CacheClusterNotFound
  2478. // The requested cache cluster ID does not refer to an existing cache cluster.
  2479. //
  2480. // * SnapshotNotFoundFault
  2481. // The requested snapshot name does not refer to an existing snapshot.
  2482. //
  2483. // * InvalidParameterValue
  2484. // The value for a parameter is invalid.
  2485. //
  2486. // * InvalidParameterCombination
  2487. // Two or more incompatible parameters were specified.
  2488. //
  2489. func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  2490. req, out := c.DescribeSnapshotsRequest(input)
  2491. err := req.Send()
  2492. return out, err
  2493. }
  2494. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  2495. // calling the "fn" function with the response data for each page. To stop
  2496. // iterating, return false from the fn function.
  2497. //
  2498. // See DescribeSnapshots method for more information on how to use this operation.
  2499. //
  2500. // Note: This operation can generate multiple requests to a service.
  2501. //
  2502. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  2503. // pageNum := 0
  2504. // err := client.DescribeSnapshotsPages(params,
  2505. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  2506. // pageNum++
  2507. // fmt.Println(page)
  2508. // return pageNum <= 3
  2509. // })
  2510. //
  2511. func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  2512. page, _ := c.DescribeSnapshotsRequest(input)
  2513. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2514. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2515. return fn(p.(*DescribeSnapshotsOutput), lastPage)
  2516. })
  2517. }
  2518. const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications"
  2519. // ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the
  2520. // client's request for the ListAllowedNodeTypeModifications operation. The "output" return
  2521. // value can be used to capture response data after the request's "Send" method
  2522. // is called.
  2523. //
  2524. // See ListAllowedNodeTypeModifications for usage and error information.
  2525. //
  2526. // Creating a request object using this method should be used when you want to inject
  2527. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2528. // access properties on the request object before or after sending the request. If
  2529. // you just want the service response, call the ListAllowedNodeTypeModifications method directly
  2530. // instead.
  2531. //
  2532. // Note: You must call the "Send" method on the returned request object in order
  2533. // to execute the request.
  2534. //
  2535. // // Example sending a request using the ListAllowedNodeTypeModificationsRequest method.
  2536. // req, resp := client.ListAllowedNodeTypeModificationsRequest(params)
  2537. //
  2538. // err := req.Send()
  2539. // if err == nil { // resp is now filled
  2540. // fmt.Println(resp)
  2541. // }
  2542. //
  2543. func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) {
  2544. op := &request.Operation{
  2545. Name: opListAllowedNodeTypeModifications,
  2546. HTTPMethod: "POST",
  2547. HTTPPath: "/",
  2548. }
  2549. if input == nil {
  2550. input = &ListAllowedNodeTypeModificationsInput{}
  2551. }
  2552. req = c.newRequest(op, input, output)
  2553. output = &ListAllowedNodeTypeModificationsOutput{}
  2554. req.Data = output
  2555. return
  2556. }
  2557. // ListAllowedNodeTypeModifications API operation for Amazon ElastiCache.
  2558. //
  2559. // Lists all available node types that you can scale your Redis cluster's or
  2560. // replication group's current node type up to.
  2561. //
  2562. // When you use the ModifyCacheCluster or ModifyReplicationGroup operations
  2563. // to scale up your cluster or replication group, the value of the CacheNodeType
  2564. // parameter must be one of the node types returned by this operation.
  2565. //
  2566. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2567. // with awserr.Error's Code and Message methods to get detailed information about
  2568. // the error.
  2569. //
  2570. // See the AWS API reference guide for Amazon ElastiCache's
  2571. // API operation ListAllowedNodeTypeModifications for usage and error information.
  2572. //
  2573. // Returned Error Codes:
  2574. // * CacheClusterNotFound
  2575. // The requested cache cluster ID does not refer to an existing cache cluster.
  2576. //
  2577. // * ReplicationGroupNotFoundFault
  2578. // The specified replication group does not exist.
  2579. //
  2580. // * InvalidParameterCombination
  2581. // Two or more incompatible parameters were specified.
  2582. //
  2583. // * InvalidParameterValue
  2584. // The value for a parameter is invalid.
  2585. //
  2586. func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) {
  2587. req, out := c.ListAllowedNodeTypeModificationsRequest(input)
  2588. err := req.Send()
  2589. return out, err
  2590. }
  2591. const opListTagsForResource = "ListTagsForResource"
  2592. // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2593. // client's request for the ListTagsForResource operation. The "output" return
  2594. // value can be used to capture response data after the request's "Send" method
  2595. // is called.
  2596. //
  2597. // See ListTagsForResource for usage and error information.
  2598. //
  2599. // Creating a request object using this method should be used when you want to inject
  2600. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2601. // access properties on the request object before or after sending the request. If
  2602. // you just want the service response, call the ListTagsForResource method directly
  2603. // instead.
  2604. //
  2605. // Note: You must call the "Send" method on the returned request object in order
  2606. // to execute the request.
  2607. //
  2608. // // Example sending a request using the ListTagsForResourceRequest method.
  2609. // req, resp := client.ListTagsForResourceRequest(params)
  2610. //
  2611. // err := req.Send()
  2612. // if err == nil { // resp is now filled
  2613. // fmt.Println(resp)
  2614. // }
  2615. //
  2616. func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) {
  2617. op := &request.Operation{
  2618. Name: opListTagsForResource,
  2619. HTTPMethod: "POST",
  2620. HTTPPath: "/",
  2621. }
  2622. if input == nil {
  2623. input = &ListTagsForResourceInput{}
  2624. }
  2625. req = c.newRequest(op, input, output)
  2626. output = &TagListMessage{}
  2627. req.Data = output
  2628. return
  2629. }
  2630. // ListTagsForResource API operation for Amazon ElastiCache.
  2631. //
  2632. // Lists all cost allocation tags currently on the named resource. A cost allocation
  2633. // tag is a key-value pair where the key is case-sensitive and the value is
  2634. // optional. You can use cost allocation tags to categorize and track your AWS
  2635. // costs.
  2636. //
  2637. // You can have a maximum of 10 cost allocation tags on an ElastiCache resource.
  2638. // For more information, see Using Cost Allocation Tags in Amazon ElastiCache
  2639. // (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html).
  2640. //
  2641. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2642. // with awserr.Error's Code and Message methods to get detailed information about
  2643. // the error.
  2644. //
  2645. // See the AWS API reference guide for Amazon ElastiCache's
  2646. // API operation ListTagsForResource for usage and error information.
  2647. //
  2648. // Returned Error Codes:
  2649. // * CacheClusterNotFound
  2650. // The requested cache cluster ID does not refer to an existing cache cluster.
  2651. //
  2652. // * SnapshotNotFoundFault
  2653. // The requested snapshot name does not refer to an existing snapshot.
  2654. //
  2655. // * InvalidARN
  2656. // The requested Amazon Resource Name (ARN) does not refer to an existing resource.
  2657. //
  2658. func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) {
  2659. req, out := c.ListTagsForResourceRequest(input)
  2660. err := req.Send()
  2661. return out, err
  2662. }
  2663. const opModifyCacheCluster = "ModifyCacheCluster"
  2664. // ModifyCacheClusterRequest generates a "aws/request.Request" representing the
  2665. // client's request for the ModifyCacheCluster operation. The "output" return
  2666. // value can be used to capture response data after the request's "Send" method
  2667. // is called.
  2668. //
  2669. // See ModifyCacheCluster for usage and error information.
  2670. //
  2671. // Creating a request object using this method should be used when you want to inject
  2672. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2673. // access properties on the request object before or after sending the request. If
  2674. // you just want the service response, call the ModifyCacheCluster method directly
  2675. // instead.
  2676. //
  2677. // Note: You must call the "Send" method on the returned request object in order
  2678. // to execute the request.
  2679. //
  2680. // // Example sending a request using the ModifyCacheClusterRequest method.
  2681. // req, resp := client.ModifyCacheClusterRequest(params)
  2682. //
  2683. // err := req.Send()
  2684. // if err == nil { // resp is now filled
  2685. // fmt.Println(resp)
  2686. // }
  2687. //
  2688. func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) {
  2689. op := &request.Operation{
  2690. Name: opModifyCacheCluster,
  2691. HTTPMethod: "POST",
  2692. HTTPPath: "/",
  2693. }
  2694. if input == nil {
  2695. input = &ModifyCacheClusterInput{}
  2696. }
  2697. req = c.newRequest(op, input, output)
  2698. output = &ModifyCacheClusterOutput{}
  2699. req.Data = output
  2700. return
  2701. }
  2702. // ModifyCacheCluster API operation for Amazon ElastiCache.
  2703. //
  2704. // Modifies the settings for a cache cluster. You can use this operation to
  2705. // change one or more cluster configuration parameters by specifying the parameters
  2706. // and the new values.
  2707. //
  2708. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2709. // with awserr.Error's Code and Message methods to get detailed information about
  2710. // the error.
  2711. //
  2712. // See the AWS API reference guide for Amazon ElastiCache's
  2713. // API operation ModifyCacheCluster for usage and error information.
  2714. //
  2715. // Returned Error Codes:
  2716. // * InvalidCacheClusterState
  2717. // The requested cache cluster is not in the available state.
  2718. //
  2719. // * InvalidCacheSecurityGroupState
  2720. // The current state of the cache security group does not allow deletion.
  2721. //
  2722. // * InsufficientCacheClusterCapacity
  2723. // The requested cache node type is not available in the specified Availability
  2724. // Zone.
  2725. //
  2726. // * CacheClusterNotFound
  2727. // The requested cache cluster ID does not refer to an existing cache cluster.
  2728. //
  2729. // * NodeQuotaForClusterExceeded
  2730. // The request cannot be processed because it would exceed the allowed number
  2731. // of cache nodes in a single cache cluster.
  2732. //
  2733. // * NodeQuotaForCustomerExceeded
  2734. // The request cannot be processed because it would exceed the allowed number
  2735. // of cache nodes per customer.
  2736. //
  2737. // * CacheSecurityGroupNotFound
  2738. // The requested cache security group name does not refer to an existing cache
  2739. // security group.
  2740. //
  2741. // * CacheParameterGroupNotFound
  2742. // The requested cache parameter group name does not refer to an existing cache
  2743. // parameter group.
  2744. //
  2745. // * InvalidVPCNetworkStateFault
  2746. // The VPC network is in an invalid state.
  2747. //
  2748. // * InvalidParameterValue
  2749. // The value for a parameter is invalid.
  2750. //
  2751. // * InvalidParameterCombination
  2752. // Two or more incompatible parameters were specified.
  2753. //
  2754. func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) {
  2755. req, out := c.ModifyCacheClusterRequest(input)
  2756. err := req.Send()
  2757. return out, err
  2758. }
  2759. const opModifyCacheParameterGroup = "ModifyCacheParameterGroup"
  2760. // ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the
  2761. // client's request for the ModifyCacheParameterGroup operation. The "output" return
  2762. // value can be used to capture response data after the request's "Send" method
  2763. // is called.
  2764. //
  2765. // See ModifyCacheParameterGroup for usage and error information.
  2766. //
  2767. // Creating a request object using this method should be used when you want to inject
  2768. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2769. // access properties on the request object before or after sending the request. If
  2770. // you just want the service response, call the ModifyCacheParameterGroup method directly
  2771. // instead.
  2772. //
  2773. // Note: You must call the "Send" method on the returned request object in order
  2774. // to execute the request.
  2775. //
  2776. // // Example sending a request using the ModifyCacheParameterGroupRequest method.
  2777. // req, resp := client.ModifyCacheParameterGroupRequest(params)
  2778. //
  2779. // err := req.Send()
  2780. // if err == nil { // resp is now filled
  2781. // fmt.Println(resp)
  2782. // }
  2783. //
  2784. func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) {
  2785. op := &request.Operation{
  2786. Name: opModifyCacheParameterGroup,
  2787. HTTPMethod: "POST",
  2788. HTTPPath: "/",
  2789. }
  2790. if input == nil {
  2791. input = &ModifyCacheParameterGroupInput{}
  2792. }
  2793. req = c.newRequest(op, input, output)
  2794. output = &CacheParameterGroupNameMessage{}
  2795. req.Data = output
  2796. return
  2797. }
  2798. // ModifyCacheParameterGroup API operation for Amazon ElastiCache.
  2799. //
  2800. // Modifies the parameters of a cache parameter group. You can modify up to
  2801. // 20 parameters in a single request by submitting a list parameter name and
  2802. // value pairs.
  2803. //
  2804. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2805. // with awserr.Error's Code and Message methods to get detailed information about
  2806. // the error.
  2807. //
  2808. // See the AWS API reference guide for Amazon ElastiCache's
  2809. // API operation ModifyCacheParameterGroup for usage and error information.
  2810. //
  2811. // Returned Error Codes:
  2812. // * CacheParameterGroupNotFound
  2813. // The requested cache parameter group name does not refer to an existing cache
  2814. // parameter group.
  2815. //
  2816. // * InvalidCacheParameterGroupState
  2817. // The current state of the cache parameter group does not allow the requested
  2818. // operation to occur.
  2819. //
  2820. // * InvalidParameterValue
  2821. // The value for a parameter is invalid.
  2822. //
  2823. // * InvalidParameterCombination
  2824. // Two or more incompatible parameters were specified.
  2825. //
  2826. func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) {
  2827. req, out := c.ModifyCacheParameterGroupRequest(input)
  2828. err := req.Send()
  2829. return out, err
  2830. }
  2831. const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup"
  2832. // ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the
  2833. // client's request for the ModifyCacheSubnetGroup operation. The "output" return
  2834. // value can be used to capture response data after the request's "Send" method
  2835. // is called.
  2836. //
  2837. // See ModifyCacheSubnetGroup for usage and error information.
  2838. //
  2839. // Creating a request object using this method should be used when you want to inject
  2840. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2841. // access properties on the request object before or after sending the request. If
  2842. // you just want the service response, call the ModifyCacheSubnetGroup method directly
  2843. // instead.
  2844. //
  2845. // Note: You must call the "Send" method on the returned request object in order
  2846. // to execute the request.
  2847. //
  2848. // // Example sending a request using the ModifyCacheSubnetGroupRequest method.
  2849. // req, resp := client.ModifyCacheSubnetGroupRequest(params)
  2850. //
  2851. // err := req.Send()
  2852. // if err == nil { // resp is now filled
  2853. // fmt.Println(resp)
  2854. // }
  2855. //
  2856. func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) {
  2857. op := &request.Operation{
  2858. Name: opModifyCacheSubnetGroup,
  2859. HTTPMethod: "POST",
  2860. HTTPPath: "/",
  2861. }
  2862. if input == nil {
  2863. input = &ModifyCacheSubnetGroupInput{}
  2864. }
  2865. req = c.newRequest(op, input, output)
  2866. output = &ModifyCacheSubnetGroupOutput{}
  2867. req.Data = output
  2868. return
  2869. }
  2870. // ModifyCacheSubnetGroup API operation for Amazon ElastiCache.
  2871. //
  2872. // Modifies an existing cache subnet group.
  2873. //
  2874. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2875. // with awserr.Error's Code and Message methods to get detailed information about
  2876. // the error.
  2877. //
  2878. // See the AWS API reference guide for Amazon ElastiCache's
  2879. // API operation ModifyCacheSubnetGroup for usage and error information.
  2880. //
  2881. // Returned Error Codes:
  2882. // * CacheSubnetGroupNotFoundFault
  2883. // The requested cache subnet group name does not refer to an existing cache
  2884. // subnet group.
  2885. //
  2886. // * CacheSubnetQuotaExceededFault
  2887. // The request cannot be processed because it would exceed the allowed number
  2888. // of subnets in a cache subnet group.
  2889. //
  2890. // * SubnetInUse
  2891. // The requested subnet is being used by another cache subnet group.
  2892. //
  2893. // * InvalidSubnet
  2894. // An invalid subnet identifier was specified.
  2895. //
  2896. func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) {
  2897. req, out := c.ModifyCacheSubnetGroupRequest(input)
  2898. err := req.Send()
  2899. return out, err
  2900. }
  2901. const opModifyReplicationGroup = "ModifyReplicationGroup"
  2902. // ModifyReplicationGroupRequest generates a "aws/request.Request" representing the
  2903. // client's request for the ModifyReplicationGroup operation. The "output" return
  2904. // value can be used to capture response data after the request's "Send" method
  2905. // is called.
  2906. //
  2907. // See ModifyReplicationGroup for usage and error information.
  2908. //
  2909. // Creating a request object using this method should be used when you want to inject
  2910. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2911. // access properties on the request object before or after sending the request. If
  2912. // you just want the service response, call the ModifyReplicationGroup method directly
  2913. // instead.
  2914. //
  2915. // Note: You must call the "Send" method on the returned request object in order
  2916. // to execute the request.
  2917. //
  2918. // // Example sending a request using the ModifyReplicationGroupRequest method.
  2919. // req, resp := client.ModifyReplicationGroupRequest(params)
  2920. //
  2921. // err := req.Send()
  2922. // if err == nil { // resp is now filled
  2923. // fmt.Println(resp)
  2924. // }
  2925. //
  2926. func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) {
  2927. op := &request.Operation{
  2928. Name: opModifyReplicationGroup,
  2929. HTTPMethod: "POST",
  2930. HTTPPath: "/",
  2931. }
  2932. if input == nil {
  2933. input = &ModifyReplicationGroupInput{}
  2934. }
  2935. req = c.newRequest(op, input, output)
  2936. output = &ModifyReplicationGroupOutput{}
  2937. req.Data = output
  2938. return
  2939. }
  2940. // ModifyReplicationGroup API operation for Amazon ElastiCache.
  2941. //
  2942. // Modifies the settings for a replication group.
  2943. //
  2944. // Due to current limitations on Redis (cluster mode disabled), this operation
  2945. // or parameter is not supported on Redis (cluster mode enabled) replication
  2946. // groups.
  2947. //
  2948. // This operation is valid for Redis only.
  2949. //
  2950. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2951. // with awserr.Error's Code and Message methods to get detailed information about
  2952. // the error.
  2953. //
  2954. // See the AWS API reference guide for Amazon ElastiCache's
  2955. // API operation ModifyReplicationGroup for usage and error information.
  2956. //
  2957. // Returned Error Codes:
  2958. // * ReplicationGroupNotFoundFault
  2959. // The specified replication group does not exist.
  2960. //
  2961. // * InvalidReplicationGroupState
  2962. // The requested replication group is not in the available state.
  2963. //
  2964. // * InvalidCacheClusterState
  2965. // The requested cache cluster is not in the available state.
  2966. //
  2967. // * InvalidCacheSecurityGroupState
  2968. // The current state of the cache security group does not allow deletion.
  2969. //
  2970. // * InsufficientCacheClusterCapacity
  2971. // The requested cache node type is not available in the specified Availability
  2972. // Zone.
  2973. //
  2974. // * CacheClusterNotFound
  2975. // The requested cache cluster ID does not refer to an existing cache cluster.
  2976. //
  2977. // * NodeQuotaForClusterExceeded
  2978. // The request cannot be processed because it would exceed the allowed number
  2979. // of cache nodes in a single cache cluster.
  2980. //
  2981. // * NodeQuotaForCustomerExceeded
  2982. // The request cannot be processed because it would exceed the allowed number
  2983. // of cache nodes per customer.
  2984. //
  2985. // * CacheSecurityGroupNotFound
  2986. // The requested cache security group name does not refer to an existing cache
  2987. // security group.
  2988. //
  2989. // * CacheParameterGroupNotFound
  2990. // The requested cache parameter group name does not refer to an existing cache
  2991. // parameter group.
  2992. //
  2993. // * InvalidVPCNetworkStateFault
  2994. // The VPC network is in an invalid state.
  2995. //
  2996. // * InvalidParameterValue
  2997. // The value for a parameter is invalid.
  2998. //
  2999. // * InvalidParameterCombination
  3000. // Two or more incompatible parameters were specified.
  3001. //
  3002. func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) {
  3003. req, out := c.ModifyReplicationGroupRequest(input)
  3004. err := req.Send()
  3005. return out, err
  3006. }
  3007. const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering"
  3008. // PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the
  3009. // client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return
  3010. // value can be used to capture response data after the request's "Send" method
  3011. // is called.
  3012. //
  3013. // See PurchaseReservedCacheNodesOffering for usage and error information.
  3014. //
  3015. // Creating a request object using this method should be used when you want to inject
  3016. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3017. // access properties on the request object before or after sending the request. If
  3018. // you just want the service response, call the PurchaseReservedCacheNodesOffering method directly
  3019. // instead.
  3020. //
  3021. // Note: You must call the "Send" method on the returned request object in order
  3022. // to execute the request.
  3023. //
  3024. // // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method.
  3025. // req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params)
  3026. //
  3027. // err := req.Send()
  3028. // if err == nil { // resp is now filled
  3029. // fmt.Println(resp)
  3030. // }
  3031. //
  3032. func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) {
  3033. op := &request.Operation{
  3034. Name: opPurchaseReservedCacheNodesOffering,
  3035. HTTPMethod: "POST",
  3036. HTTPPath: "/",
  3037. }
  3038. if input == nil {
  3039. input = &PurchaseReservedCacheNodesOfferingInput{}
  3040. }
  3041. req = c.newRequest(op, input, output)
  3042. output = &PurchaseReservedCacheNodesOfferingOutput{}
  3043. req.Data = output
  3044. return
  3045. }
  3046. // PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache.
  3047. //
  3048. // Allows you to purchase a reserved cache node offering.
  3049. //
  3050. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3051. // with awserr.Error's Code and Message methods to get detailed information about
  3052. // the error.
  3053. //
  3054. // See the AWS API reference guide for Amazon ElastiCache's
  3055. // API operation PurchaseReservedCacheNodesOffering for usage and error information.
  3056. //
  3057. // Returned Error Codes:
  3058. // * ReservedCacheNodesOfferingNotFound
  3059. // The requested cache node offering does not exist.
  3060. //
  3061. // * ReservedCacheNodeAlreadyExists
  3062. // You already have a reservation with the given identifier.
  3063. //
  3064. // * ReservedCacheNodeQuotaExceeded
  3065. // The request cannot be processed because it would exceed the user's cache
  3066. // node quota.
  3067. //
  3068. // * InvalidParameterValue
  3069. // The value for a parameter is invalid.
  3070. //
  3071. // * InvalidParameterCombination
  3072. // Two or more incompatible parameters were specified.
  3073. //
  3074. func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) {
  3075. req, out := c.PurchaseReservedCacheNodesOfferingRequest(input)
  3076. err := req.Send()
  3077. return out, err
  3078. }
  3079. const opRebootCacheCluster = "RebootCacheCluster"
  3080. // RebootCacheClusterRequest generates a "aws/request.Request" representing the
  3081. // client's request for the RebootCacheCluster operation. The "output" return
  3082. // value can be used to capture response data after the request's "Send" method
  3083. // is called.
  3084. //
  3085. // See RebootCacheCluster for usage and error information.
  3086. //
  3087. // Creating a request object using this method should be used when you want to inject
  3088. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3089. // access properties on the request object before or after sending the request. If
  3090. // you just want the service response, call the RebootCacheCluster method directly
  3091. // instead.
  3092. //
  3093. // Note: You must call the "Send" method on the returned request object in order
  3094. // to execute the request.
  3095. //
  3096. // // Example sending a request using the RebootCacheClusterRequest method.
  3097. // req, resp := client.RebootCacheClusterRequest(params)
  3098. //
  3099. // err := req.Send()
  3100. // if err == nil { // resp is now filled
  3101. // fmt.Println(resp)
  3102. // }
  3103. //
  3104. func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) {
  3105. op := &request.Operation{
  3106. Name: opRebootCacheCluster,
  3107. HTTPMethod: "POST",
  3108. HTTPPath: "/",
  3109. }
  3110. if input == nil {
  3111. input = &RebootCacheClusterInput{}
  3112. }
  3113. req = c.newRequest(op, input, output)
  3114. output = &RebootCacheClusterOutput{}
  3115. req.Data = output
  3116. return
  3117. }
  3118. // RebootCacheCluster API operation for Amazon ElastiCache.
  3119. //
  3120. // Reboots some, or all, of the cache nodes within a provisioned cache cluster.
  3121. // This operation applies any modified cache parameter groups to the cache cluster.
  3122. // The reboot operation takes place as soon as possible, and results in a momentary
  3123. // outage to the cache cluster. During the reboot, the cache cluster status
  3124. // is set to REBOOTING.
  3125. //
  3126. // The reboot causes the contents of the cache (for each cache node being rebooted)
  3127. // to be lost.
  3128. //
  3129. // When the reboot is complete, a cache cluster event is created.
  3130. //
  3131. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3132. // with awserr.Error's Code and Message methods to get detailed information about
  3133. // the error.
  3134. //
  3135. // See the AWS API reference guide for Amazon ElastiCache's
  3136. // API operation RebootCacheCluster for usage and error information.
  3137. //
  3138. // Returned Error Codes:
  3139. // * InvalidCacheClusterState
  3140. // The requested cache cluster is not in the available state.
  3141. //
  3142. // * CacheClusterNotFound
  3143. // The requested cache cluster ID does not refer to an existing cache cluster.
  3144. //
  3145. func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) {
  3146. req, out := c.RebootCacheClusterRequest(input)
  3147. err := req.Send()
  3148. return out, err
  3149. }
  3150. const opRemoveTagsFromResource = "RemoveTagsFromResource"
  3151. // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  3152. // client's request for the RemoveTagsFromResource operation. The "output" return
  3153. // value can be used to capture response data after the request's "Send" method
  3154. // is called.
  3155. //
  3156. // See RemoveTagsFromResource for usage and error information.
  3157. //
  3158. // Creating a request object using this method should be used when you want to inject
  3159. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3160. // access properties on the request object before or after sending the request. If
  3161. // you just want the service response, call the RemoveTagsFromResource method directly
  3162. // instead.
  3163. //
  3164. // Note: You must call the "Send" method on the returned request object in order
  3165. // to execute the request.
  3166. //
  3167. // // Example sending a request using the RemoveTagsFromResourceRequest method.
  3168. // req, resp := client.RemoveTagsFromResourceRequest(params)
  3169. //
  3170. // err := req.Send()
  3171. // if err == nil { // resp is now filled
  3172. // fmt.Println(resp)
  3173. // }
  3174. //
  3175. func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) {
  3176. op := &request.Operation{
  3177. Name: opRemoveTagsFromResource,
  3178. HTTPMethod: "POST",
  3179. HTTPPath: "/",
  3180. }
  3181. if input == nil {
  3182. input = &RemoveTagsFromResourceInput{}
  3183. }
  3184. req = c.newRequest(op, input, output)
  3185. output = &TagListMessage{}
  3186. req.Data = output
  3187. return
  3188. }
  3189. // RemoveTagsFromResource API operation for Amazon ElastiCache.
  3190. //
  3191. // Removes the tags identified by the TagKeys list from the named resource.
  3192. //
  3193. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3194. // with awserr.Error's Code and Message methods to get detailed information about
  3195. // the error.
  3196. //
  3197. // See the AWS API reference guide for Amazon ElastiCache's
  3198. // API operation RemoveTagsFromResource for usage and error information.
  3199. //
  3200. // Returned Error Codes:
  3201. // * CacheClusterNotFound
  3202. // The requested cache cluster ID does not refer to an existing cache cluster.
  3203. //
  3204. // * SnapshotNotFoundFault
  3205. // The requested snapshot name does not refer to an existing snapshot.
  3206. //
  3207. // * InvalidARN
  3208. // The requested Amazon Resource Name (ARN) does not refer to an existing resource.
  3209. //
  3210. // * TagNotFound
  3211. // The requested tag was not found on this resource.
  3212. //
  3213. func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) {
  3214. req, out := c.RemoveTagsFromResourceRequest(input)
  3215. err := req.Send()
  3216. return out, err
  3217. }
  3218. const opResetCacheParameterGroup = "ResetCacheParameterGroup"
  3219. // ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the
  3220. // client's request for the ResetCacheParameterGroup operation. The "output" return
  3221. // value can be used to capture response data after the request's "Send" method
  3222. // is called.
  3223. //
  3224. // See ResetCacheParameterGroup for usage and error information.
  3225. //
  3226. // Creating a request object using this method should be used when you want to inject
  3227. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3228. // access properties on the request object before or after sending the request. If
  3229. // you just want the service response, call the ResetCacheParameterGroup method directly
  3230. // instead.
  3231. //
  3232. // Note: You must call the "Send" method on the returned request object in order
  3233. // to execute the request.
  3234. //
  3235. // // Example sending a request using the ResetCacheParameterGroupRequest method.
  3236. // req, resp := client.ResetCacheParameterGroupRequest(params)
  3237. //
  3238. // err := req.Send()
  3239. // if err == nil { // resp is now filled
  3240. // fmt.Println(resp)
  3241. // }
  3242. //
  3243. func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) {
  3244. op := &request.Operation{
  3245. Name: opResetCacheParameterGroup,
  3246. HTTPMethod: "POST",
  3247. HTTPPath: "/",
  3248. }
  3249. if input == nil {
  3250. input = &ResetCacheParameterGroupInput{}
  3251. }
  3252. req = c.newRequest(op, input, output)
  3253. output = &CacheParameterGroupNameMessage{}
  3254. req.Data = output
  3255. return
  3256. }
  3257. // ResetCacheParameterGroup API operation for Amazon ElastiCache.
  3258. //
  3259. // Modifies the parameters of a cache parameter group to the engine or system
  3260. // default value. You can reset specific parameters by submitting a list of
  3261. // parameter names. To reset the entire cache parameter group, specify the ResetAllParameters
  3262. // and CacheParameterGroupName parameters.
  3263. //
  3264. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3265. // with awserr.Error's Code and Message methods to get detailed information about
  3266. // the error.
  3267. //
  3268. // See the AWS API reference guide for Amazon ElastiCache's
  3269. // API operation ResetCacheParameterGroup for usage and error information.
  3270. //
  3271. // Returned Error Codes:
  3272. // * InvalidCacheParameterGroupState
  3273. // The current state of the cache parameter group does not allow the requested
  3274. // operation to occur.
  3275. //
  3276. // * CacheParameterGroupNotFound
  3277. // The requested cache parameter group name does not refer to an existing cache
  3278. // parameter group.
  3279. //
  3280. // * InvalidParameterValue
  3281. // The value for a parameter is invalid.
  3282. //
  3283. // * InvalidParameterCombination
  3284. // Two or more incompatible parameters were specified.
  3285. //
  3286. func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) {
  3287. req, out := c.ResetCacheParameterGroupRequest(input)
  3288. err := req.Send()
  3289. return out, err
  3290. }
  3291. const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress"
  3292. // RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  3293. // client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return
  3294. // value can be used to capture response data after the request's "Send" method
  3295. // is called.
  3296. //
  3297. // See RevokeCacheSecurityGroupIngress for usage and error information.
  3298. //
  3299. // Creating a request object using this method should be used when you want to inject
  3300. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3301. // access properties on the request object before or after sending the request. If
  3302. // you just want the service response, call the RevokeCacheSecurityGroupIngress method directly
  3303. // instead.
  3304. //
  3305. // Note: You must call the "Send" method on the returned request object in order
  3306. // to execute the request.
  3307. //
  3308. // // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method.
  3309. // req, resp := client.RevokeCacheSecurityGroupIngressRequest(params)
  3310. //
  3311. // err := req.Send()
  3312. // if err == nil { // resp is now filled
  3313. // fmt.Println(resp)
  3314. // }
  3315. //
  3316. func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) {
  3317. op := &request.Operation{
  3318. Name: opRevokeCacheSecurityGroupIngress,
  3319. HTTPMethod: "POST",
  3320. HTTPPath: "/",
  3321. }
  3322. if input == nil {
  3323. input = &RevokeCacheSecurityGroupIngressInput{}
  3324. }
  3325. req = c.newRequest(op, input, output)
  3326. output = &RevokeCacheSecurityGroupIngressOutput{}
  3327. req.Data = output
  3328. return
  3329. }
  3330. // RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache.
  3331. //
  3332. // Revokes ingress from a cache security group. Use this operation to disallow
  3333. // access from an Amazon EC2 security group that had been previously authorized.
  3334. //
  3335. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3336. // with awserr.Error's Code and Message methods to get detailed information about
  3337. // the error.
  3338. //
  3339. // See the AWS API reference guide for Amazon ElastiCache's
  3340. // API operation RevokeCacheSecurityGroupIngress for usage and error information.
  3341. //
  3342. // Returned Error Codes:
  3343. // * CacheSecurityGroupNotFound
  3344. // The requested cache security group name does not refer to an existing cache
  3345. // security group.
  3346. //
  3347. // * AuthorizationNotFound
  3348. // The specified Amazon EC2 security group is not authorized for the specified
  3349. // cache security group.
  3350. //
  3351. // * InvalidCacheSecurityGroupState
  3352. // The current state of the cache security group does not allow deletion.
  3353. //
  3354. // * InvalidParameterValue
  3355. // The value for a parameter is invalid.
  3356. //
  3357. // * InvalidParameterCombination
  3358. // Two or more incompatible parameters were specified.
  3359. //
  3360. func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) {
  3361. req, out := c.RevokeCacheSecurityGroupIngressRequest(input)
  3362. err := req.Send()
  3363. return out, err
  3364. }
  3365. // Represents the input of an AddTagsToResource operation.
  3366. type AddTagsToResourceInput struct {
  3367. _ struct{} `type:"structure"`
  3368. // The Amazon Resource Name (ARN) of the resource to which the tags are to be
  3369. // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
  3370. // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
  3371. //
  3372. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  3373. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
  3374. //
  3375. // ResourceName is a required field
  3376. ResourceName *string `type:"string" required:"true"`
  3377. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  3378. // pair. A tag key must be accompanied by a tag value.
  3379. //
  3380. // Tags is a required field
  3381. Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  3382. }
  3383. // String returns the string representation
  3384. func (s AddTagsToResourceInput) String() string {
  3385. return awsutil.Prettify(s)
  3386. }
  3387. // GoString returns the string representation
  3388. func (s AddTagsToResourceInput) GoString() string {
  3389. return s.String()
  3390. }
  3391. // Validate inspects the fields of the type to determine if they are valid.
  3392. func (s *AddTagsToResourceInput) Validate() error {
  3393. invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  3394. if s.ResourceName == nil {
  3395. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  3396. }
  3397. if s.Tags == nil {
  3398. invalidParams.Add(request.NewErrParamRequired("Tags"))
  3399. }
  3400. if invalidParams.Len() > 0 {
  3401. return invalidParams
  3402. }
  3403. return nil
  3404. }
  3405. // Represents the input of an AuthorizeCacheSecurityGroupIngress operation.
  3406. type AuthorizeCacheSecurityGroupIngressInput struct {
  3407. _ struct{} `type:"structure"`
  3408. // The cache security group that allows network ingress.
  3409. //
  3410. // CacheSecurityGroupName is a required field
  3411. CacheSecurityGroupName *string `type:"string" required:"true"`
  3412. // The Amazon EC2 security group to be authorized for ingress to the cache security
  3413. // group.
  3414. //
  3415. // EC2SecurityGroupName is a required field
  3416. EC2SecurityGroupName *string `type:"string" required:"true"`
  3417. // The AWS account number of the Amazon EC2 security group owner. Note that
  3418. // this is not the same thing as an AWS access key ID - you must provide a valid
  3419. // AWS account number for this parameter.
  3420. //
  3421. // EC2SecurityGroupOwnerId is a required field
  3422. EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
  3423. }
  3424. // String returns the string representation
  3425. func (s AuthorizeCacheSecurityGroupIngressInput) String() string {
  3426. return awsutil.Prettify(s)
  3427. }
  3428. // GoString returns the string representation
  3429. func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string {
  3430. return s.String()
  3431. }
  3432. // Validate inspects the fields of the type to determine if they are valid.
  3433. func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error {
  3434. invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"}
  3435. if s.CacheSecurityGroupName == nil {
  3436. invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName"))
  3437. }
  3438. if s.EC2SecurityGroupName == nil {
  3439. invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName"))
  3440. }
  3441. if s.EC2SecurityGroupOwnerId == nil {
  3442. invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId"))
  3443. }
  3444. if invalidParams.Len() > 0 {
  3445. return invalidParams
  3446. }
  3447. return nil
  3448. }
  3449. type AuthorizeCacheSecurityGroupIngressOutput struct {
  3450. _ struct{} `type:"structure"`
  3451. // Represents the output of one of the following operations:
  3452. //
  3453. // * AuthorizeCacheSecurityGroupIngress
  3454. //
  3455. // * CreateCacheSecurityGroup
  3456. //
  3457. // * RevokeCacheSecurityGroupIngress
  3458. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  3459. }
  3460. // String returns the string representation
  3461. func (s AuthorizeCacheSecurityGroupIngressOutput) String() string {
  3462. return awsutil.Prettify(s)
  3463. }
  3464. // GoString returns the string representation
  3465. func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string {
  3466. return s.String()
  3467. }
  3468. // Describes an Availability Zone in which the cache cluster is launched.
  3469. type AvailabilityZone struct {
  3470. _ struct{} `type:"structure"`
  3471. // The name of the Availability Zone.
  3472. Name *string `type:"string"`
  3473. }
  3474. // String returns the string representation
  3475. func (s AvailabilityZone) String() string {
  3476. return awsutil.Prettify(s)
  3477. }
  3478. // GoString returns the string representation
  3479. func (s AvailabilityZone) GoString() string {
  3480. return s.String()
  3481. }
  3482. // Contains all of the attributes of a specific cache cluster.
  3483. type CacheCluster struct {
  3484. _ struct{} `type:"structure"`
  3485. // This parameter is currently disabled.
  3486. AutoMinorVersionUpgrade *bool `type:"boolean"`
  3487. // The date and time when the cache cluster was created.
  3488. CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3489. // The user-supplied identifier of the cache cluster. This identifier is a unique
  3490. // key that identifies a cache cluster.
  3491. CacheClusterId *string `type:"string"`
  3492. // The current state of this cache cluster, one of the following values: available,
  3493. // creating, deleted, deleting, incompatible-network, modifying, rebooting cache
  3494. // cluster nodes, restore-failed, or snapshotting.
  3495. CacheClusterStatus *string `type:"string"`
  3496. // The name of the compute and memory capacity node type for the cache cluster.
  3497. //
  3498. // Valid node types are as follows:
  3499. //
  3500. // * General purpose:
  3501. //
  3502. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  3503. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  3504. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  3505. //
  3506. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  3507. // cache.m1.xlarge
  3508. //
  3509. // * Compute optimized: cache.c1.xlarge
  3510. //
  3511. // * Memory optimized:
  3512. //
  3513. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  3514. // cache.r3.8xlarge
  3515. //
  3516. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  3517. //
  3518. // Notes:
  3519. //
  3520. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  3521. // VPC).
  3522. //
  3523. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  3524. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  3525. // enabled) T2 instances.
  3526. //
  3527. // * Redis Append-only files (AOF) functionality is not supported for T1
  3528. // or T2 instances.
  3529. //
  3530. // For a complete listing of node types and specifications, see Amazon ElastiCache
  3531. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  3532. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  3533. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  3534. CacheNodeType *string `type:"string"`
  3535. // A list of cache nodes that are members of the cache cluster.
  3536. CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"`
  3537. // Status of the cache parameter group.
  3538. CacheParameterGroup *CacheParameterGroupStatus `type:"structure"`
  3539. // A list of cache security group elements, composed of name and status sub-elements.
  3540. CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"`
  3541. // The name of the cache subnet group associated with the cache cluster.
  3542. CacheSubnetGroupName *string `type:"string"`
  3543. // The URL of the web page where you can download the latest ElastiCache client
  3544. // library.
  3545. ClientDownloadLandingPage *string `type:"string"`
  3546. // Represents the information required for client programs to connect to a cache
  3547. // node.
  3548. ConfigurationEndpoint *Endpoint `type:"structure"`
  3549. // The name of the cache engine (memcached or redis) to be used for this cache
  3550. // cluster.
  3551. Engine *string `type:"string"`
  3552. // The version of the cache engine that is used in this cache cluster.
  3553. EngineVersion *string `type:"string"`
  3554. // Describes a notification topic and its status. Notification topics are used
  3555. // for publishing ElastiCache events to subscribers using Amazon Simple Notification
  3556. // Service (SNS).
  3557. NotificationConfiguration *NotificationConfiguration `type:"structure"`
  3558. // The number of cache nodes in the cache cluster.
  3559. //
  3560. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  3561. // this value must be between 1 and 20.
  3562. NumCacheNodes *int64 `type:"integer"`
  3563. // A group of settings that are applied to the cache cluster in the future,
  3564. // or that are currently being applied.
  3565. PendingModifiedValues *PendingModifiedValues `type:"structure"`
  3566. // The name of the Availability Zone in which the cache cluster is located or
  3567. // "Multiple" if the cache nodes are located in different Availability Zones.
  3568. PreferredAvailabilityZone *string `type:"string"`
  3569. // Specifies the weekly time range during which maintenance on the cluster is
  3570. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  3571. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  3572. //
  3573. // Valid values for ddd are:
  3574. //
  3575. // * sun
  3576. //
  3577. // * mon
  3578. //
  3579. // * tue
  3580. //
  3581. // * wed
  3582. //
  3583. // * thu
  3584. //
  3585. // * fri
  3586. //
  3587. // * sat
  3588. //
  3589. // Example: sun:23:00-mon:01:30
  3590. PreferredMaintenanceWindow *string `type:"string"`
  3591. // The replication group to which this cache cluster belongs. If this field
  3592. // is empty, the cache cluster is not associated with any replication group.
  3593. ReplicationGroupId *string `type:"string"`
  3594. // A list of VPC Security Groups associated with the cache cluster.
  3595. SecurityGroups []*SecurityGroupMembership `type:"list"`
  3596. // The number of days for which ElastiCache retains automatic cache cluster
  3597. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  3598. // to 5, a snapshot that was taken today is retained for 5 days before being
  3599. // deleted.
  3600. //
  3601. // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned
  3602. // off.
  3603. SnapshotRetentionLimit *int64 `type:"integer"`
  3604. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  3605. // snapshot of your cache cluster.
  3606. //
  3607. // Example: 05:00-09:00
  3608. SnapshotWindow *string `type:"string"`
  3609. }
  3610. // String returns the string representation
  3611. func (s CacheCluster) String() string {
  3612. return awsutil.Prettify(s)
  3613. }
  3614. // GoString returns the string representation
  3615. func (s CacheCluster) GoString() string {
  3616. return s.String()
  3617. }
  3618. // Provides all of the details about a particular cache engine version.
  3619. type CacheEngineVersion struct {
  3620. _ struct{} `type:"structure"`
  3621. // The description of the cache engine.
  3622. CacheEngineDescription *string `type:"string"`
  3623. // The description of the cache engine version.
  3624. CacheEngineVersionDescription *string `type:"string"`
  3625. // The name of the cache parameter group family associated with this cache engine.
  3626. //
  3627. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  3628. CacheParameterGroupFamily *string `type:"string"`
  3629. // The name of the cache engine.
  3630. Engine *string `type:"string"`
  3631. // The version number of the cache engine.
  3632. EngineVersion *string `type:"string"`
  3633. }
  3634. // String returns the string representation
  3635. func (s CacheEngineVersion) String() string {
  3636. return awsutil.Prettify(s)
  3637. }
  3638. // GoString returns the string representation
  3639. func (s CacheEngineVersion) GoString() string {
  3640. return s.String()
  3641. }
  3642. // Represents an individual cache node within a cache cluster. Each cache node
  3643. // runs its own instance of the cluster's protocol-compliant caching software
  3644. // - either Memcached or Redis.
  3645. //
  3646. // Valid node types are as follows:
  3647. //
  3648. // * General purpose:
  3649. //
  3650. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  3651. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  3652. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  3653. //
  3654. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  3655. // cache.m1.xlarge
  3656. //
  3657. // * Compute optimized: cache.c1.xlarge
  3658. //
  3659. // * Memory optimized:
  3660. //
  3661. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  3662. // cache.r3.8xlarge
  3663. //
  3664. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  3665. //
  3666. // Notes:
  3667. //
  3668. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  3669. // VPC).
  3670. //
  3671. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  3672. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  3673. // enabled) T2 instances.
  3674. //
  3675. // * Redis Append-only files (AOF) functionality is not supported for T1
  3676. // or T2 instances.
  3677. //
  3678. // For a complete listing of node types and specifications, see Amazon ElastiCache
  3679. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  3680. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  3681. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  3682. type CacheNode struct {
  3683. _ struct{} `type:"structure"`
  3684. // The date and time when the cache node was created.
  3685. CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3686. // The cache node identifier. A node ID is a numeric identifier (0001, 0002,
  3687. // etc.). The combination of cluster ID and node ID uniquely identifies every
  3688. // cache node used in a customer's AWS account.
  3689. CacheNodeId *string `type:"string"`
  3690. // The current state of this cache node.
  3691. CacheNodeStatus *string `type:"string"`
  3692. // The Availability Zone where this node was created and now resides.
  3693. CustomerAvailabilityZone *string `type:"string"`
  3694. // The hostname for connecting to this cache node.
  3695. Endpoint *Endpoint `type:"structure"`
  3696. // The status of the parameter group applied to this cache node.
  3697. ParameterGroupStatus *string `type:"string"`
  3698. // The ID of the primary node to which this read replica node is synchronized.
  3699. // If this field is empty, this node is not associated with a primary cache
  3700. // cluster.
  3701. SourceCacheNodeId *string `type:"string"`
  3702. }
  3703. // String returns the string representation
  3704. func (s CacheNode) String() string {
  3705. return awsutil.Prettify(s)
  3706. }
  3707. // GoString returns the string representation
  3708. func (s CacheNode) GoString() string {
  3709. return s.String()
  3710. }
  3711. // A parameter that has a different value for each cache node type it is applied
  3712. // to. For example, in a Redis cache cluster, a cache.m1.large cache node type
  3713. // would have a larger maxmemory value than a cache.m1.small type.
  3714. type CacheNodeTypeSpecificParameter struct {
  3715. _ struct{} `type:"structure"`
  3716. // The valid range of values for the parameter.
  3717. AllowedValues *string `type:"string"`
  3718. // A list of cache node types and their corresponding values for this parameter.
  3719. CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"`
  3720. // Indicates whether a change to the parameter is applied immediately or requires
  3721. // a reboot for the change to be applied. You can force a reboot or wait until
  3722. // the next maintenance window's reboot. For more information, see Rebooting
  3723. // a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html).
  3724. ChangeType *string `type:"string" enum:"ChangeType"`
  3725. // The valid data type for the parameter.
  3726. DataType *string `type:"string"`
  3727. // A description of the parameter.
  3728. Description *string `type:"string"`
  3729. // Indicates whether (true) or not (false) the parameter can be modified. Some
  3730. // parameters have security or operational implications that prevent them from
  3731. // being changed.
  3732. IsModifiable *bool `type:"boolean"`
  3733. // The earliest cache engine version to which the parameter can apply.
  3734. MinimumEngineVersion *string `type:"string"`
  3735. // The name of the parameter.
  3736. ParameterName *string `type:"string"`
  3737. // The source of the parameter value.
  3738. Source *string `type:"string"`
  3739. }
  3740. // String returns the string representation
  3741. func (s CacheNodeTypeSpecificParameter) String() string {
  3742. return awsutil.Prettify(s)
  3743. }
  3744. // GoString returns the string representation
  3745. func (s CacheNodeTypeSpecificParameter) GoString() string {
  3746. return s.String()
  3747. }
  3748. // A value that applies only to a certain cache node type.
  3749. type CacheNodeTypeSpecificValue struct {
  3750. _ struct{} `type:"structure"`
  3751. // The cache node type for which this value applies.
  3752. CacheNodeType *string `type:"string"`
  3753. // The value for the cache node type.
  3754. Value *string `type:"string"`
  3755. }
  3756. // String returns the string representation
  3757. func (s CacheNodeTypeSpecificValue) String() string {
  3758. return awsutil.Prettify(s)
  3759. }
  3760. // GoString returns the string representation
  3761. func (s CacheNodeTypeSpecificValue) GoString() string {
  3762. return s.String()
  3763. }
  3764. // Represents the output of a CreateCacheParameterGroup operation.
  3765. type CacheParameterGroup struct {
  3766. _ struct{} `type:"structure"`
  3767. // The name of the cache parameter group family that this cache parameter group
  3768. // is compatible with.
  3769. //
  3770. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  3771. CacheParameterGroupFamily *string `type:"string"`
  3772. // The name of the cache parameter group.
  3773. CacheParameterGroupName *string `type:"string"`
  3774. // The description for this cache parameter group.
  3775. Description *string `type:"string"`
  3776. }
  3777. // String returns the string representation
  3778. func (s CacheParameterGroup) String() string {
  3779. return awsutil.Prettify(s)
  3780. }
  3781. // GoString returns the string representation
  3782. func (s CacheParameterGroup) GoString() string {
  3783. return s.String()
  3784. }
  3785. // Represents the output of one of the following operations:
  3786. //
  3787. // * ModifyCacheParameterGroup
  3788. //
  3789. // * ResetCacheParameterGroup
  3790. type CacheParameterGroupNameMessage struct {
  3791. _ struct{} `type:"structure"`
  3792. // The name of the cache parameter group.
  3793. CacheParameterGroupName *string `type:"string"`
  3794. }
  3795. // String returns the string representation
  3796. func (s CacheParameterGroupNameMessage) String() string {
  3797. return awsutil.Prettify(s)
  3798. }
  3799. // GoString returns the string representation
  3800. func (s CacheParameterGroupNameMessage) GoString() string {
  3801. return s.String()
  3802. }
  3803. // Status of the cache parameter group.
  3804. type CacheParameterGroupStatus struct {
  3805. _ struct{} `type:"structure"`
  3806. // A list of the cache node IDs which need to be rebooted for parameter changes
  3807. // to be applied. A node ID is a numeric identifier (0001, 0002, etc.).
  3808. CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"`
  3809. // The name of the cache parameter group.
  3810. CacheParameterGroupName *string `type:"string"`
  3811. // The status of parameter updates.
  3812. ParameterApplyStatus *string `type:"string"`
  3813. }
  3814. // String returns the string representation
  3815. func (s CacheParameterGroupStatus) String() string {
  3816. return awsutil.Prettify(s)
  3817. }
  3818. // GoString returns the string representation
  3819. func (s CacheParameterGroupStatus) GoString() string {
  3820. return s.String()
  3821. }
  3822. // Represents the output of one of the following operations:
  3823. //
  3824. // * AuthorizeCacheSecurityGroupIngress
  3825. //
  3826. // * CreateCacheSecurityGroup
  3827. //
  3828. // * RevokeCacheSecurityGroupIngress
  3829. type CacheSecurityGroup struct {
  3830. _ struct{} `type:"structure"`
  3831. // The name of the cache security group.
  3832. CacheSecurityGroupName *string `type:"string"`
  3833. // The description of the cache security group.
  3834. Description *string `type:"string"`
  3835. // A list of Amazon EC2 security groups that are associated with this cache
  3836. // security group.
  3837. EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
  3838. // The AWS account ID of the cache security group owner.
  3839. OwnerId *string `type:"string"`
  3840. }
  3841. // String returns the string representation
  3842. func (s CacheSecurityGroup) String() string {
  3843. return awsutil.Prettify(s)
  3844. }
  3845. // GoString returns the string representation
  3846. func (s CacheSecurityGroup) GoString() string {
  3847. return s.String()
  3848. }
  3849. // Represents a cache cluster's status within a particular cache security group.
  3850. type CacheSecurityGroupMembership struct {
  3851. _ struct{} `type:"structure"`
  3852. // The name of the cache security group.
  3853. CacheSecurityGroupName *string `type:"string"`
  3854. // The membership status in the cache security group. The status changes when
  3855. // a cache security group is modified, or when the cache security groups assigned
  3856. // to a cache cluster are modified.
  3857. Status *string `type:"string"`
  3858. }
  3859. // String returns the string representation
  3860. func (s CacheSecurityGroupMembership) String() string {
  3861. return awsutil.Prettify(s)
  3862. }
  3863. // GoString returns the string representation
  3864. func (s CacheSecurityGroupMembership) GoString() string {
  3865. return s.String()
  3866. }
  3867. // Represents the output of one of the following operations:
  3868. //
  3869. // * CreateCacheSubnetGroup
  3870. //
  3871. // * ModifyCacheSubnetGroup
  3872. type CacheSubnetGroup struct {
  3873. _ struct{} `type:"structure"`
  3874. // The description of the cache subnet group.
  3875. CacheSubnetGroupDescription *string `type:"string"`
  3876. // The name of the cache subnet group.
  3877. CacheSubnetGroupName *string `type:"string"`
  3878. // A list of subnets associated with the cache subnet group.
  3879. Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
  3880. // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
  3881. // group.
  3882. VpcId *string `type:"string"`
  3883. }
  3884. // String returns the string representation
  3885. func (s CacheSubnetGroup) String() string {
  3886. return awsutil.Prettify(s)
  3887. }
  3888. // GoString returns the string representation
  3889. func (s CacheSubnetGroup) GoString() string {
  3890. return s.String()
  3891. }
  3892. // Represents the input of a CopySnapshotMessage operation.
  3893. type CopySnapshotInput struct {
  3894. _ struct{} `type:"structure"`
  3895. // The name of an existing snapshot from which to make a copy.
  3896. //
  3897. // SourceSnapshotName is a required field
  3898. SourceSnapshotName *string `type:"string" required:"true"`
  3899. // The Amazon S3 bucket to which the snapshot is exported. This parameter is
  3900. // used only when exporting a snapshot for external access.
  3901. //
  3902. // When using this parameter to export a snapshot, be sure Amazon ElastiCache
  3903. // has the needed permissions to this S3 bucket. For more information, see Step
  3904. // 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess)
  3905. // in the Amazon ElastiCache User Guide.
  3906. //
  3907. // For more information, see Exporting a Snapshot (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html)
  3908. // in the Amazon ElastiCache User Guide.
  3909. TargetBucket *string `type:"string"`
  3910. // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot,
  3911. // therefore this name must be unique within its context - ElastiCache or an
  3912. // Amazon S3 bucket if exporting.
  3913. //
  3914. // TargetSnapshotName is a required field
  3915. TargetSnapshotName *string `type:"string" required:"true"`
  3916. }
  3917. // String returns the string representation
  3918. func (s CopySnapshotInput) String() string {
  3919. return awsutil.Prettify(s)
  3920. }
  3921. // GoString returns the string representation
  3922. func (s CopySnapshotInput) GoString() string {
  3923. return s.String()
  3924. }
  3925. // Validate inspects the fields of the type to determine if they are valid.
  3926. func (s *CopySnapshotInput) Validate() error {
  3927. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  3928. if s.SourceSnapshotName == nil {
  3929. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
  3930. }
  3931. if s.TargetSnapshotName == nil {
  3932. invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
  3933. }
  3934. if invalidParams.Len() > 0 {
  3935. return invalidParams
  3936. }
  3937. return nil
  3938. }
  3939. type CopySnapshotOutput struct {
  3940. _ struct{} `type:"structure"`
  3941. // Represents a copy of an entire Redis cache cluster as of the time when the
  3942. // snapshot was taken.
  3943. Snapshot *Snapshot `type:"structure"`
  3944. }
  3945. // String returns the string representation
  3946. func (s CopySnapshotOutput) String() string {
  3947. return awsutil.Prettify(s)
  3948. }
  3949. // GoString returns the string representation
  3950. func (s CopySnapshotOutput) GoString() string {
  3951. return s.String()
  3952. }
  3953. // Represents the input of a CreateCacheCluster operation.
  3954. type CreateCacheClusterInput struct {
  3955. _ struct{} `type:"structure"`
  3956. // Specifies whether the nodes in this Memcached cluster are created in a single
  3957. // Availability Zone or created across multiple Availability Zones in the cluster's
  3958. // region.
  3959. //
  3960. // This parameter is only supported for Memcached cache clusters.
  3961. //
  3962. // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache
  3963. // assumes single-az mode.
  3964. AZMode *string `type:"string" enum:"AZMode"`
  3965. // This parameter is currently disabled.
  3966. AutoMinorVersionUpgrade *bool `type:"boolean"`
  3967. // The node group (shard) identifier. This parameter is stored as a lowercase
  3968. // string.
  3969. //
  3970. // Constraints:
  3971. //
  3972. // * A name must contain from 1 to 20 alphanumeric characters or hyphens.
  3973. //
  3974. // * The first character must be a letter.
  3975. //
  3976. // * A name cannot end with a hyphen or contain two consecutive hyphens.
  3977. //
  3978. // CacheClusterId is a required field
  3979. CacheClusterId *string `type:"string" required:"true"`
  3980. // The compute and memory capacity of the nodes in the node group (shard).
  3981. //
  3982. // Valid node types are as follows:
  3983. //
  3984. // * General purpose:
  3985. //
  3986. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  3987. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  3988. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  3989. //
  3990. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  3991. // cache.m1.xlarge
  3992. //
  3993. // * Compute optimized: cache.c1.xlarge
  3994. //
  3995. // * Memory optimized:
  3996. //
  3997. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  3998. // cache.r3.8xlarge
  3999. //
  4000. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  4001. //
  4002. // Notes:
  4003. //
  4004. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  4005. // VPC).
  4006. //
  4007. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  4008. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  4009. // enabled) T2 instances.
  4010. //
  4011. // * Redis Append-only files (AOF) functionality is not supported for T1
  4012. // or T2 instances.
  4013. //
  4014. // For a complete listing of node types and specifications, see Amazon ElastiCache
  4015. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  4016. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  4017. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  4018. CacheNodeType *string `type:"string"`
  4019. // The name of the parameter group to associate with this cache cluster. If
  4020. // this argument is omitted, the default parameter group for the specified engine
  4021. // is used. You cannot use any parameter group which has cluster-enabled='yes'
  4022. // when creating a cluster.
  4023. CacheParameterGroupName *string `type:"string"`
  4024. // A list of security group names to associate with this cache cluster.
  4025. //
  4026. // Use this parameter only when you are creating a cache cluster outside of
  4027. // an Amazon Virtual Private Cloud (Amazon VPC).
  4028. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  4029. // The name of the subnet group to be used for the cache cluster.
  4030. //
  4031. // Use this parameter only when you are creating a cache cluster in an Amazon
  4032. // Virtual Private Cloud (Amazon VPC).
  4033. //
  4034. // If you're going to launch your cluster in an Amazon VPC, you need to create
  4035. // a subnet group before you start creating a cluster. For more information,
  4036. // see Subnets and Subnet Groups (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html).
  4037. CacheSubnetGroupName *string `type:"string"`
  4038. // The name of the cache engine to be used for this cache cluster.
  4039. //
  4040. // Valid values for this parameter are: memcached | redis
  4041. Engine *string `type:"string"`
  4042. // The version number of the cache engine to be used for this cache cluster.
  4043. // To view the supported cache engine versions, use the DescribeCacheEngineVersions
  4044. // operation.
  4045. //
  4046. // Important: You can upgrade to a newer engine version (see Selecting a Cache
  4047. // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
  4048. // but you cannot downgrade to an earlier engine version. If you want to use
  4049. // an earlier engine version, you must delete the existing cache cluster or
  4050. // replication group and create it anew with the earlier engine version.
  4051. EngineVersion *string `type:"string"`
  4052. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  4053. // (SNS) topic to which notifications are sent.
  4054. //
  4055. // The Amazon SNS topic owner must be the same as the cache cluster owner.
  4056. NotificationTopicArn *string `type:"string"`
  4057. // The initial number of cache nodes that the cache cluster has.
  4058. //
  4059. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  4060. // this value must be between 1 and 20.
  4061. //
  4062. // If you need more than 20 nodes for your Memcached cluster, please fill out
  4063. // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/
  4064. // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/).
  4065. NumCacheNodes *int64 `type:"integer"`
  4066. // The port number on which each of the cache nodes accepts connections.
  4067. Port *int64 `type:"integer"`
  4068. // The EC2 Availability Zone in which the cache cluster is created.
  4069. //
  4070. // All nodes belonging to this Memcached cache cluster are placed in the preferred
  4071. // Availability Zone. If you want to create your nodes across multiple Availability
  4072. // Zones, use PreferredAvailabilityZones.
  4073. //
  4074. // Default: System chosen Availability Zone.
  4075. PreferredAvailabilityZone *string `type:"string"`
  4076. // A list of the Availability Zones in which cache nodes are created. The order
  4077. // of the zones in the list is not important.
  4078. //
  4079. // This option is only supported on Memcached.
  4080. //
  4081. // If you are creating your cache cluster in an Amazon VPC (recommended) you
  4082. // can only locate nodes in Availability Zones that are associated with the
  4083. // subnets in the selected subnet group.
  4084. //
  4085. // The number of Availability Zones listed must equal the value of NumCacheNodes.
  4086. //
  4087. // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone
  4088. // instead, or repeat the Availability Zone multiple times in the list.
  4089. //
  4090. // Default: System chosen Availability Zones.
  4091. PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`
  4092. // Specifies the weekly time range during which maintenance on the cache cluster
  4093. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4094. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  4095. // values for ddd are:
  4096. //
  4097. // Specifies the weekly time range during which maintenance on the cluster is
  4098. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4099. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  4100. //
  4101. // Valid values for ddd are:
  4102. //
  4103. // * sun
  4104. //
  4105. // * mon
  4106. //
  4107. // * tue
  4108. //
  4109. // * wed
  4110. //
  4111. // * thu
  4112. //
  4113. // * fri
  4114. //
  4115. // * sat
  4116. //
  4117. // Example: sun:23:00-mon:01:30
  4118. PreferredMaintenanceWindow *string `type:"string"`
  4119. // Due to current limitations on Redis (cluster mode disabled), this operation
  4120. // or parameter is not supported on Redis (cluster mode enabled) replication
  4121. // groups.
  4122. //
  4123. // The ID of the replication group to which this cache cluster should belong.
  4124. // If this parameter is specified, the cache cluster is added to the specified
  4125. // replication group as a read replica; otherwise, the cache cluster is a standalone
  4126. // primary that is not part of any replication group.
  4127. //
  4128. // If the specified replication group is Multi-AZ enabled and the Availability
  4129. // Zone is not specified, the cache cluster is created in Availability Zones
  4130. // that provide the best spread of read replicas across Availability Zones.
  4131. //
  4132. // This parameter is only valid if the Engine parameter is redis.
  4133. ReplicationGroupId *string `type:"string"`
  4134. // One or more VPC security groups associated with the cache cluster.
  4135. //
  4136. // Use this parameter only when you are creating a cache cluster in an Amazon
  4137. // Virtual Private Cloud (Amazon VPC).
  4138. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  4139. // A single-element string list containing an Amazon Resource Name (ARN) that
  4140. // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot
  4141. // file is used to populate the node group (shard). The Amazon S3 object name
  4142. // in the ARN cannot contain any commas.
  4143. //
  4144. // This parameter is only valid if the Engine parameter is redis.
  4145. //
  4146. // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
  4147. SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`
  4148. // The name of a Redis snapshot from which to restore data into the new node
  4149. // group (shard). The snapshot status changes to restoring while the new node
  4150. // group (shard) is being created.
  4151. //
  4152. // This parameter is only valid if the Engine parameter is redis.
  4153. SnapshotName *string `type:"string"`
  4154. // The number of days for which ElastiCache retains automatic snapshots before
  4155. // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot
  4156. // taken today is retained for 5 days before being deleted.
  4157. //
  4158. // This parameter is only valid if the Engine parameter is redis.
  4159. //
  4160. // Default: 0 (i.e., automatic backups are disabled for this cache cluster).
  4161. SnapshotRetentionLimit *int64 `type:"integer"`
  4162. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  4163. // snapshot of your node group (shard).
  4164. //
  4165. // Example: 05:00-09:00
  4166. //
  4167. // If you do not specify this parameter, ElastiCache automatically chooses an
  4168. // appropriate time range.
  4169. //
  4170. // Note: This parameter is only valid if the Engine parameter is redis.
  4171. SnapshotWindow *string `type:"string"`
  4172. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  4173. // pair. A tag key must be accompanied by a tag value.
  4174. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4175. }
  4176. // String returns the string representation
  4177. func (s CreateCacheClusterInput) String() string {
  4178. return awsutil.Prettify(s)
  4179. }
  4180. // GoString returns the string representation
  4181. func (s CreateCacheClusterInput) GoString() string {
  4182. return s.String()
  4183. }
  4184. // Validate inspects the fields of the type to determine if they are valid.
  4185. func (s *CreateCacheClusterInput) Validate() error {
  4186. invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"}
  4187. if s.CacheClusterId == nil {
  4188. invalidParams.Add(request.NewErrParamRequired("CacheClusterId"))
  4189. }
  4190. if invalidParams.Len() > 0 {
  4191. return invalidParams
  4192. }
  4193. return nil
  4194. }
  4195. type CreateCacheClusterOutput struct {
  4196. _ struct{} `type:"structure"`
  4197. // Contains all of the attributes of a specific cache cluster.
  4198. CacheCluster *CacheCluster `type:"structure"`
  4199. }
  4200. // String returns the string representation
  4201. func (s CreateCacheClusterOutput) String() string {
  4202. return awsutil.Prettify(s)
  4203. }
  4204. // GoString returns the string representation
  4205. func (s CreateCacheClusterOutput) GoString() string {
  4206. return s.String()
  4207. }
  4208. // Represents the input of a CreateCacheParameterGroup operation.
  4209. type CreateCacheParameterGroupInput struct {
  4210. _ struct{} `type:"structure"`
  4211. // The name of the cache parameter group family that the cache parameter group
  4212. // can be used with.
  4213. //
  4214. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  4215. //
  4216. // CacheParameterGroupFamily is a required field
  4217. CacheParameterGroupFamily *string `type:"string" required:"true"`
  4218. // A user-specified name for the cache parameter group.
  4219. //
  4220. // CacheParameterGroupName is a required field
  4221. CacheParameterGroupName *string `type:"string" required:"true"`
  4222. // A user-specified description for the cache parameter group.
  4223. //
  4224. // Description is a required field
  4225. Description *string `type:"string" required:"true"`
  4226. }
  4227. // String returns the string representation
  4228. func (s CreateCacheParameterGroupInput) String() string {
  4229. return awsutil.Prettify(s)
  4230. }
  4231. // GoString returns the string representation
  4232. func (s CreateCacheParameterGroupInput) GoString() string {
  4233. return s.String()
  4234. }
  4235. // Validate inspects the fields of the type to determine if they are valid.
  4236. func (s *CreateCacheParameterGroupInput) Validate() error {
  4237. invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"}
  4238. if s.CacheParameterGroupFamily == nil {
  4239. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily"))
  4240. }
  4241. if s.CacheParameterGroupName == nil {
  4242. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName"))
  4243. }
  4244. if s.Description == nil {
  4245. invalidParams.Add(request.NewErrParamRequired("Description"))
  4246. }
  4247. if invalidParams.Len() > 0 {
  4248. return invalidParams
  4249. }
  4250. return nil
  4251. }
  4252. type CreateCacheParameterGroupOutput struct {
  4253. _ struct{} `type:"structure"`
  4254. // Represents the output of a CreateCacheParameterGroup operation.
  4255. CacheParameterGroup *CacheParameterGroup `type:"structure"`
  4256. }
  4257. // String returns the string representation
  4258. func (s CreateCacheParameterGroupOutput) String() string {
  4259. return awsutil.Prettify(s)
  4260. }
  4261. // GoString returns the string representation
  4262. func (s CreateCacheParameterGroupOutput) GoString() string {
  4263. return s.String()
  4264. }
  4265. // Represents the input of a CreateCacheSecurityGroup operation.
  4266. type CreateCacheSecurityGroupInput struct {
  4267. _ struct{} `type:"structure"`
  4268. // A name for the cache security group. This value is stored as a lowercase
  4269. // string.
  4270. //
  4271. // Constraints: Must contain no more than 255 alphanumeric characters. Cannot
  4272. // be the word "Default".
  4273. //
  4274. // Example: mysecuritygroup
  4275. //
  4276. // CacheSecurityGroupName is a required field
  4277. CacheSecurityGroupName *string `type:"string" required:"true"`
  4278. // A description for the cache security group.
  4279. //
  4280. // Description is a required field
  4281. Description *string `type:"string" required:"true"`
  4282. }
  4283. // String returns the string representation
  4284. func (s CreateCacheSecurityGroupInput) String() string {
  4285. return awsutil.Prettify(s)
  4286. }
  4287. // GoString returns the string representation
  4288. func (s CreateCacheSecurityGroupInput) GoString() string {
  4289. return s.String()
  4290. }
  4291. // Validate inspects the fields of the type to determine if they are valid.
  4292. func (s *CreateCacheSecurityGroupInput) Validate() error {
  4293. invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"}
  4294. if s.CacheSecurityGroupName == nil {
  4295. invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName"))
  4296. }
  4297. if s.Description == nil {
  4298. invalidParams.Add(request.NewErrParamRequired("Description"))
  4299. }
  4300. if invalidParams.Len() > 0 {
  4301. return invalidParams
  4302. }
  4303. return nil
  4304. }
  4305. type CreateCacheSecurityGroupOutput struct {
  4306. _ struct{} `type:"structure"`
  4307. // Represents the output of one of the following operations:
  4308. //
  4309. // * AuthorizeCacheSecurityGroupIngress
  4310. //
  4311. // * CreateCacheSecurityGroup
  4312. //
  4313. // * RevokeCacheSecurityGroupIngress
  4314. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  4315. }
  4316. // String returns the string representation
  4317. func (s CreateCacheSecurityGroupOutput) String() string {
  4318. return awsutil.Prettify(s)
  4319. }
  4320. // GoString returns the string representation
  4321. func (s CreateCacheSecurityGroupOutput) GoString() string {
  4322. return s.String()
  4323. }
  4324. // Represents the input of a CreateCacheSubnetGroup operation.
  4325. type CreateCacheSubnetGroupInput struct {
  4326. _ struct{} `type:"structure"`
  4327. // A description for the cache subnet group.
  4328. //
  4329. // CacheSubnetGroupDescription is a required field
  4330. CacheSubnetGroupDescription *string `type:"string" required:"true"`
  4331. // A name for the cache subnet group. This value is stored as a lowercase string.
  4332. //
  4333. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  4334. //
  4335. // Example: mysubnetgroup
  4336. //
  4337. // CacheSubnetGroupName is a required field
  4338. CacheSubnetGroupName *string `type:"string" required:"true"`
  4339. // A list of VPC subnet IDs for the cache subnet group.
  4340. //
  4341. // SubnetIds is a required field
  4342. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  4343. }
  4344. // String returns the string representation
  4345. func (s CreateCacheSubnetGroupInput) String() string {
  4346. return awsutil.Prettify(s)
  4347. }
  4348. // GoString returns the string representation
  4349. func (s CreateCacheSubnetGroupInput) GoString() string {
  4350. return s.String()
  4351. }
  4352. // Validate inspects the fields of the type to determine if they are valid.
  4353. func (s *CreateCacheSubnetGroupInput) Validate() error {
  4354. invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"}
  4355. if s.CacheSubnetGroupDescription == nil {
  4356. invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription"))
  4357. }
  4358. if s.CacheSubnetGroupName == nil {
  4359. invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName"))
  4360. }
  4361. if s.SubnetIds == nil {
  4362. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  4363. }
  4364. if invalidParams.Len() > 0 {
  4365. return invalidParams
  4366. }
  4367. return nil
  4368. }
  4369. type CreateCacheSubnetGroupOutput struct {
  4370. _ struct{} `type:"structure"`
  4371. // Represents the output of one of the following operations:
  4372. //
  4373. // * CreateCacheSubnetGroup
  4374. //
  4375. // * ModifyCacheSubnetGroup
  4376. CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
  4377. }
  4378. // String returns the string representation
  4379. func (s CreateCacheSubnetGroupOutput) String() string {
  4380. return awsutil.Prettify(s)
  4381. }
  4382. // GoString returns the string representation
  4383. func (s CreateCacheSubnetGroupOutput) GoString() string {
  4384. return s.String()
  4385. }
  4386. // Represents the input of a CreateReplicationGroup operation.
  4387. type CreateReplicationGroupInput struct {
  4388. _ struct{} `type:"structure"`
  4389. // This parameter is currently disabled.
  4390. AutoMinorVersionUpgrade *bool `type:"boolean"`
  4391. // Specifies whether a read-only replica is automatically promoted to read/write
  4392. // primary if the existing primary fails.
  4393. //
  4394. // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ
  4395. // is disabled for this replication group.
  4396. //
  4397. // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled)
  4398. // replication groups.
  4399. //
  4400. // Default: false
  4401. //
  4402. // ElastiCache Multi-AZ replication groups is not supported on:
  4403. //
  4404. // Redis versions earlier than 2.8.6.
  4405. //
  4406. // Redis (cluster mode disabled): T1 and T2 node types.
  4407. //
  4408. // Redis (cluster mode enabled): T2 node types.
  4409. AutomaticFailoverEnabled *bool `type:"boolean"`
  4410. // The compute and memory capacity of the nodes in the node group (shard).
  4411. //
  4412. // Valid node types are as follows:
  4413. //
  4414. // * General purpose:
  4415. //
  4416. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  4417. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  4418. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  4419. //
  4420. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  4421. // cache.m1.xlarge
  4422. //
  4423. // * Compute optimized: cache.c1.xlarge
  4424. //
  4425. // * Memory optimized:
  4426. //
  4427. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  4428. // cache.r3.8xlarge
  4429. //
  4430. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  4431. //
  4432. // Notes:
  4433. //
  4434. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  4435. // VPC).
  4436. //
  4437. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  4438. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  4439. // enabled) T2 instances.
  4440. //
  4441. // * Redis Append-only files (AOF) functionality is not supported for T1
  4442. // or T2 instances.
  4443. //
  4444. // For a complete listing of node types and specifications, see Amazon ElastiCache
  4445. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  4446. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  4447. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  4448. CacheNodeType *string `type:"string"`
  4449. // The name of the parameter group to associate with this replication group.
  4450. // If this argument is omitted, the default cache parameter group for the specified
  4451. // engine is used.
  4452. //
  4453. // If you are running Redis version 3.2.4 or later, only one node group (shard),
  4454. // and want to use a default parameter group, we recommend that you specify
  4455. // the parameter group by name.
  4456. //
  4457. // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.
  4458. //
  4459. // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.
  4460. CacheParameterGroupName *string `type:"string"`
  4461. // A list of cache security group names to associate with this replication group.
  4462. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  4463. // The name of the cache subnet group to be used for the replication group.
  4464. //
  4465. // If you're going to launch your cluster in an Amazon VPC, you need to create
  4466. // a subnet group before you start creating a cluster. For more information,
  4467. // see Subnets and Subnet Groups (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html).
  4468. CacheSubnetGroupName *string `type:"string"`
  4469. // The name of the cache engine to be used for the cache clusters in this replication
  4470. // group.
  4471. Engine *string `type:"string"`
  4472. // The version number of the cache engine to be used for the cache clusters
  4473. // in this replication group. To view the supported cache engine versions, use
  4474. // the DescribeCacheEngineVersions operation.
  4475. //
  4476. // Important: You can upgrade to a newer engine version (see Selecting a Cache
  4477. // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement))
  4478. // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine
  4479. // version. If you want to use an earlier engine version, you must delete the
  4480. // existing cache cluster or replication group and create it anew with the earlier
  4481. // engine version.
  4482. EngineVersion *string `type:"string"`
  4483. // A list of node group (shard) configuration options. Each node group (shard)
  4484. // configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones,
  4485. // ReplicaCount.
  4486. //
  4487. // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode
  4488. // enabled) replication group, you can use this parameter to configure one node
  4489. // group (shard) or you can omit this parameter.
  4490. NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"`
  4491. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  4492. // (SNS) topic to which notifications are sent.
  4493. //
  4494. // The Amazon SNS topic owner must be the same as the cache cluster owner.
  4495. NotificationTopicArn *string `type:"string"`
  4496. // The number of clusters this replication group initially has.
  4497. //
  4498. // This parameter is not used if there is more than one node group (shard).
  4499. // You should use ReplicasPerNodeGroup instead.
  4500. //
  4501. // If Multi-AZ is enabled, the value of this parameter must be at least 2.
  4502. //
  4503. // The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).
  4504. // If you need to exceed this limit, fill out the ElastiCache Limit Increase
  4505. // Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/
  4506. // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/).
  4507. NumCacheClusters *int64 `type:"integer"`
  4508. // An optional parameter that specifies the number of node groups (shards) for
  4509. // this Redis (cluster mode enabled) replication group. For Redis (cluster mode
  4510. // disabled) either omit this parameter or set it to 1.
  4511. //
  4512. // Default: 1
  4513. NumNodeGroups *int64 `type:"integer"`
  4514. // The port number on which each member of the replication group accepts connections.
  4515. Port *int64 `type:"integer"`
  4516. // A list of EC2 Availability Zones in which the replication group's cache clusters
  4517. // are created. The order of the Availability Zones in the list is the order
  4518. // in which clusters are allocated. The primary cluster is created in the first
  4519. // AZ in the list.
  4520. //
  4521. // This parameter is not used if there is more than one node group (shard).
  4522. // You should use NodeGroupConfiguration instead.
  4523. //
  4524. // If you are creating your replication group in an Amazon VPC (recommended),
  4525. // you can only locate cache clusters in Availability Zones associated with
  4526. // the subnets in the selected subnet group.
  4527. //
  4528. // The number of Availability Zones listed must equal the value of NumCacheClusters.
  4529. //
  4530. // Default: system chosen Availability Zones.
  4531. PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"`
  4532. // Specifies the weekly time range during which maintenance on the cache cluster
  4533. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4534. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  4535. // values for ddd are:
  4536. //
  4537. // Specifies the weekly time range during which maintenance on the cluster is
  4538. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4539. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  4540. //
  4541. // Valid values for ddd are:
  4542. //
  4543. // * sun
  4544. //
  4545. // * mon
  4546. //
  4547. // * tue
  4548. //
  4549. // * wed
  4550. //
  4551. // * thu
  4552. //
  4553. // * fri
  4554. //
  4555. // * sat
  4556. //
  4557. // Example: sun:23:00-mon:01:30
  4558. PreferredMaintenanceWindow *string `type:"string"`
  4559. // The identifier of the cache cluster that serves as the primary for this replication
  4560. // group. This cache cluster must already exist and have a status of available.
  4561. //
  4562. // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup
  4563. // is specified.
  4564. PrimaryClusterId *string `type:"string"`
  4565. // An optional parameter that specifies the number of replica nodes in each
  4566. // node group (shard). Valid values are 0 to 5.
  4567. ReplicasPerNodeGroup *int64 `type:"integer"`
  4568. // A user-created description for the replication group.
  4569. //
  4570. // ReplicationGroupDescription is a required field
  4571. ReplicationGroupDescription *string `type:"string" required:"true"`
  4572. // The replication group identifier. This parameter is stored as a lowercase
  4573. // string.
  4574. //
  4575. // Constraints:
  4576. //
  4577. // * A name must contain from 1 to 20 alphanumeric characters or hyphens.
  4578. //
  4579. // * The first character must be a letter.
  4580. //
  4581. // * A name cannot end with a hyphen or contain two consecutive hyphens.
  4582. //
  4583. // ReplicationGroupId is a required field
  4584. ReplicationGroupId *string `type:"string" required:"true"`
  4585. // One or more Amazon VPC security groups associated with this replication group.
  4586. //
  4587. // Use this parameter only when you are creating a replication group in an Amazon
  4588. // Virtual Private Cloud (Amazon VPC).
  4589. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  4590. // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB
  4591. // snapshot files stored in Amazon S3. The snapshot files are used to populate
  4592. // the replication group. The Amazon S3 object name in the ARN cannot contain
  4593. // any commas. The list must match the number of node groups (shards) in the
  4594. // replication group, which means you cannot repartition.
  4595. //
  4596. // This parameter is only valid if the Engine parameter is redis.
  4597. //
  4598. // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
  4599. SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`
  4600. // The name of a snapshot from which to restore data into the new replication
  4601. // group. The snapshot status changes to restoring while the new replication
  4602. // group is being created.
  4603. //
  4604. // This parameter is only valid if the Engine parameter is redis.
  4605. SnapshotName *string `type:"string"`
  4606. // The number of days for which ElastiCache retains automatic snapshots before
  4607. // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot
  4608. // that was taken today is retained for 5 days before being deleted.
  4609. //
  4610. // This parameter is only valid if the Engine parameter is redis.
  4611. //
  4612. // Default: 0 (i.e., automatic backups are disabled for this cache cluster).
  4613. SnapshotRetentionLimit *int64 `type:"integer"`
  4614. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  4615. // snapshot of your node group (shard).
  4616. //
  4617. // Example: 05:00-09:00
  4618. //
  4619. // If you do not specify this parameter, ElastiCache automatically chooses an
  4620. // appropriate time range.
  4621. //
  4622. // This parameter is only valid if the Engine parameter is redis.
  4623. SnapshotWindow *string `type:"string"`
  4624. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  4625. // pair. A tag key must be accompanied by a tag value.
  4626. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4627. }
  4628. // String returns the string representation
  4629. func (s CreateReplicationGroupInput) String() string {
  4630. return awsutil.Prettify(s)
  4631. }
  4632. // GoString returns the string representation
  4633. func (s CreateReplicationGroupInput) GoString() string {
  4634. return s.String()
  4635. }
  4636. // Validate inspects the fields of the type to determine if they are valid.
  4637. func (s *CreateReplicationGroupInput) Validate() error {
  4638. invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"}
  4639. if s.ReplicationGroupDescription == nil {
  4640. invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription"))
  4641. }
  4642. if s.ReplicationGroupId == nil {
  4643. invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId"))
  4644. }
  4645. if invalidParams.Len() > 0 {
  4646. return invalidParams
  4647. }
  4648. return nil
  4649. }
  4650. type CreateReplicationGroupOutput struct {
  4651. _ struct{} `type:"structure"`
  4652. // Contains all of the attributes of a specific Redis replication group.
  4653. ReplicationGroup *ReplicationGroup `type:"structure"`
  4654. }
  4655. // String returns the string representation
  4656. func (s CreateReplicationGroupOutput) String() string {
  4657. return awsutil.Prettify(s)
  4658. }
  4659. // GoString returns the string representation
  4660. func (s CreateReplicationGroupOutput) GoString() string {
  4661. return s.String()
  4662. }
  4663. // Represents the input of a CreateSnapshot operation.
  4664. type CreateSnapshotInput struct {
  4665. _ struct{} `type:"structure"`
  4666. // The identifier of an existing cache cluster. The snapshot is created from
  4667. // this cache cluster.
  4668. CacheClusterId *string `type:"string"`
  4669. // The identifier of an existing replication group. The snapshot is created
  4670. // from this replication group.
  4671. ReplicationGroupId *string `type:"string"`
  4672. // A name for the snapshot being created.
  4673. //
  4674. // SnapshotName is a required field
  4675. SnapshotName *string `type:"string" required:"true"`
  4676. }
  4677. // String returns the string representation
  4678. func (s CreateSnapshotInput) String() string {
  4679. return awsutil.Prettify(s)
  4680. }
  4681. // GoString returns the string representation
  4682. func (s CreateSnapshotInput) GoString() string {
  4683. return s.String()
  4684. }
  4685. // Validate inspects the fields of the type to determine if they are valid.
  4686. func (s *CreateSnapshotInput) Validate() error {
  4687. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  4688. if s.SnapshotName == nil {
  4689. invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  4690. }
  4691. if invalidParams.Len() > 0 {
  4692. return invalidParams
  4693. }
  4694. return nil
  4695. }
  4696. type CreateSnapshotOutput struct {
  4697. _ struct{} `type:"structure"`
  4698. // Represents a copy of an entire Redis cache cluster as of the time when the
  4699. // snapshot was taken.
  4700. Snapshot *Snapshot `type:"structure"`
  4701. }
  4702. // String returns the string representation
  4703. func (s CreateSnapshotOutput) String() string {
  4704. return awsutil.Prettify(s)
  4705. }
  4706. // GoString returns the string representation
  4707. func (s CreateSnapshotOutput) GoString() string {
  4708. return s.String()
  4709. }
  4710. // Represents the input of a DeleteCacheCluster operation.
  4711. type DeleteCacheClusterInput struct {
  4712. _ struct{} `type:"structure"`
  4713. // The cache cluster identifier for the cluster to be deleted. This parameter
  4714. // is not case sensitive.
  4715. //
  4716. // CacheClusterId is a required field
  4717. CacheClusterId *string `type:"string" required:"true"`
  4718. // The user-supplied name of a final cache cluster snapshot. This is the unique
  4719. // name that identifies the snapshot. ElastiCache creates the snapshot, and
  4720. // then deletes the cache cluster immediately afterward.
  4721. FinalSnapshotIdentifier *string `type:"string"`
  4722. }
  4723. // String returns the string representation
  4724. func (s DeleteCacheClusterInput) String() string {
  4725. return awsutil.Prettify(s)
  4726. }
  4727. // GoString returns the string representation
  4728. func (s DeleteCacheClusterInput) GoString() string {
  4729. return s.String()
  4730. }
  4731. // Validate inspects the fields of the type to determine if they are valid.
  4732. func (s *DeleteCacheClusterInput) Validate() error {
  4733. invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"}
  4734. if s.CacheClusterId == nil {
  4735. invalidParams.Add(request.NewErrParamRequired("CacheClusterId"))
  4736. }
  4737. if invalidParams.Len() > 0 {
  4738. return invalidParams
  4739. }
  4740. return nil
  4741. }
  4742. type DeleteCacheClusterOutput struct {
  4743. _ struct{} `type:"structure"`
  4744. // Contains all of the attributes of a specific cache cluster.
  4745. CacheCluster *CacheCluster `type:"structure"`
  4746. }
  4747. // String returns the string representation
  4748. func (s DeleteCacheClusterOutput) String() string {
  4749. return awsutil.Prettify(s)
  4750. }
  4751. // GoString returns the string representation
  4752. func (s DeleteCacheClusterOutput) GoString() string {
  4753. return s.String()
  4754. }
  4755. // Represents the input of a DeleteCacheParameterGroup operation.
  4756. type DeleteCacheParameterGroupInput struct {
  4757. _ struct{} `type:"structure"`
  4758. // The name of the cache parameter group to delete.
  4759. //
  4760. // The specified cache security group must not be associated with any cache
  4761. // clusters.
  4762. //
  4763. // CacheParameterGroupName is a required field
  4764. CacheParameterGroupName *string `type:"string" required:"true"`
  4765. }
  4766. // String returns the string representation
  4767. func (s DeleteCacheParameterGroupInput) String() string {
  4768. return awsutil.Prettify(s)
  4769. }
  4770. // GoString returns the string representation
  4771. func (s DeleteCacheParameterGroupInput) GoString() string {
  4772. return s.String()
  4773. }
  4774. // Validate inspects the fields of the type to determine if they are valid.
  4775. func (s *DeleteCacheParameterGroupInput) Validate() error {
  4776. invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"}
  4777. if s.CacheParameterGroupName == nil {
  4778. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName"))
  4779. }
  4780. if invalidParams.Len() > 0 {
  4781. return invalidParams
  4782. }
  4783. return nil
  4784. }
  4785. type DeleteCacheParameterGroupOutput struct {
  4786. _ struct{} `type:"structure"`
  4787. }
  4788. // String returns the string representation
  4789. func (s DeleteCacheParameterGroupOutput) String() string {
  4790. return awsutil.Prettify(s)
  4791. }
  4792. // GoString returns the string representation
  4793. func (s DeleteCacheParameterGroupOutput) GoString() string {
  4794. return s.String()
  4795. }
  4796. // Represents the input of a DeleteCacheSecurityGroup operation.
  4797. type DeleteCacheSecurityGroupInput struct {
  4798. _ struct{} `type:"structure"`
  4799. // The name of the cache security group to delete.
  4800. //
  4801. // You cannot delete the default security group.
  4802. //
  4803. // CacheSecurityGroupName is a required field
  4804. CacheSecurityGroupName *string `type:"string" required:"true"`
  4805. }
  4806. // String returns the string representation
  4807. func (s DeleteCacheSecurityGroupInput) String() string {
  4808. return awsutil.Prettify(s)
  4809. }
  4810. // GoString returns the string representation
  4811. func (s DeleteCacheSecurityGroupInput) GoString() string {
  4812. return s.String()
  4813. }
  4814. // Validate inspects the fields of the type to determine if they are valid.
  4815. func (s *DeleteCacheSecurityGroupInput) Validate() error {
  4816. invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"}
  4817. if s.CacheSecurityGroupName == nil {
  4818. invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName"))
  4819. }
  4820. if invalidParams.Len() > 0 {
  4821. return invalidParams
  4822. }
  4823. return nil
  4824. }
  4825. type DeleteCacheSecurityGroupOutput struct {
  4826. _ struct{} `type:"structure"`
  4827. }
  4828. // String returns the string representation
  4829. func (s DeleteCacheSecurityGroupOutput) String() string {
  4830. return awsutil.Prettify(s)
  4831. }
  4832. // GoString returns the string representation
  4833. func (s DeleteCacheSecurityGroupOutput) GoString() string {
  4834. return s.String()
  4835. }
  4836. // Represents the input of a DeleteCacheSubnetGroup operation.
  4837. type DeleteCacheSubnetGroupInput struct {
  4838. _ struct{} `type:"structure"`
  4839. // The name of the cache subnet group to delete.
  4840. //
  4841. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  4842. //
  4843. // CacheSubnetGroupName is a required field
  4844. CacheSubnetGroupName *string `type:"string" required:"true"`
  4845. }
  4846. // String returns the string representation
  4847. func (s DeleteCacheSubnetGroupInput) String() string {
  4848. return awsutil.Prettify(s)
  4849. }
  4850. // GoString returns the string representation
  4851. func (s DeleteCacheSubnetGroupInput) GoString() string {
  4852. return s.String()
  4853. }
  4854. // Validate inspects the fields of the type to determine if they are valid.
  4855. func (s *DeleteCacheSubnetGroupInput) Validate() error {
  4856. invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"}
  4857. if s.CacheSubnetGroupName == nil {
  4858. invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName"))
  4859. }
  4860. if invalidParams.Len() > 0 {
  4861. return invalidParams
  4862. }
  4863. return nil
  4864. }
  4865. type DeleteCacheSubnetGroupOutput struct {
  4866. _ struct{} `type:"structure"`
  4867. }
  4868. // String returns the string representation
  4869. func (s DeleteCacheSubnetGroupOutput) String() string {
  4870. return awsutil.Prettify(s)
  4871. }
  4872. // GoString returns the string representation
  4873. func (s DeleteCacheSubnetGroupOutput) GoString() string {
  4874. return s.String()
  4875. }
  4876. // Represents the input of a DeleteReplicationGroup operation.
  4877. type DeleteReplicationGroupInput struct {
  4878. _ struct{} `type:"structure"`
  4879. // The name of a final node group (shard) snapshot. ElastiCache creates the
  4880. // snapshot from the primary node in the cluster, rather than one of the replicas;
  4881. // this is to ensure that it captures the freshest data. After the final snapshot
  4882. // is taken, the replication group is immediately deleted.
  4883. FinalSnapshotIdentifier *string `type:"string"`
  4884. // The identifier for the cluster to be deleted. This parameter is not case
  4885. // sensitive.
  4886. //
  4887. // ReplicationGroupId is a required field
  4888. ReplicationGroupId *string `type:"string" required:"true"`
  4889. // If set to true, all of the read replicas are deleted, but the primary node
  4890. // is retained.
  4891. RetainPrimaryCluster *bool `type:"boolean"`
  4892. }
  4893. // String returns the string representation
  4894. func (s DeleteReplicationGroupInput) String() string {
  4895. return awsutil.Prettify(s)
  4896. }
  4897. // GoString returns the string representation
  4898. func (s DeleteReplicationGroupInput) GoString() string {
  4899. return s.String()
  4900. }
  4901. // Validate inspects the fields of the type to determine if they are valid.
  4902. func (s *DeleteReplicationGroupInput) Validate() error {
  4903. invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"}
  4904. if s.ReplicationGroupId == nil {
  4905. invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId"))
  4906. }
  4907. if invalidParams.Len() > 0 {
  4908. return invalidParams
  4909. }
  4910. return nil
  4911. }
  4912. type DeleteReplicationGroupOutput struct {
  4913. _ struct{} `type:"structure"`
  4914. // Contains all of the attributes of a specific Redis replication group.
  4915. ReplicationGroup *ReplicationGroup `type:"structure"`
  4916. }
  4917. // String returns the string representation
  4918. func (s DeleteReplicationGroupOutput) String() string {
  4919. return awsutil.Prettify(s)
  4920. }
  4921. // GoString returns the string representation
  4922. func (s DeleteReplicationGroupOutput) GoString() string {
  4923. return s.String()
  4924. }
  4925. // Represents the input of a DeleteSnapshot operation.
  4926. type DeleteSnapshotInput struct {
  4927. _ struct{} `type:"structure"`
  4928. // The name of the snapshot to be deleted.
  4929. //
  4930. // SnapshotName is a required field
  4931. SnapshotName *string `type:"string" required:"true"`
  4932. }
  4933. // String returns the string representation
  4934. func (s DeleteSnapshotInput) String() string {
  4935. return awsutil.Prettify(s)
  4936. }
  4937. // GoString returns the string representation
  4938. func (s DeleteSnapshotInput) GoString() string {
  4939. return s.String()
  4940. }
  4941. // Validate inspects the fields of the type to determine if they are valid.
  4942. func (s *DeleteSnapshotInput) Validate() error {
  4943. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  4944. if s.SnapshotName == nil {
  4945. invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  4946. }
  4947. if invalidParams.Len() > 0 {
  4948. return invalidParams
  4949. }
  4950. return nil
  4951. }
  4952. type DeleteSnapshotOutput struct {
  4953. _ struct{} `type:"structure"`
  4954. // Represents a copy of an entire Redis cache cluster as of the time when the
  4955. // snapshot was taken.
  4956. Snapshot *Snapshot `type:"structure"`
  4957. }
  4958. // String returns the string representation
  4959. func (s DeleteSnapshotOutput) String() string {
  4960. return awsutil.Prettify(s)
  4961. }
  4962. // GoString returns the string representation
  4963. func (s DeleteSnapshotOutput) GoString() string {
  4964. return s.String()
  4965. }
  4966. // Represents the input of a DescribeCacheClusters operation.
  4967. type DescribeCacheClustersInput struct {
  4968. _ struct{} `type:"structure"`
  4969. // The user-supplied cluster identifier. If this parameter is specified, only
  4970. // information about that specific cache cluster is returned. This parameter
  4971. // isn't case sensitive.
  4972. CacheClusterId *string `type:"string"`
  4973. // An optional marker returned from a prior request. Use this marker for pagination
  4974. // of results from this operation. If this parameter is specified, the response
  4975. // includes only records beyond the marker, up to the value specified by MaxRecords.
  4976. Marker *string `type:"string"`
  4977. // The maximum number of records to include in the response. If more records
  4978. // exist than the specified MaxRecords value, a marker is included in the response
  4979. // so that the remaining results can be retrieved.
  4980. //
  4981. // Default: 100
  4982. //
  4983. // Constraints: minimum 20; maximum 100.
  4984. MaxRecords *int64 `type:"integer"`
  4985. // An optional flag that can be included in the DescribeCacheCluster request
  4986. // to retrieve information about the individual cache nodes.
  4987. ShowCacheNodeInfo *bool `type:"boolean"`
  4988. }
  4989. // String returns the string representation
  4990. func (s DescribeCacheClustersInput) String() string {
  4991. return awsutil.Prettify(s)
  4992. }
  4993. // GoString returns the string representation
  4994. func (s DescribeCacheClustersInput) GoString() string {
  4995. return s.String()
  4996. }
  4997. // Represents the output of a DescribeCacheClusters operation.
  4998. type DescribeCacheClustersOutput struct {
  4999. _ struct{} `type:"structure"`
  5000. // A list of cache clusters. Each item in the list contains detailed information
  5001. // about one cache cluster.
  5002. CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"`
  5003. // Provides an identifier to allow retrieval of paginated results.
  5004. Marker *string `type:"string"`
  5005. }
  5006. // String returns the string representation
  5007. func (s DescribeCacheClustersOutput) String() string {
  5008. return awsutil.Prettify(s)
  5009. }
  5010. // GoString returns the string representation
  5011. func (s DescribeCacheClustersOutput) GoString() string {
  5012. return s.String()
  5013. }
  5014. // Represents the input of a DescribeCacheEngineVersions operation.
  5015. type DescribeCacheEngineVersionsInput struct {
  5016. _ struct{} `type:"structure"`
  5017. // The name of a specific cache parameter group family to return details for.
  5018. //
  5019. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  5020. //
  5021. // Constraints:
  5022. //
  5023. // * Must be 1 to 255 alphanumeric characters
  5024. //
  5025. // * First character must be a letter
  5026. //
  5027. // * Cannot end with a hyphen or contain two consecutive hyphens
  5028. CacheParameterGroupFamily *string `type:"string"`
  5029. // If true, specifies that only the default version of the specified engine
  5030. // or engine and major version combination is to be returned.
  5031. DefaultOnly *bool `type:"boolean"`
  5032. // The cache engine to return. Valid values: memcached | redis
  5033. Engine *string `type:"string"`
  5034. // The cache engine version to return.
  5035. //
  5036. // Example: 1.4.14
  5037. EngineVersion *string `type:"string"`
  5038. // An optional marker returned from a prior request. Use this marker for pagination
  5039. // of results from this operation. If this parameter is specified, the response
  5040. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5041. Marker *string `type:"string"`
  5042. // The maximum number of records to include in the response. If more records
  5043. // exist than the specified MaxRecords value, a marker is included in the response
  5044. // so that the remaining results can be retrieved.
  5045. //
  5046. // Default: 100
  5047. //
  5048. // Constraints: minimum 20; maximum 100.
  5049. MaxRecords *int64 `type:"integer"`
  5050. }
  5051. // String returns the string representation
  5052. func (s DescribeCacheEngineVersionsInput) String() string {
  5053. return awsutil.Prettify(s)
  5054. }
  5055. // GoString returns the string representation
  5056. func (s DescribeCacheEngineVersionsInput) GoString() string {
  5057. return s.String()
  5058. }
  5059. // Represents the output of a DescribeCacheEngineVersions operation.
  5060. type DescribeCacheEngineVersionsOutput struct {
  5061. _ struct{} `type:"structure"`
  5062. // A list of cache engine version details. Each element in the list contains
  5063. // detailed information about one cache engine version.
  5064. CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"`
  5065. // Provides an identifier to allow retrieval of paginated results.
  5066. Marker *string `type:"string"`
  5067. }
  5068. // String returns the string representation
  5069. func (s DescribeCacheEngineVersionsOutput) String() string {
  5070. return awsutil.Prettify(s)
  5071. }
  5072. // GoString returns the string representation
  5073. func (s DescribeCacheEngineVersionsOutput) GoString() string {
  5074. return s.String()
  5075. }
  5076. // Represents the input of a DescribeCacheParameterGroups operation.
  5077. type DescribeCacheParameterGroupsInput struct {
  5078. _ struct{} `type:"structure"`
  5079. // The name of a specific cache parameter group to return details for.
  5080. CacheParameterGroupName *string `type:"string"`
  5081. // An optional marker returned from a prior request. Use this marker for pagination
  5082. // of results from this operation. If this parameter is specified, the response
  5083. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5084. Marker *string `type:"string"`
  5085. // The maximum number of records to include in the response. If more records
  5086. // exist than the specified MaxRecords value, a marker is included in the response
  5087. // so that the remaining results can be retrieved.
  5088. //
  5089. // Default: 100
  5090. //
  5091. // Constraints: minimum 20; maximum 100.
  5092. MaxRecords *int64 `type:"integer"`
  5093. }
  5094. // String returns the string representation
  5095. func (s DescribeCacheParameterGroupsInput) String() string {
  5096. return awsutil.Prettify(s)
  5097. }
  5098. // GoString returns the string representation
  5099. func (s DescribeCacheParameterGroupsInput) GoString() string {
  5100. return s.String()
  5101. }
  5102. // Represents the output of a DescribeCacheParameterGroups operation.
  5103. type DescribeCacheParameterGroupsOutput struct {
  5104. _ struct{} `type:"structure"`
  5105. // A list of cache parameter groups. Each element in the list contains detailed
  5106. // information about one cache parameter group.
  5107. CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"`
  5108. // Provides an identifier to allow retrieval of paginated results.
  5109. Marker *string `type:"string"`
  5110. }
  5111. // String returns the string representation
  5112. func (s DescribeCacheParameterGroupsOutput) String() string {
  5113. return awsutil.Prettify(s)
  5114. }
  5115. // GoString returns the string representation
  5116. func (s DescribeCacheParameterGroupsOutput) GoString() string {
  5117. return s.String()
  5118. }
  5119. // Represents the input of a DescribeCacheParameters operation.
  5120. type DescribeCacheParametersInput struct {
  5121. _ struct{} `type:"structure"`
  5122. // The name of a specific cache parameter group to return details for.
  5123. //
  5124. // CacheParameterGroupName is a required field
  5125. CacheParameterGroupName *string `type:"string" required:"true"`
  5126. // An optional marker returned from a prior request. Use this marker for pagination
  5127. // of results from this operation. If this parameter is specified, the response
  5128. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5129. Marker *string `type:"string"`
  5130. // The maximum number of records to include in the response. If more records
  5131. // exist than the specified MaxRecords value, a marker is included in the response
  5132. // so that the remaining results can be retrieved.
  5133. //
  5134. // Default: 100
  5135. //
  5136. // Constraints: minimum 20; maximum 100.
  5137. MaxRecords *int64 `type:"integer"`
  5138. // The parameter types to return.
  5139. //
  5140. // Valid values: user | system | engine-default
  5141. Source *string `type:"string"`
  5142. }
  5143. // String returns the string representation
  5144. func (s DescribeCacheParametersInput) String() string {
  5145. return awsutil.Prettify(s)
  5146. }
  5147. // GoString returns the string representation
  5148. func (s DescribeCacheParametersInput) GoString() string {
  5149. return s.String()
  5150. }
  5151. // Validate inspects the fields of the type to determine if they are valid.
  5152. func (s *DescribeCacheParametersInput) Validate() error {
  5153. invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"}
  5154. if s.CacheParameterGroupName == nil {
  5155. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName"))
  5156. }
  5157. if invalidParams.Len() > 0 {
  5158. return invalidParams
  5159. }
  5160. return nil
  5161. }
  5162. // Represents the output of a DescribeCacheParameters operation.
  5163. type DescribeCacheParametersOutput struct {
  5164. _ struct{} `type:"structure"`
  5165. // A list of parameters specific to a particular cache node type. Each element
  5166. // in the list contains detailed information about one parameter.
  5167. CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`
  5168. // Provides an identifier to allow retrieval of paginated results.
  5169. Marker *string `type:"string"`
  5170. // A list of Parameter instances.
  5171. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  5172. }
  5173. // String returns the string representation
  5174. func (s DescribeCacheParametersOutput) String() string {
  5175. return awsutil.Prettify(s)
  5176. }
  5177. // GoString returns the string representation
  5178. func (s DescribeCacheParametersOutput) GoString() string {
  5179. return s.String()
  5180. }
  5181. // Represents the input of a DescribeCacheSecurityGroups operation.
  5182. type DescribeCacheSecurityGroupsInput struct {
  5183. _ struct{} `type:"structure"`
  5184. // The name of the cache security group to return details for.
  5185. CacheSecurityGroupName *string `type:"string"`
  5186. // An optional marker returned from a prior request. Use this marker for pagination
  5187. // of results from this operation. If this parameter is specified, the response
  5188. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5189. Marker *string `type:"string"`
  5190. // The maximum number of records to include in the response. If more records
  5191. // exist than the specified MaxRecords value, a marker is included in the response
  5192. // so that the remaining results can be retrieved.
  5193. //
  5194. // Default: 100
  5195. //
  5196. // Constraints: minimum 20; maximum 100.
  5197. MaxRecords *int64 `type:"integer"`
  5198. }
  5199. // String returns the string representation
  5200. func (s DescribeCacheSecurityGroupsInput) String() string {
  5201. return awsutil.Prettify(s)
  5202. }
  5203. // GoString returns the string representation
  5204. func (s DescribeCacheSecurityGroupsInput) GoString() string {
  5205. return s.String()
  5206. }
  5207. // Represents the output of a DescribeCacheSecurityGroups operation.
  5208. type DescribeCacheSecurityGroupsOutput struct {
  5209. _ struct{} `type:"structure"`
  5210. // A list of cache security groups. Each element in the list contains detailed
  5211. // information about one group.
  5212. CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"`
  5213. // Provides an identifier to allow retrieval of paginated results.
  5214. Marker *string `type:"string"`
  5215. }
  5216. // String returns the string representation
  5217. func (s DescribeCacheSecurityGroupsOutput) String() string {
  5218. return awsutil.Prettify(s)
  5219. }
  5220. // GoString returns the string representation
  5221. func (s DescribeCacheSecurityGroupsOutput) GoString() string {
  5222. return s.String()
  5223. }
  5224. // Represents the input of a DescribeCacheSubnetGroups operation.
  5225. type DescribeCacheSubnetGroupsInput struct {
  5226. _ struct{} `type:"structure"`
  5227. // The name of the cache subnet group to return details for.
  5228. CacheSubnetGroupName *string `type:"string"`
  5229. // An optional marker returned from a prior request. Use this marker for pagination
  5230. // of results from this operation. If this parameter is specified, the response
  5231. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5232. Marker *string `type:"string"`
  5233. // The maximum number of records to include in the response. If more records
  5234. // exist than the specified MaxRecords value, a marker is included in the response
  5235. // so that the remaining results can be retrieved.
  5236. //
  5237. // Default: 100
  5238. //
  5239. // Constraints: minimum 20; maximum 100.
  5240. MaxRecords *int64 `type:"integer"`
  5241. }
  5242. // String returns the string representation
  5243. func (s DescribeCacheSubnetGroupsInput) String() string {
  5244. return awsutil.Prettify(s)
  5245. }
  5246. // GoString returns the string representation
  5247. func (s DescribeCacheSubnetGroupsInput) GoString() string {
  5248. return s.String()
  5249. }
  5250. // Represents the output of a DescribeCacheSubnetGroups operation.
  5251. type DescribeCacheSubnetGroupsOutput struct {
  5252. _ struct{} `type:"structure"`
  5253. // A list of cache subnet groups. Each element in the list contains detailed
  5254. // information about one group.
  5255. CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"`
  5256. // Provides an identifier to allow retrieval of paginated results.
  5257. Marker *string `type:"string"`
  5258. }
  5259. // String returns the string representation
  5260. func (s DescribeCacheSubnetGroupsOutput) String() string {
  5261. return awsutil.Prettify(s)
  5262. }
  5263. // GoString returns the string representation
  5264. func (s DescribeCacheSubnetGroupsOutput) GoString() string {
  5265. return s.String()
  5266. }
  5267. // Represents the input of a DescribeEngineDefaultParameters operation.
  5268. type DescribeEngineDefaultParametersInput struct {
  5269. _ struct{} `type:"structure"`
  5270. // The name of the cache parameter group family.
  5271. //
  5272. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  5273. //
  5274. // CacheParameterGroupFamily is a required field
  5275. CacheParameterGroupFamily *string `type:"string" required:"true"`
  5276. // An optional marker returned from a prior request. Use this marker for pagination
  5277. // of results from this operation. If this parameter is specified, the response
  5278. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5279. Marker *string `type:"string"`
  5280. // The maximum number of records to include in the response. If more records
  5281. // exist than the specified MaxRecords value, a marker is included in the response
  5282. // so that the remaining results can be retrieved.
  5283. //
  5284. // Default: 100
  5285. //
  5286. // Constraints: minimum 20; maximum 100.
  5287. MaxRecords *int64 `type:"integer"`
  5288. }
  5289. // String returns the string representation
  5290. func (s DescribeEngineDefaultParametersInput) String() string {
  5291. return awsutil.Prettify(s)
  5292. }
  5293. // GoString returns the string representation
  5294. func (s DescribeEngineDefaultParametersInput) GoString() string {
  5295. return s.String()
  5296. }
  5297. // Validate inspects the fields of the type to determine if they are valid.
  5298. func (s *DescribeEngineDefaultParametersInput) Validate() error {
  5299. invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
  5300. if s.CacheParameterGroupFamily == nil {
  5301. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily"))
  5302. }
  5303. if invalidParams.Len() > 0 {
  5304. return invalidParams
  5305. }
  5306. return nil
  5307. }
  5308. type DescribeEngineDefaultParametersOutput struct {
  5309. _ struct{} `type:"structure"`
  5310. // Represents the output of a DescribeEngineDefaultParameters operation.
  5311. EngineDefaults *EngineDefaults `type:"structure"`
  5312. }
  5313. // String returns the string representation
  5314. func (s DescribeEngineDefaultParametersOutput) String() string {
  5315. return awsutil.Prettify(s)
  5316. }
  5317. // GoString returns the string representation
  5318. func (s DescribeEngineDefaultParametersOutput) GoString() string {
  5319. return s.String()
  5320. }
  5321. // Represents the input of a DescribeEvents operation.
  5322. type DescribeEventsInput struct {
  5323. _ struct{} `type:"structure"`
  5324. // The number of minutes' worth of events to retrieve.
  5325. Duration *int64 `type:"integer"`
  5326. // The end of the time interval for which to retrieve events, specified in ISO
  5327. // 8601 format.
  5328. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5329. // An optional marker returned from a prior request. Use this marker for pagination
  5330. // of results from this operation. If this parameter is specified, the response
  5331. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5332. Marker *string `type:"string"`
  5333. // The maximum number of records to include in the response. If more records
  5334. // exist than the specified MaxRecords value, a marker is included in the response
  5335. // so that the remaining results can be retrieved.
  5336. //
  5337. // Default: 100
  5338. //
  5339. // Constraints: minimum 20; maximum 100.
  5340. MaxRecords *int64 `type:"integer"`
  5341. // The identifier of the event source for which events are returned. If not
  5342. // specified, all sources are included in the response.
  5343. SourceIdentifier *string `type:"string"`
  5344. // The event source to retrieve events for. If no value is specified, all events
  5345. // are returned.
  5346. SourceType *string `type:"string" enum:"SourceType"`
  5347. // The beginning of the time interval to retrieve events for, specified in ISO
  5348. // 8601 format.
  5349. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5350. }
  5351. // String returns the string representation
  5352. func (s DescribeEventsInput) String() string {
  5353. return awsutil.Prettify(s)
  5354. }
  5355. // GoString returns the string representation
  5356. func (s DescribeEventsInput) GoString() string {
  5357. return s.String()
  5358. }
  5359. // Represents the output of a DescribeEvents operation.
  5360. type DescribeEventsOutput struct {
  5361. _ struct{} `type:"structure"`
  5362. // A list of events. Each element in the list contains detailed information
  5363. // about one event.
  5364. Events []*Event `locationNameList:"Event" type:"list"`
  5365. // Provides an identifier to allow retrieval of paginated results.
  5366. Marker *string `type:"string"`
  5367. }
  5368. // String returns the string representation
  5369. func (s DescribeEventsOutput) String() string {
  5370. return awsutil.Prettify(s)
  5371. }
  5372. // GoString returns the string representation
  5373. func (s DescribeEventsOutput) GoString() string {
  5374. return s.String()
  5375. }
  5376. // Represents the input of a DescribeReplicationGroups operation.
  5377. type DescribeReplicationGroupsInput struct {
  5378. _ struct{} `type:"structure"`
  5379. // An optional marker returned from a prior request. Use this marker for pagination
  5380. // of results from this operation. If this parameter is specified, the response
  5381. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5382. Marker *string `type:"string"`
  5383. // The maximum number of records to include in the response. If more records
  5384. // exist than the specified MaxRecords value, a marker is included in the response
  5385. // so that the remaining results can be retrieved.
  5386. //
  5387. // Default: 100
  5388. //
  5389. // Constraints: minimum 20; maximum 100.
  5390. MaxRecords *int64 `type:"integer"`
  5391. // The identifier for the replication group to be described. This parameter
  5392. // is not case sensitive.
  5393. //
  5394. // If you do not specify this parameter, information about all replication groups
  5395. // is returned.
  5396. ReplicationGroupId *string `type:"string"`
  5397. }
  5398. // String returns the string representation
  5399. func (s DescribeReplicationGroupsInput) String() string {
  5400. return awsutil.Prettify(s)
  5401. }
  5402. // GoString returns the string representation
  5403. func (s DescribeReplicationGroupsInput) GoString() string {
  5404. return s.String()
  5405. }
  5406. // Represents the output of a DescribeReplicationGroups operation.
  5407. type DescribeReplicationGroupsOutput struct {
  5408. _ struct{} `type:"structure"`
  5409. // Provides an identifier to allow retrieval of paginated results.
  5410. Marker *string `type:"string"`
  5411. // A list of replication groups. Each item in the list contains detailed information
  5412. // about one replication group.
  5413. ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"`
  5414. }
  5415. // String returns the string representation
  5416. func (s DescribeReplicationGroupsOutput) String() string {
  5417. return awsutil.Prettify(s)
  5418. }
  5419. // GoString returns the string representation
  5420. func (s DescribeReplicationGroupsOutput) GoString() string {
  5421. return s.String()
  5422. }
  5423. // Represents the input of a DescribeReservedCacheNodes operation.
  5424. type DescribeReservedCacheNodesInput struct {
  5425. _ struct{} `type:"structure"`
  5426. // The cache node type filter value. Use this parameter to show only those reservations
  5427. // matching the specified cache node type.
  5428. //
  5429. // Valid node types are as follows:
  5430. //
  5431. // * General purpose:
  5432. //
  5433. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  5434. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  5435. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  5436. //
  5437. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  5438. // cache.m1.xlarge
  5439. //
  5440. // * Compute optimized: cache.c1.xlarge
  5441. //
  5442. // * Memory optimized:
  5443. //
  5444. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  5445. // cache.r3.8xlarge
  5446. //
  5447. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  5448. //
  5449. // Notes:
  5450. //
  5451. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  5452. // VPC).
  5453. //
  5454. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  5455. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  5456. // enabled) T2 instances.
  5457. //
  5458. // * Redis Append-only files (AOF) functionality is not supported for T1
  5459. // or T2 instances.
  5460. //
  5461. // For a complete listing of node types and specifications, see Amazon ElastiCache
  5462. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  5463. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  5464. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  5465. CacheNodeType *string `type:"string"`
  5466. // The duration filter value, specified in years or seconds. Use this parameter
  5467. // to show only reservations for this duration.
  5468. //
  5469. // Valid Values: 1 | 3 | 31536000 | 94608000
  5470. Duration *string `type:"string"`
  5471. // An optional marker returned from a prior request. Use this marker for pagination
  5472. // of results from this operation. If this parameter is specified, the response
  5473. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5474. Marker *string `type:"string"`
  5475. // The maximum number of records to include in the response. If more records
  5476. // exist than the specified MaxRecords value, a marker is included in the response
  5477. // so that the remaining results can be retrieved.
  5478. //
  5479. // Default: 100
  5480. //
  5481. // Constraints: minimum 20; maximum 100.
  5482. MaxRecords *int64 `type:"integer"`
  5483. // The offering type filter value. Use this parameter to show only the available
  5484. // offerings matching the specified offering type.
  5485. //
  5486. // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
  5487. OfferingType *string `type:"string"`
  5488. // The product description filter value. Use this parameter to show only those
  5489. // reservations matching the specified product description.
  5490. ProductDescription *string `type:"string"`
  5491. // The reserved cache node identifier filter value. Use this parameter to show
  5492. // only the reservation that matches the specified reservation ID.
  5493. ReservedCacheNodeId *string `type:"string"`
  5494. // The offering identifier filter value. Use this parameter to show only purchased
  5495. // reservations matching the specified offering identifier.
  5496. ReservedCacheNodesOfferingId *string `type:"string"`
  5497. }
  5498. // String returns the string representation
  5499. func (s DescribeReservedCacheNodesInput) String() string {
  5500. return awsutil.Prettify(s)
  5501. }
  5502. // GoString returns the string representation
  5503. func (s DescribeReservedCacheNodesInput) GoString() string {
  5504. return s.String()
  5505. }
  5506. // Represents the input of a DescribeReservedCacheNodesOfferings operation.
  5507. type DescribeReservedCacheNodesOfferingsInput struct {
  5508. _ struct{} `type:"structure"`
  5509. // The cache node type filter value. Use this parameter to show only the available
  5510. // offerings matching the specified cache node type.
  5511. //
  5512. // Valid node types are as follows:
  5513. //
  5514. // * General purpose:
  5515. //
  5516. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  5517. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  5518. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  5519. //
  5520. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  5521. // cache.m1.xlarge
  5522. //
  5523. // * Compute optimized: cache.c1.xlarge
  5524. //
  5525. // * Memory optimized:
  5526. //
  5527. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  5528. // cache.r3.8xlarge
  5529. //
  5530. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  5531. //
  5532. // Notes:
  5533. //
  5534. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  5535. // VPC).
  5536. //
  5537. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  5538. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  5539. // enabled) T2 instances.
  5540. //
  5541. // * Redis Append-only files (AOF) functionality is not supported for T1
  5542. // or T2 instances.
  5543. //
  5544. // For a complete listing of node types and specifications, see Amazon ElastiCache
  5545. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  5546. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  5547. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  5548. CacheNodeType *string `type:"string"`
  5549. // Duration filter value, specified in years or seconds. Use this parameter
  5550. // to show only reservations for a given duration.
  5551. //
  5552. // Valid Values: 1 | 3 | 31536000 | 94608000
  5553. Duration *string `type:"string"`
  5554. // An optional marker returned from a prior request. Use this marker for pagination
  5555. // of results from this operation. If this parameter is specified, the response
  5556. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5557. Marker *string `type:"string"`
  5558. // The maximum number of records to include in the response. If more records
  5559. // exist than the specified MaxRecords value, a marker is included in the response
  5560. // so that the remaining results can be retrieved.
  5561. //
  5562. // Default: 100
  5563. //
  5564. // Constraints: minimum 20; maximum 100.
  5565. MaxRecords *int64 `type:"integer"`
  5566. // The offering type filter value. Use this parameter to show only the available
  5567. // offerings matching the specified offering type.
  5568. //
  5569. // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
  5570. OfferingType *string `type:"string"`
  5571. // The product description filter value. Use this parameter to show only the
  5572. // available offerings matching the specified product description.
  5573. ProductDescription *string `type:"string"`
  5574. // The offering identifier filter value. Use this parameter to show only the
  5575. // available offering that matches the specified reservation identifier.
  5576. //
  5577. // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
  5578. ReservedCacheNodesOfferingId *string `type:"string"`
  5579. }
  5580. // String returns the string representation
  5581. func (s DescribeReservedCacheNodesOfferingsInput) String() string {
  5582. return awsutil.Prettify(s)
  5583. }
  5584. // GoString returns the string representation
  5585. func (s DescribeReservedCacheNodesOfferingsInput) GoString() string {
  5586. return s.String()
  5587. }
  5588. // Represents the output of a DescribeReservedCacheNodesOfferings operation.
  5589. type DescribeReservedCacheNodesOfferingsOutput struct {
  5590. _ struct{} `type:"structure"`
  5591. // Provides an identifier to allow retrieval of paginated results.
  5592. Marker *string `type:"string"`
  5593. // A list of reserved cache node offerings. Each element in the list contains
  5594. // detailed information about one offering.
  5595. ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"`
  5596. }
  5597. // String returns the string representation
  5598. func (s DescribeReservedCacheNodesOfferingsOutput) String() string {
  5599. return awsutil.Prettify(s)
  5600. }
  5601. // GoString returns the string representation
  5602. func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string {
  5603. return s.String()
  5604. }
  5605. // Represents the output of a DescribeReservedCacheNodes operation.
  5606. type DescribeReservedCacheNodesOutput struct {
  5607. _ struct{} `type:"structure"`
  5608. // Provides an identifier to allow retrieval of paginated results.
  5609. Marker *string `type:"string"`
  5610. // A list of reserved cache nodes. Each element in the list contains detailed
  5611. // information about one node.
  5612. ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"`
  5613. }
  5614. // String returns the string representation
  5615. func (s DescribeReservedCacheNodesOutput) String() string {
  5616. return awsutil.Prettify(s)
  5617. }
  5618. // GoString returns the string representation
  5619. func (s DescribeReservedCacheNodesOutput) GoString() string {
  5620. return s.String()
  5621. }
  5622. // Represents the input of a DescribeSnapshotsMessage operation.
  5623. type DescribeSnapshotsInput struct {
  5624. _ struct{} `type:"structure"`
  5625. // A user-supplied cluster identifier. If this parameter is specified, only
  5626. // snapshots associated with that specific cache cluster are described.
  5627. CacheClusterId *string `type:"string"`
  5628. // An optional marker returned from a prior request. Use this marker for pagination
  5629. // of results from this operation. If this parameter is specified, the response
  5630. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5631. Marker *string `type:"string"`
  5632. // The maximum number of records to include in the response. If more records
  5633. // exist than the specified MaxRecords value, a marker is included in the response
  5634. // so that the remaining results can be retrieved.
  5635. //
  5636. // Default: 50
  5637. //
  5638. // Constraints: minimum 20; maximum 50.
  5639. MaxRecords *int64 `type:"integer"`
  5640. // A user-supplied replication group identifier. If this parameter is specified,
  5641. // only snapshots associated with that specific replication group are described.
  5642. ReplicationGroupId *string `type:"string"`
  5643. // A boolean value which if true, the node group (shard) configuration is included
  5644. // in the snapshot description.
  5645. ShowNodeGroupConfig *bool `type:"boolean"`
  5646. // A user-supplied name of the snapshot. If this parameter is specified, only
  5647. // this snapshot are described.
  5648. SnapshotName *string `type:"string"`
  5649. // If set to system, the output shows snapshots that were automatically created
  5650. // by ElastiCache. If set to user the output shows snapshots that were manually
  5651. // created. If omitted, the output shows both automatically and manually created
  5652. // snapshots.
  5653. SnapshotSource *string `type:"string"`
  5654. }
  5655. // String returns the string representation
  5656. func (s DescribeSnapshotsInput) String() string {
  5657. return awsutil.Prettify(s)
  5658. }
  5659. // GoString returns the string representation
  5660. func (s DescribeSnapshotsInput) GoString() string {
  5661. return s.String()
  5662. }
  5663. // Represents the output of a DescribeSnapshots operation.
  5664. type DescribeSnapshotsOutput struct {
  5665. _ struct{} `type:"structure"`
  5666. // An optional marker returned from a prior request. Use this marker for pagination
  5667. // of results from this operation. If this parameter is specified, the response
  5668. // includes only records beyond the marker, up to the value specified by MaxRecords.
  5669. Marker *string `type:"string"`
  5670. // A list of snapshots. Each item in the list contains detailed information
  5671. // about one snapshot.
  5672. Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"`
  5673. }
  5674. // String returns the string representation
  5675. func (s DescribeSnapshotsOutput) String() string {
  5676. return awsutil.Prettify(s)
  5677. }
  5678. // GoString returns the string representation
  5679. func (s DescribeSnapshotsOutput) GoString() string {
  5680. return s.String()
  5681. }
  5682. // Provides ownership and status information for an Amazon EC2 security group.
  5683. type EC2SecurityGroup struct {
  5684. _ struct{} `type:"structure"`
  5685. // The name of the Amazon EC2 security group.
  5686. EC2SecurityGroupName *string `type:"string"`
  5687. // The AWS account ID of the Amazon EC2 security group owner.
  5688. EC2SecurityGroupOwnerId *string `type:"string"`
  5689. // The status of the Amazon EC2 security group.
  5690. Status *string `type:"string"`
  5691. }
  5692. // String returns the string representation
  5693. func (s EC2SecurityGroup) String() string {
  5694. return awsutil.Prettify(s)
  5695. }
  5696. // GoString returns the string representation
  5697. func (s EC2SecurityGroup) GoString() string {
  5698. return s.String()
  5699. }
  5700. // Represents the information required for client programs to connect to a cache
  5701. // node.
  5702. type Endpoint struct {
  5703. _ struct{} `type:"structure"`
  5704. // The DNS hostname of the cache node.
  5705. Address *string `type:"string"`
  5706. // The port number that the cache engine is listening on.
  5707. Port *int64 `type:"integer"`
  5708. }
  5709. // String returns the string representation
  5710. func (s Endpoint) String() string {
  5711. return awsutil.Prettify(s)
  5712. }
  5713. // GoString returns the string representation
  5714. func (s Endpoint) GoString() string {
  5715. return s.String()
  5716. }
  5717. // Represents the output of a DescribeEngineDefaultParameters operation.
  5718. type EngineDefaults struct {
  5719. _ struct{} `type:"structure"`
  5720. // A list of parameters specific to a particular cache node type. Each element
  5721. // in the list contains detailed information about one parameter.
  5722. CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`
  5723. // Specifies the name of the cache parameter group family to which the engine
  5724. // default parameters apply.
  5725. //
  5726. // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2
  5727. CacheParameterGroupFamily *string `type:"string"`
  5728. // Provides an identifier to allow retrieval of paginated results.
  5729. Marker *string `type:"string"`
  5730. // Contains a list of engine default parameters.
  5731. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  5732. }
  5733. // String returns the string representation
  5734. func (s EngineDefaults) String() string {
  5735. return awsutil.Prettify(s)
  5736. }
  5737. // GoString returns the string representation
  5738. func (s EngineDefaults) GoString() string {
  5739. return s.String()
  5740. }
  5741. // Represents a single occurrence of something interesting within the system.
  5742. // Some examples of events are creating a cache cluster, adding or removing
  5743. // a cache node, or rebooting a node.
  5744. type Event struct {
  5745. _ struct{} `type:"structure"`
  5746. // The date and time when the event occurred.
  5747. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5748. // The text of the event.
  5749. Message *string `type:"string"`
  5750. // The identifier for the source of the event. For example, if the event occurred
  5751. // at the cache cluster level, the identifier would be the name of the cache
  5752. // cluster.
  5753. SourceIdentifier *string `type:"string"`
  5754. // Specifies the origin of this event - a cache cluster, a parameter group,
  5755. // a security group, etc.
  5756. SourceType *string `type:"string" enum:"SourceType"`
  5757. }
  5758. // String returns the string representation
  5759. func (s Event) String() string {
  5760. return awsutil.Prettify(s)
  5761. }
  5762. // GoString returns the string representation
  5763. func (s Event) GoString() string {
  5764. return s.String()
  5765. }
  5766. // The input parameters for the ListAllowedNodeTypeModifications operation.
  5767. type ListAllowedNodeTypeModificationsInput struct {
  5768. _ struct{} `type:"structure"`
  5769. // The name of the cache cluster you want to scale up to a larger node instanced
  5770. // type. ElastiCache uses the cluster id to identify the current node type of
  5771. // this cluster and from that to create a list of node types you can scale up
  5772. // to.
  5773. //
  5774. // You must provide a value for either the CacheClusterId or the ReplicationGroupId.
  5775. CacheClusterId *string `type:"string"`
  5776. // The name of the replication group want to scale up to a larger node type.
  5777. // ElastiCache uses the replication group id to identify the current node type
  5778. // being used by this replication group, and from that to create a list of node
  5779. // types you can scale up to.
  5780. //
  5781. // You must provide a value for either the CacheClusterId or the ReplicationGroupId.
  5782. ReplicationGroupId *string `type:"string"`
  5783. }
  5784. // String returns the string representation
  5785. func (s ListAllowedNodeTypeModificationsInput) String() string {
  5786. return awsutil.Prettify(s)
  5787. }
  5788. // GoString returns the string representation
  5789. func (s ListAllowedNodeTypeModificationsInput) GoString() string {
  5790. return s.String()
  5791. }
  5792. type ListAllowedNodeTypeModificationsOutput struct {
  5793. _ struct{} `type:"structure"`
  5794. ScaleUpModifications []*string `type:"list"`
  5795. }
  5796. // String returns the string representation
  5797. func (s ListAllowedNodeTypeModificationsOutput) String() string {
  5798. return awsutil.Prettify(s)
  5799. }
  5800. // GoString returns the string representation
  5801. func (s ListAllowedNodeTypeModificationsOutput) GoString() string {
  5802. return s.String()
  5803. }
  5804. // The input parameters for the ListTagsForResource operation.
  5805. type ListTagsForResourceInput struct {
  5806. _ struct{} `type:"structure"`
  5807. // The Amazon Resource Name (ARN) of the resource for which you want the list
  5808. // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
  5809. // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
  5810. //
  5811. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  5812. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
  5813. //
  5814. // ResourceName is a required field
  5815. ResourceName *string `type:"string" required:"true"`
  5816. }
  5817. // String returns the string representation
  5818. func (s ListTagsForResourceInput) String() string {
  5819. return awsutil.Prettify(s)
  5820. }
  5821. // GoString returns the string representation
  5822. func (s ListTagsForResourceInput) GoString() string {
  5823. return s.String()
  5824. }
  5825. // Validate inspects the fields of the type to determine if they are valid.
  5826. func (s *ListTagsForResourceInput) Validate() error {
  5827. invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  5828. if s.ResourceName == nil {
  5829. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  5830. }
  5831. if invalidParams.Len() > 0 {
  5832. return invalidParams
  5833. }
  5834. return nil
  5835. }
  5836. // Represents the input of a ModifyCacheCluster operation.
  5837. type ModifyCacheClusterInput struct {
  5838. _ struct{} `type:"structure"`
  5839. // Specifies whether the new nodes in this Memcached cache cluster are all created
  5840. // in a single Availability Zone or created across multiple Availability Zones.
  5841. //
  5842. // Valid values: single-az | cross-az.
  5843. //
  5844. // This option is only supported for Memcached cache clusters.
  5845. //
  5846. // You cannot specify single-az if the Memcached cache cluster already has cache
  5847. // nodes in different Availability Zones. If cross-az is specified, existing
  5848. // Memcached nodes remain in their current Availability Zone.
  5849. //
  5850. // Only newly created nodes are located in different Availability Zones. For
  5851. // instructions on how to move existing Memcached nodes to different Availability
  5852. // Zones, see the Availability Zone Considerations section of Cache Node Considerations
  5853. // for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
  5854. AZMode *string `type:"string" enum:"AZMode"`
  5855. // If true, this parameter causes the modifications in this request and any
  5856. // pending modifications to be applied, asynchronously and as soon as possible,
  5857. // regardless of the PreferredMaintenanceWindow setting for the cache cluster.
  5858. //
  5859. // If false, changes to the cache cluster are applied on the next maintenance
  5860. // reboot, or the next failure reboot, whichever occurs first.
  5861. //
  5862. // If you perform a ModifyCacheCluster before a pending modification is applied,
  5863. // the pending modification is replaced by the newer modification.
  5864. //
  5865. // Valid values: true | false
  5866. //
  5867. // Default: false
  5868. ApplyImmediately *bool `type:"boolean"`
  5869. // This parameter is currently disabled.
  5870. AutoMinorVersionUpgrade *bool `type:"boolean"`
  5871. // The cache cluster identifier. This value is stored as a lowercase string.
  5872. //
  5873. // CacheClusterId is a required field
  5874. CacheClusterId *string `type:"string" required:"true"`
  5875. // A list of cache node IDs to be removed. A node ID is a numeric identifier
  5876. // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less
  5877. // than the existing number of cache nodes. The number of cache node IDs supplied
  5878. // in this parameter must match the difference between the existing number of
  5879. // cache nodes in the cluster or pending cache nodes, whichever is greater,
  5880. // and the value of NumCacheNodes in the request.
  5881. //
  5882. // For example: If you have 3 active cache nodes, 7 pending cache nodes, and
  5883. // the number of cache nodes in this ModifyCacheCluser call is 5, you must list
  5884. // 2 (7 - 5) cache node IDs to remove.
  5885. CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`
  5886. // A valid cache node type that you want to scale this cache cluster up to.
  5887. CacheNodeType *string `type:"string"`
  5888. // The name of the cache parameter group to apply to this cache cluster. This
  5889. // change is asynchronously applied as soon as possible for parameters when
  5890. // the ApplyImmediately parameter is specified as true for this request.
  5891. CacheParameterGroupName *string `type:"string"`
  5892. // A list of cache security group names to authorize on this cache cluster.
  5893. // This change is asynchronously applied as soon as possible.
  5894. //
  5895. // You can use this parameter only with clusters that are created outside of
  5896. // an Amazon Virtual Private Cloud (Amazon VPC).
  5897. //
  5898. // Constraints: Must contain no more than 255 alphanumeric characters. Must
  5899. // not be "Default".
  5900. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  5901. // The upgraded version of the cache engine to be run on the cache nodes.
  5902. //
  5903. // Important: You can upgrade to a newer engine version (see Selecting a Cache
  5904. // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
  5905. // but you cannot downgrade to an earlier engine version. If you want to use
  5906. // an earlier engine version, you must delete the existing cache cluster and
  5907. // create it anew with the earlier engine version.
  5908. EngineVersion *string `type:"string"`
  5909. // The list of Availability Zones where the new Memcached cache nodes are created.
  5910. //
  5911. // This parameter is only valid when NumCacheNodes in the request is greater
  5912. // than the sum of the number of active cache nodes and the number of cache
  5913. // nodes pending creation (which may be zero). The number of Availability Zones
  5914. // supplied in this list must match the cache nodes being added in this request.
  5915. //
  5916. // This option is only supported on Memcached clusters.
  5917. //
  5918. // Scenarios:
  5919. //
  5920. // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify
  5921. // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones
  5922. // for the two new nodes.
  5923. //
  5924. // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from
  5925. // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6
  5926. // ((3 + 2) + 1) and optionally specify an Availability Zone for the new
  5927. // node.
  5928. //
  5929. // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3
  5930. // to cancel all pending operations.
  5931. //
  5932. // The Availability Zone placement of nodes pending creation cannot be modified.
  5933. // If you wish to cancel any nodes pending creation, add 0 nodes by setting
  5934. // NumCacheNodes to the number of current nodes.
  5935. //
  5936. // If cross-az is specified, existing Memcached nodes remain in their current
  5937. // Availability Zone. Only newly created nodes can be located in different Availability
  5938. // Zones. For guidance on how to move existing Memcached nodes to different
  5939. // Availability Zones, see the Availability Zone Considerations section of Cache
  5940. // Node Considerations for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
  5941. //
  5942. // Impact of new add/remove requests upon pending requests
  5943. //
  5944. // * Scenario-1
  5945. //
  5946. // Pending Action: Delete
  5947. //
  5948. // New Request: Delete
  5949. //
  5950. // Result: The new delete, pending or immediate, replaces the pending delete.
  5951. //
  5952. // * Scenario-2
  5953. //
  5954. // Pending Action: Delete
  5955. //
  5956. // New Request: Create
  5957. //
  5958. // Result: The new create, pending or immediate, replaces the pending delete.
  5959. //
  5960. // * Scenario-3
  5961. //
  5962. // Pending Action: Create
  5963. //
  5964. // New Request: Delete
  5965. //
  5966. // Result: The new delete, pending or immediate, replaces the pending create.
  5967. //
  5968. // * Scenario-4
  5969. //
  5970. // Pending Action: Create
  5971. //
  5972. // New Request: Create
  5973. //
  5974. // Result: The new create is added to the pending create.
  5975. //
  5976. // Important: If the new create request is Apply Immediately - Yes, all creates
  5977. // are performed immediately. If the new create request is Apply Immediately
  5978. // - No, all creates are pending.
  5979. NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`
  5980. // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
  5981. // are sent.
  5982. //
  5983. // The Amazon SNS topic owner must be same as the cache cluster owner.
  5984. NotificationTopicArn *string `type:"string"`
  5985. // The status of the Amazon SNS notification topic. Notifications are sent only
  5986. // if the status is active.
  5987. //
  5988. // Valid values: active | inactive
  5989. NotificationTopicStatus *string `type:"string"`
  5990. // The number of cache nodes that the cache cluster should have. If the value
  5991. // for NumCacheNodes is greater than the sum of the number of current cache
  5992. // nodes and the number of cache nodes pending creation (which may be zero),
  5993. // more nodes are added. If the value is less than the number of existing cache
  5994. // nodes, nodes are removed. If the value is equal to the number of current
  5995. // cache nodes, any pending add or remove requests are canceled.
  5996. //
  5997. // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter
  5998. // to provide the IDs of the specific cache nodes to remove.
  5999. //
  6000. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  6001. // this value must be between 1 and 20.
  6002. //
  6003. // Adding or removing Memcached cache nodes can be applied immediately or as
  6004. // a pending operation (see ApplyImmediately).
  6005. //
  6006. // A pending operation to modify the number of cache nodes in a cluster during
  6007. // its maintenance window, whether by adding or removing nodes in accordance
  6008. // with the scale out architecture, is not queued. The customer's latest request
  6009. // to add or remove nodes to the cluster overrides any previous pending operations
  6010. // to modify the number of cache nodes in the cluster. For example, a request
  6011. // to remove 2 nodes would override a previous pending operation to remove 3
  6012. // nodes. Similarly, a request to add 2 nodes would override a previous pending
  6013. // operation to remove 3 nodes and vice versa. As Memcached cache nodes may
  6014. // now be provisioned in different Availability Zones with flexible cache node
  6015. // placement, a request to add nodes does not automatically override a previous
  6016. // pending operation to add nodes. The customer can modify the previous pending
  6017. // operation to add more nodes or explicitly cancel the pending request and
  6018. // retry the new request. To cancel pending operations to modify the number
  6019. // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes
  6020. // equal to the number of cache nodes currently in the cache cluster.
  6021. NumCacheNodes *int64 `type:"integer"`
  6022. // Specifies the weekly time range during which maintenance on the cluster is
  6023. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  6024. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  6025. //
  6026. // Valid values for ddd are:
  6027. //
  6028. // * sun
  6029. //
  6030. // * mon
  6031. //
  6032. // * tue
  6033. //
  6034. // * wed
  6035. //
  6036. // * thu
  6037. //
  6038. // * fri
  6039. //
  6040. // * sat
  6041. //
  6042. // Example: sun:23:00-mon:01:30
  6043. PreferredMaintenanceWindow *string `type:"string"`
  6044. // Specifies the VPC Security Groups associated with the cache cluster.
  6045. //
  6046. // This parameter can be used only with clusters that are created in an Amazon
  6047. // Virtual Private Cloud (Amazon VPC).
  6048. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  6049. // The number of days for which ElastiCache retains automatic cache cluster
  6050. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  6051. // to 5, a snapshot that was taken today is retained for 5 days before being
  6052. // deleted.
  6053. //
  6054. // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned
  6055. // off.
  6056. SnapshotRetentionLimit *int64 `type:"integer"`
  6057. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  6058. // snapshot of your cache cluster.
  6059. SnapshotWindow *string `type:"string"`
  6060. }
  6061. // String returns the string representation
  6062. func (s ModifyCacheClusterInput) String() string {
  6063. return awsutil.Prettify(s)
  6064. }
  6065. // GoString returns the string representation
  6066. func (s ModifyCacheClusterInput) GoString() string {
  6067. return s.String()
  6068. }
  6069. // Validate inspects the fields of the type to determine if they are valid.
  6070. func (s *ModifyCacheClusterInput) Validate() error {
  6071. invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"}
  6072. if s.CacheClusterId == nil {
  6073. invalidParams.Add(request.NewErrParamRequired("CacheClusterId"))
  6074. }
  6075. if invalidParams.Len() > 0 {
  6076. return invalidParams
  6077. }
  6078. return nil
  6079. }
  6080. type ModifyCacheClusterOutput struct {
  6081. _ struct{} `type:"structure"`
  6082. // Contains all of the attributes of a specific cache cluster.
  6083. CacheCluster *CacheCluster `type:"structure"`
  6084. }
  6085. // String returns the string representation
  6086. func (s ModifyCacheClusterOutput) String() string {
  6087. return awsutil.Prettify(s)
  6088. }
  6089. // GoString returns the string representation
  6090. func (s ModifyCacheClusterOutput) GoString() string {
  6091. return s.String()
  6092. }
  6093. // Represents the input of a ModifyCacheParameterGroup operation.
  6094. type ModifyCacheParameterGroupInput struct {
  6095. _ struct{} `type:"structure"`
  6096. // The name of the cache parameter group to modify.
  6097. //
  6098. // CacheParameterGroupName is a required field
  6099. CacheParameterGroupName *string `type:"string" required:"true"`
  6100. // An array of parameter names and values for the parameter update. You must
  6101. // supply at least one parameter name and value; subsequent arguments are optional.
  6102. // A maximum of 20 parameters may be modified per request.
  6103. //
  6104. // ParameterNameValues is a required field
  6105. ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"`
  6106. }
  6107. // String returns the string representation
  6108. func (s ModifyCacheParameterGroupInput) String() string {
  6109. return awsutil.Prettify(s)
  6110. }
  6111. // GoString returns the string representation
  6112. func (s ModifyCacheParameterGroupInput) GoString() string {
  6113. return s.String()
  6114. }
  6115. // Validate inspects the fields of the type to determine if they are valid.
  6116. func (s *ModifyCacheParameterGroupInput) Validate() error {
  6117. invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"}
  6118. if s.CacheParameterGroupName == nil {
  6119. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName"))
  6120. }
  6121. if s.ParameterNameValues == nil {
  6122. invalidParams.Add(request.NewErrParamRequired("ParameterNameValues"))
  6123. }
  6124. if invalidParams.Len() > 0 {
  6125. return invalidParams
  6126. }
  6127. return nil
  6128. }
  6129. // Represents the input of a ModifyCacheSubnetGroup operation.
  6130. type ModifyCacheSubnetGroupInput struct {
  6131. _ struct{} `type:"structure"`
  6132. // A description of the cache subnet group.
  6133. CacheSubnetGroupDescription *string `type:"string"`
  6134. // The name for the cache subnet group. This value is stored as a lowercase
  6135. // string.
  6136. //
  6137. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  6138. //
  6139. // Example: mysubnetgroup
  6140. //
  6141. // CacheSubnetGroupName is a required field
  6142. CacheSubnetGroupName *string `type:"string" required:"true"`
  6143. // The EC2 subnet IDs for the cache subnet group.
  6144. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"`
  6145. }
  6146. // String returns the string representation
  6147. func (s ModifyCacheSubnetGroupInput) String() string {
  6148. return awsutil.Prettify(s)
  6149. }
  6150. // GoString returns the string representation
  6151. func (s ModifyCacheSubnetGroupInput) GoString() string {
  6152. return s.String()
  6153. }
  6154. // Validate inspects the fields of the type to determine if they are valid.
  6155. func (s *ModifyCacheSubnetGroupInput) Validate() error {
  6156. invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"}
  6157. if s.CacheSubnetGroupName == nil {
  6158. invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName"))
  6159. }
  6160. if invalidParams.Len() > 0 {
  6161. return invalidParams
  6162. }
  6163. return nil
  6164. }
  6165. type ModifyCacheSubnetGroupOutput struct {
  6166. _ struct{} `type:"structure"`
  6167. // Represents the output of one of the following operations:
  6168. //
  6169. // * CreateCacheSubnetGroup
  6170. //
  6171. // * ModifyCacheSubnetGroup
  6172. CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
  6173. }
  6174. // String returns the string representation
  6175. func (s ModifyCacheSubnetGroupOutput) String() string {
  6176. return awsutil.Prettify(s)
  6177. }
  6178. // GoString returns the string representation
  6179. func (s ModifyCacheSubnetGroupOutput) GoString() string {
  6180. return s.String()
  6181. }
  6182. // Represents the input of a ModifyReplicationGroups operation.
  6183. type ModifyReplicationGroupInput struct {
  6184. _ struct{} `type:"structure"`
  6185. // If true, this parameter causes the modifications in this request and any
  6186. // pending modifications to be applied, asynchronously and as soon as possible,
  6187. // regardless of the PreferredMaintenanceWindow setting for the replication
  6188. // group.
  6189. //
  6190. // If false, changes to the nodes in the replication group are applied on the
  6191. // next maintenance reboot, or the next failure reboot, whichever occurs first.
  6192. //
  6193. // Valid values: true | false
  6194. //
  6195. // Default: false
  6196. ApplyImmediately *bool `type:"boolean"`
  6197. // This parameter is currently disabled.
  6198. AutoMinorVersionUpgrade *bool `type:"boolean"`
  6199. // Determines whether a read replica is automatically promoted to read/write
  6200. // primary if the existing primary encounters a failure.
  6201. //
  6202. // Valid values: true | false
  6203. //
  6204. // ElastiCache Multi-AZ replication groups are not supported on:
  6205. //
  6206. // Redis versions earlier than 2.8.6.
  6207. //
  6208. // Redis (cluster mode disabled):T1 and T2 cache node types.
  6209. //
  6210. // Redis (cluster mode enabled): T1 node types.
  6211. AutomaticFailoverEnabled *bool `type:"boolean"`
  6212. // A valid cache node type that you want to scale this replication group to.
  6213. CacheNodeType *string `type:"string"`
  6214. // The name of the cache parameter group to apply to all of the clusters in
  6215. // this replication group. This change is asynchronously applied as soon as
  6216. // possible for parameters when the ApplyImmediately parameter is specified
  6217. // as true for this request.
  6218. CacheParameterGroupName *string `type:"string"`
  6219. // A list of cache security group names to authorize for the clusters in this
  6220. // replication group. This change is asynchronously applied as soon as possible.
  6221. //
  6222. // This parameter can be used only with replication group containing cache clusters
  6223. // running outside of an Amazon Virtual Private Cloud (Amazon VPC).
  6224. //
  6225. // Constraints: Must contain no more than 255 alphanumeric characters. Must
  6226. // not be Default.
  6227. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  6228. // The upgraded version of the cache engine to be run on the cache clusters
  6229. // in the replication group.
  6230. //
  6231. // Important: You can upgrade to a newer engine version (see Selecting a Cache
  6232. // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
  6233. // but you cannot downgrade to an earlier engine version. If you want to use
  6234. // an earlier engine version, you must delete the existing replication group
  6235. // and create it anew with the earlier engine version.
  6236. EngineVersion *string `type:"string"`
  6237. // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
  6238. // are sent.
  6239. //
  6240. // The Amazon SNS topic owner must be same as the replication group owner.
  6241. NotificationTopicArn *string `type:"string"`
  6242. // The status of the Amazon SNS notification topic for the replication group.
  6243. // Notifications are sent only if the status is active.
  6244. //
  6245. // Valid values: active | inactive
  6246. NotificationTopicStatus *string `type:"string"`
  6247. // Specifies the weekly time range during which maintenance on the cluster is
  6248. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  6249. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  6250. //
  6251. // Valid values for ddd are:
  6252. //
  6253. // * sun
  6254. //
  6255. // * mon
  6256. //
  6257. // * tue
  6258. //
  6259. // * wed
  6260. //
  6261. // * thu
  6262. //
  6263. // * fri
  6264. //
  6265. // * sat
  6266. //
  6267. // Example: sun:23:00-mon:01:30
  6268. PreferredMaintenanceWindow *string `type:"string"`
  6269. // For replication groups with a single primary, if this parameter is specified,
  6270. // ElastiCache promotes the specified cluster in the specified replication group
  6271. // to the primary role. The nodes of all other clusters in the replication group
  6272. // are read replicas.
  6273. PrimaryClusterId *string `type:"string"`
  6274. // A description for the replication group. Maximum length is 255 characters.
  6275. ReplicationGroupDescription *string `type:"string"`
  6276. // The identifier of the replication group to modify.
  6277. //
  6278. // ReplicationGroupId is a required field
  6279. ReplicationGroupId *string `type:"string" required:"true"`
  6280. // Specifies the VPC Security Groups associated with the cache clusters in the
  6281. // replication group.
  6282. //
  6283. // This parameter can be used only with replication group containing cache clusters
  6284. // running in an Amazon Virtual Private Cloud (Amazon VPC).
  6285. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  6286. // The number of days for which ElastiCache retains automatic node group (shard)
  6287. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  6288. // to 5, a snapshot that was taken today is retained for 5 days before being
  6289. // deleted.
  6290. //
  6291. // Important If the value of SnapshotRetentionLimit is set to zero (0), backups
  6292. // are turned off.
  6293. SnapshotRetentionLimit *int64 `type:"integer"`
  6294. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  6295. // snapshot of the node group (shard) specified by SnapshottingClusterId.
  6296. //
  6297. // Example: 05:00-09:00
  6298. //
  6299. // If you do not specify this parameter, ElastiCache automatically chooses an
  6300. // appropriate time range.
  6301. SnapshotWindow *string `type:"string"`
  6302. // The cache cluster ID that is used as the daily snapshot source for the replication
  6303. // group. This parameter cannot be set for Redis (cluster mode enabled) replication
  6304. // groups.
  6305. SnapshottingClusterId *string `type:"string"`
  6306. }
  6307. // String returns the string representation
  6308. func (s ModifyReplicationGroupInput) String() string {
  6309. return awsutil.Prettify(s)
  6310. }
  6311. // GoString returns the string representation
  6312. func (s ModifyReplicationGroupInput) GoString() string {
  6313. return s.String()
  6314. }
  6315. // Validate inspects the fields of the type to determine if they are valid.
  6316. func (s *ModifyReplicationGroupInput) Validate() error {
  6317. invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"}
  6318. if s.ReplicationGroupId == nil {
  6319. invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId"))
  6320. }
  6321. if invalidParams.Len() > 0 {
  6322. return invalidParams
  6323. }
  6324. return nil
  6325. }
  6326. type ModifyReplicationGroupOutput struct {
  6327. _ struct{} `type:"structure"`
  6328. // Contains all of the attributes of a specific Redis replication group.
  6329. ReplicationGroup *ReplicationGroup `type:"structure"`
  6330. }
  6331. // String returns the string representation
  6332. func (s ModifyReplicationGroupOutput) String() string {
  6333. return awsutil.Prettify(s)
  6334. }
  6335. // GoString returns the string representation
  6336. func (s ModifyReplicationGroupOutput) GoString() string {
  6337. return s.String()
  6338. }
  6339. // Represents a collection of cache nodes in a replication group. One node in
  6340. // the node group is the read/write Primary node. All the other nodes are read-only
  6341. // Replica nodes.
  6342. type NodeGroup struct {
  6343. _ struct{} `type:"structure"`
  6344. // The identifier for the node group (shard). A Redis (cluster mode disabled)
  6345. // replication group contains only 1 node group; therefore, the node group ID
  6346. // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15
  6347. // node groups numbered 0001 to 0015.
  6348. NodeGroupId *string `type:"string"`
  6349. // A list containing information about individual nodes within the node group
  6350. // (shard).
  6351. NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"`
  6352. // The endpoint of the primary node in this node group (shard).
  6353. PrimaryEndpoint *Endpoint `type:"structure"`
  6354. // The keyspace for this node group (shard).
  6355. Slots *string `type:"string"`
  6356. // The current state of this replication group - creating, available, etc.
  6357. Status *string `type:"string"`
  6358. }
  6359. // String returns the string representation
  6360. func (s NodeGroup) String() string {
  6361. return awsutil.Prettify(s)
  6362. }
  6363. // GoString returns the string representation
  6364. func (s NodeGroup) GoString() string {
  6365. return s.String()
  6366. }
  6367. // node group (shard) configuration options. Each node group (shard) configuration
  6368. // has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones,
  6369. // ReplicaCount.
  6370. type NodeGroupConfiguration struct {
  6371. _ struct{} `type:"structure"`
  6372. // The Availability Zone where the primary node of this node group (shard) is
  6373. // launched.
  6374. PrimaryAvailabilityZone *string `type:"string"`
  6375. // A list of Availability Zones to be used for the read replicas. The number
  6376. // of Availability Zones in this list must match the value of ReplicaCount or
  6377. // ReplicasPerNodeGroup if not specified.
  6378. ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  6379. // The number of read replica nodes in this node group (shard).
  6380. ReplicaCount *int64 `type:"integer"`
  6381. // A string that specifies the keyspaces as a series of comma separated values.
  6382. // Keyspaces are 0 to 16,383. The string is in the format startkey-endkey.
  6383. //
  6384. // Example: "0-3999"
  6385. Slots *string `type:"string"`
  6386. }
  6387. // String returns the string representation
  6388. func (s NodeGroupConfiguration) String() string {
  6389. return awsutil.Prettify(s)
  6390. }
  6391. // GoString returns the string representation
  6392. func (s NodeGroupConfiguration) GoString() string {
  6393. return s.String()
  6394. }
  6395. // Represents a single node within a node group (shard).
  6396. type NodeGroupMember struct {
  6397. _ struct{} `type:"structure"`
  6398. // The ID of the cache cluster to which the node belongs.
  6399. CacheClusterId *string `type:"string"`
  6400. // The ID of the node within its cache cluster. A node ID is a numeric identifier
  6401. // (0001, 0002, etc.).
  6402. CacheNodeId *string `type:"string"`
  6403. // The role that is currently assigned to the node - primary or replica.
  6404. CurrentRole *string `type:"string"`
  6405. // The name of the Availability Zone in which the node is located.
  6406. PreferredAvailabilityZone *string `type:"string"`
  6407. // Represents the information required for client programs to connect to a cache
  6408. // node.
  6409. ReadEndpoint *Endpoint `type:"structure"`
  6410. }
  6411. // String returns the string representation
  6412. func (s NodeGroupMember) String() string {
  6413. return awsutil.Prettify(s)
  6414. }
  6415. // GoString returns the string representation
  6416. func (s NodeGroupMember) GoString() string {
  6417. return s.String()
  6418. }
  6419. // Represents an individual cache node in a snapshot of a cache cluster.
  6420. type NodeSnapshot struct {
  6421. _ struct{} `type:"structure"`
  6422. // A unique identifier for the source cache cluster.
  6423. CacheClusterId *string `type:"string"`
  6424. // The date and time when the cache node was created in the source cache cluster.
  6425. CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6426. // The cache node identifier for the node in the source cache cluster.
  6427. CacheNodeId *string `type:"string"`
  6428. // The size of the cache on the source cache node.
  6429. CacheSize *string `type:"string"`
  6430. // The configuration for the source node group (shard).
  6431. NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"`
  6432. // A unique identifier for the source node group (shard).
  6433. NodeGroupId *string `type:"string"`
  6434. // The date and time when the source node's metadata and cache data set was
  6435. // obtained for the snapshot.
  6436. SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6437. }
  6438. // String returns the string representation
  6439. func (s NodeSnapshot) String() string {
  6440. return awsutil.Prettify(s)
  6441. }
  6442. // GoString returns the string representation
  6443. func (s NodeSnapshot) GoString() string {
  6444. return s.String()
  6445. }
  6446. // Describes a notification topic and its status. Notification topics are used
  6447. // for publishing ElastiCache events to subscribers using Amazon Simple Notification
  6448. // Service (SNS).
  6449. type NotificationConfiguration struct {
  6450. _ struct{} `type:"structure"`
  6451. // The Amazon Resource Name (ARN) that identifies the topic.
  6452. TopicArn *string `type:"string"`
  6453. // The current state of the topic.
  6454. TopicStatus *string `type:"string"`
  6455. }
  6456. // String returns the string representation
  6457. func (s NotificationConfiguration) String() string {
  6458. return awsutil.Prettify(s)
  6459. }
  6460. // GoString returns the string representation
  6461. func (s NotificationConfiguration) GoString() string {
  6462. return s.String()
  6463. }
  6464. // Describes an individual setting that controls some aspect of ElastiCache
  6465. // behavior.
  6466. type Parameter struct {
  6467. _ struct{} `type:"structure"`
  6468. // The valid range of values for the parameter.
  6469. AllowedValues *string `type:"string"`
  6470. // Indicates whether a change to the parameter is applied immediately or requires
  6471. // a reboot for the change to be applied. You can force a reboot or wait until
  6472. // the next maintenance window's reboot. For more information, see Rebooting
  6473. // a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html).
  6474. ChangeType *string `type:"string" enum:"ChangeType"`
  6475. // The valid data type for the parameter.
  6476. DataType *string `type:"string"`
  6477. // A description of the parameter.
  6478. Description *string `type:"string"`
  6479. // Indicates whether (true) or not (false) the parameter can be modified. Some
  6480. // parameters have security or operational implications that prevent them from
  6481. // being changed.
  6482. IsModifiable *bool `type:"boolean"`
  6483. // The earliest cache engine version to which the parameter can apply.
  6484. MinimumEngineVersion *string `type:"string"`
  6485. // The name of the parameter.
  6486. ParameterName *string `type:"string"`
  6487. // The value of the parameter.
  6488. ParameterValue *string `type:"string"`
  6489. // The source of the parameter.
  6490. Source *string `type:"string"`
  6491. }
  6492. // String returns the string representation
  6493. func (s Parameter) String() string {
  6494. return awsutil.Prettify(s)
  6495. }
  6496. // GoString returns the string representation
  6497. func (s Parameter) GoString() string {
  6498. return s.String()
  6499. }
  6500. // Describes a name-value pair that is used to update the value of a parameter.
  6501. type ParameterNameValue struct {
  6502. _ struct{} `type:"structure"`
  6503. // The name of the parameter.
  6504. ParameterName *string `type:"string"`
  6505. // The value of the parameter.
  6506. ParameterValue *string `type:"string"`
  6507. }
  6508. // String returns the string representation
  6509. func (s ParameterNameValue) String() string {
  6510. return awsutil.Prettify(s)
  6511. }
  6512. // GoString returns the string representation
  6513. func (s ParameterNameValue) GoString() string {
  6514. return s.String()
  6515. }
  6516. // A group of settings that are applied to the cache cluster in the future,
  6517. // or that are currently being applied.
  6518. type PendingModifiedValues struct {
  6519. _ struct{} `type:"structure"`
  6520. // A list of cache node IDs that are being removed (or will be removed) from
  6521. // the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).
  6522. CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`
  6523. // The cache node type that this cache cluster or replication group is scaled
  6524. // to.
  6525. CacheNodeType *string `type:"string"`
  6526. // The new cache engine version that the cache cluster runs.
  6527. EngineVersion *string `type:"string"`
  6528. // The new number of cache nodes for the cache cluster.
  6529. //
  6530. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  6531. // this value must be between 1 and 20.
  6532. NumCacheNodes *int64 `type:"integer"`
  6533. }
  6534. // String returns the string representation
  6535. func (s PendingModifiedValues) String() string {
  6536. return awsutil.Prettify(s)
  6537. }
  6538. // GoString returns the string representation
  6539. func (s PendingModifiedValues) GoString() string {
  6540. return s.String()
  6541. }
  6542. // Represents the input of a PurchaseReservedCacheNodesOffering operation.
  6543. type PurchaseReservedCacheNodesOfferingInput struct {
  6544. _ struct{} `type:"structure"`
  6545. // The number of cache node instances to reserve.
  6546. //
  6547. // Default: 1
  6548. CacheNodeCount *int64 `type:"integer"`
  6549. // A customer-specified identifier to track this reservation.
  6550. //
  6551. // The Reserved Cache Node ID is an unique customer-specified identifier to
  6552. // track this reservation. If this parameter is not specified, ElastiCache automatically
  6553. // generates an identifier for the reservation.
  6554. //
  6555. // Example: myreservationID
  6556. ReservedCacheNodeId *string `type:"string"`
  6557. // The ID of the reserved cache node offering to purchase.
  6558. //
  6559. // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
  6560. //
  6561. // ReservedCacheNodesOfferingId is a required field
  6562. ReservedCacheNodesOfferingId *string `type:"string" required:"true"`
  6563. }
  6564. // String returns the string representation
  6565. func (s PurchaseReservedCacheNodesOfferingInput) String() string {
  6566. return awsutil.Prettify(s)
  6567. }
  6568. // GoString returns the string representation
  6569. func (s PurchaseReservedCacheNodesOfferingInput) GoString() string {
  6570. return s.String()
  6571. }
  6572. // Validate inspects the fields of the type to determine if they are valid.
  6573. func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error {
  6574. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"}
  6575. if s.ReservedCacheNodesOfferingId == nil {
  6576. invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId"))
  6577. }
  6578. if invalidParams.Len() > 0 {
  6579. return invalidParams
  6580. }
  6581. return nil
  6582. }
  6583. type PurchaseReservedCacheNodesOfferingOutput struct {
  6584. _ struct{} `type:"structure"`
  6585. // Represents the output of a PurchaseReservedCacheNodesOffering operation.
  6586. ReservedCacheNode *ReservedCacheNode `type:"structure"`
  6587. }
  6588. // String returns the string representation
  6589. func (s PurchaseReservedCacheNodesOfferingOutput) String() string {
  6590. return awsutil.Prettify(s)
  6591. }
  6592. // GoString returns the string representation
  6593. func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string {
  6594. return s.String()
  6595. }
  6596. // Represents the input of a RebootCacheCluster operation.
  6597. type RebootCacheClusterInput struct {
  6598. _ struct{} `type:"structure"`
  6599. // The cache cluster identifier. This parameter is stored as a lowercase string.
  6600. //
  6601. // CacheClusterId is a required field
  6602. CacheClusterId *string `type:"string" required:"true"`
  6603. // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001,
  6604. // 0002, etc.). To reboot an entire cache cluster, specify all of the cache
  6605. // node IDs.
  6606. //
  6607. // CacheNodeIdsToReboot is a required field
  6608. CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"`
  6609. }
  6610. // String returns the string representation
  6611. func (s RebootCacheClusterInput) String() string {
  6612. return awsutil.Prettify(s)
  6613. }
  6614. // GoString returns the string representation
  6615. func (s RebootCacheClusterInput) GoString() string {
  6616. return s.String()
  6617. }
  6618. // Validate inspects the fields of the type to determine if they are valid.
  6619. func (s *RebootCacheClusterInput) Validate() error {
  6620. invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"}
  6621. if s.CacheClusterId == nil {
  6622. invalidParams.Add(request.NewErrParamRequired("CacheClusterId"))
  6623. }
  6624. if s.CacheNodeIdsToReboot == nil {
  6625. invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot"))
  6626. }
  6627. if invalidParams.Len() > 0 {
  6628. return invalidParams
  6629. }
  6630. return nil
  6631. }
  6632. type RebootCacheClusterOutput struct {
  6633. _ struct{} `type:"structure"`
  6634. // Contains all of the attributes of a specific cache cluster.
  6635. CacheCluster *CacheCluster `type:"structure"`
  6636. }
  6637. // String returns the string representation
  6638. func (s RebootCacheClusterOutput) String() string {
  6639. return awsutil.Prettify(s)
  6640. }
  6641. // GoString returns the string representation
  6642. func (s RebootCacheClusterOutput) GoString() string {
  6643. return s.String()
  6644. }
  6645. // Contains the specific price and frequency of a recurring charges for a reserved
  6646. // cache node, or for a reserved cache node offering.
  6647. type RecurringCharge struct {
  6648. _ struct{} `type:"structure"`
  6649. // The monetary amount of the recurring charge.
  6650. RecurringChargeAmount *float64 `type:"double"`
  6651. // The frequency of the recurring charge.
  6652. RecurringChargeFrequency *string `type:"string"`
  6653. }
  6654. // String returns the string representation
  6655. func (s RecurringCharge) String() string {
  6656. return awsutil.Prettify(s)
  6657. }
  6658. // GoString returns the string representation
  6659. func (s RecurringCharge) GoString() string {
  6660. return s.String()
  6661. }
  6662. // Represents the input of a RemoveTagsFromResource operation.
  6663. type RemoveTagsFromResourceInput struct {
  6664. _ struct{} `type:"structure"`
  6665. // The Amazon Resource Name (ARN) of the resource from which you want the tags
  6666. // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
  6667. // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
  6668. //
  6669. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  6670. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
  6671. //
  6672. // ResourceName is a required field
  6673. ResourceName *string `type:"string" required:"true"`
  6674. // A list of TagKeys identifying the tags you want removed from the named resource.
  6675. //
  6676. // TagKeys is a required field
  6677. TagKeys []*string `type:"list" required:"true"`
  6678. }
  6679. // String returns the string representation
  6680. func (s RemoveTagsFromResourceInput) String() string {
  6681. return awsutil.Prettify(s)
  6682. }
  6683. // GoString returns the string representation
  6684. func (s RemoveTagsFromResourceInput) GoString() string {
  6685. return s.String()
  6686. }
  6687. // Validate inspects the fields of the type to determine if they are valid.
  6688. func (s *RemoveTagsFromResourceInput) Validate() error {
  6689. invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
  6690. if s.ResourceName == nil {
  6691. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  6692. }
  6693. if s.TagKeys == nil {
  6694. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  6695. }
  6696. if invalidParams.Len() > 0 {
  6697. return invalidParams
  6698. }
  6699. return nil
  6700. }
  6701. // Contains all of the attributes of a specific Redis replication group.
  6702. type ReplicationGroup struct {
  6703. _ struct{} `type:"structure"`
  6704. // Indicates the status of Multi-AZ for this replication group.
  6705. //
  6706. // ElastiCache Multi-AZ replication groups are not supported on:
  6707. //
  6708. // Redis versions earlier than 2.8.6.
  6709. //
  6710. // Redis (cluster mode disabled):T1 and T2 cache node types.
  6711. //
  6712. // Redis (cluster mode enabled): T1 node types.
  6713. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"`
  6714. // The configuration endpoint for this replicaiton group. Use the configuration
  6715. // endpoint to connect to this replication group.
  6716. ConfigurationEndpoint *Endpoint `type:"structure"`
  6717. // The description of the replication group.
  6718. Description *string `type:"string"`
  6719. // The names of all the cache clusters that are part of this replication group.
  6720. MemberClusters []*string `locationNameList:"ClusterId" type:"list"`
  6721. // A single element list with information about the nodes in the replication
  6722. // group.
  6723. NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"`
  6724. // A group of settings to be applied to the replication group, either immediately
  6725. // or during the next maintenance window.
  6726. PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"`
  6727. // The identifier for the replication group.
  6728. ReplicationGroupId *string `type:"string"`
  6729. // The number of days for which ElastiCache retains automatic cache cluster
  6730. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  6731. // to 5, a snapshot that was taken today is retained for 5 days before being
  6732. // deleted.
  6733. //
  6734. // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned
  6735. // off.
  6736. SnapshotRetentionLimit *int64 `type:"integer"`
  6737. // The daily time range (in UTC) during which ElastiCache begins taking a daily
  6738. // snapshot of your node group (shard).
  6739. //
  6740. // Example: 05:00-09:00
  6741. //
  6742. // If you do not specify this parameter, ElastiCache automatically chooses an
  6743. // appropriate time range.
  6744. //
  6745. // Note: This parameter is only valid if the Engine parameter is redis.
  6746. SnapshotWindow *string `type:"string"`
  6747. // The cache cluster ID that is used as the daily snapshot source for the replication
  6748. // group.
  6749. SnapshottingClusterId *string `type:"string"`
  6750. // The current state of this replication group - creating, available, etc.
  6751. Status *string `type:"string"`
  6752. }
  6753. // String returns the string representation
  6754. func (s ReplicationGroup) String() string {
  6755. return awsutil.Prettify(s)
  6756. }
  6757. // GoString returns the string representation
  6758. func (s ReplicationGroup) GoString() string {
  6759. return s.String()
  6760. }
  6761. // The settings to be applied to the Redis replication group, either immediately
  6762. // or during the next maintenance window.
  6763. type ReplicationGroupPendingModifiedValues struct {
  6764. _ struct{} `type:"structure"`
  6765. // Indicates the status of Multi-AZ for this Redis replication group.
  6766. //
  6767. // ElastiCache Multi-AZ replication groups are not supported on:
  6768. //
  6769. // Redis versions earlier than 2.8.6.
  6770. //
  6771. // Redis (cluster mode disabled):T1 and T2 cache node types.
  6772. //
  6773. // Redis (cluster mode enabled): T1 node types.
  6774. AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"`
  6775. // The primary cluster ID that is applied immediately (if --apply-immediately
  6776. // was specified), or during the next maintenance window.
  6777. PrimaryClusterId *string `type:"string"`
  6778. }
  6779. // String returns the string representation
  6780. func (s ReplicationGroupPendingModifiedValues) String() string {
  6781. return awsutil.Prettify(s)
  6782. }
  6783. // GoString returns the string representation
  6784. func (s ReplicationGroupPendingModifiedValues) GoString() string {
  6785. return s.String()
  6786. }
  6787. // Represents the output of a PurchaseReservedCacheNodesOffering operation.
  6788. type ReservedCacheNode struct {
  6789. _ struct{} `type:"structure"`
  6790. // The number of cache nodes that have been reserved.
  6791. CacheNodeCount *int64 `type:"integer"`
  6792. // The cache node type for the reserved cache nodes.
  6793. //
  6794. // Valid node types are as follows:
  6795. //
  6796. // * General purpose:
  6797. //
  6798. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  6799. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  6800. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  6801. //
  6802. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  6803. // cache.m1.xlarge
  6804. //
  6805. // * Compute optimized: cache.c1.xlarge
  6806. //
  6807. // * Memory optimized:
  6808. //
  6809. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  6810. // cache.r3.8xlarge
  6811. //
  6812. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  6813. //
  6814. // Notes:
  6815. //
  6816. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  6817. // VPC).
  6818. //
  6819. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  6820. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  6821. // enabled) T2 instances.
  6822. //
  6823. // * Redis Append-only files (AOF) functionality is not supported for T1
  6824. // or T2 instances.
  6825. //
  6826. // For a complete listing of node types and specifications, see Amazon ElastiCache
  6827. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  6828. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  6829. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  6830. CacheNodeType *string `type:"string"`
  6831. // The duration of the reservation in seconds.
  6832. Duration *int64 `type:"integer"`
  6833. // The fixed price charged for this reserved cache node.
  6834. FixedPrice *float64 `type:"double"`
  6835. // The offering type of this reserved cache node.
  6836. OfferingType *string `type:"string"`
  6837. // The description of the reserved cache node.
  6838. ProductDescription *string `type:"string"`
  6839. // The recurring price charged to run this reserved cache node.
  6840. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  6841. // The unique identifier for the reservation.
  6842. ReservedCacheNodeId *string `type:"string"`
  6843. // The offering identifier.
  6844. ReservedCacheNodesOfferingId *string `type:"string"`
  6845. // The time the reservation started.
  6846. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6847. // The state of the reserved cache node.
  6848. State *string `type:"string"`
  6849. // The hourly price charged for this reserved cache node.
  6850. UsagePrice *float64 `type:"double"`
  6851. }
  6852. // String returns the string representation
  6853. func (s ReservedCacheNode) String() string {
  6854. return awsutil.Prettify(s)
  6855. }
  6856. // GoString returns the string representation
  6857. func (s ReservedCacheNode) GoString() string {
  6858. return s.String()
  6859. }
  6860. // Describes all of the attributes of a reserved cache node offering.
  6861. type ReservedCacheNodesOffering struct {
  6862. _ struct{} `type:"structure"`
  6863. // The cache node type for the reserved cache node.
  6864. //
  6865. // Valid node types are as follows:
  6866. //
  6867. // * General purpose:
  6868. //
  6869. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  6870. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  6871. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  6872. //
  6873. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  6874. // cache.m1.xlarge
  6875. //
  6876. // * Compute optimized: cache.c1.xlarge
  6877. //
  6878. // * Memory optimized:
  6879. //
  6880. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  6881. // cache.r3.8xlarge
  6882. //
  6883. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  6884. //
  6885. // Notes:
  6886. //
  6887. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  6888. // VPC).
  6889. //
  6890. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  6891. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  6892. // enabled) T2 instances.
  6893. //
  6894. // * Redis Append-only files (AOF) functionality is not supported for T1
  6895. // or T2 instances.
  6896. //
  6897. // For a complete listing of node types and specifications, see Amazon ElastiCache
  6898. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  6899. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  6900. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  6901. CacheNodeType *string `type:"string"`
  6902. // The duration of the offering. in seconds.
  6903. Duration *int64 `type:"integer"`
  6904. // The fixed price charged for this offering.
  6905. FixedPrice *float64 `type:"double"`
  6906. // The offering type.
  6907. OfferingType *string `type:"string"`
  6908. // The cache engine used by the offering.
  6909. ProductDescription *string `type:"string"`
  6910. // The recurring price charged to run this reserved cache node.
  6911. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  6912. // A unique identifier for the reserved cache node offering.
  6913. ReservedCacheNodesOfferingId *string `type:"string"`
  6914. // The hourly price charged for this offering.
  6915. UsagePrice *float64 `type:"double"`
  6916. }
  6917. // String returns the string representation
  6918. func (s ReservedCacheNodesOffering) String() string {
  6919. return awsutil.Prettify(s)
  6920. }
  6921. // GoString returns the string representation
  6922. func (s ReservedCacheNodesOffering) GoString() string {
  6923. return s.String()
  6924. }
  6925. // Represents the input of a ResetCacheParameterGroup operation.
  6926. type ResetCacheParameterGroupInput struct {
  6927. _ struct{} `type:"structure"`
  6928. // The name of the cache parameter group to reset.
  6929. //
  6930. // CacheParameterGroupName is a required field
  6931. CacheParameterGroupName *string `type:"string" required:"true"`
  6932. // An array of parameter names to reset to their default values. If ResetAllParameters
  6933. // is true, do not use ParameterNameValues. If ResetAllParameters is false,
  6934. // you must specify the name of at least one parameter to reset.
  6935. ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"`
  6936. // If true, all parameters in the cache parameter group are reset to their default
  6937. // values. If false, only the parameters listed by ParameterNameValues are reset
  6938. // to their default values.
  6939. //
  6940. // Valid values: true | false
  6941. ResetAllParameters *bool `type:"boolean"`
  6942. }
  6943. // String returns the string representation
  6944. func (s ResetCacheParameterGroupInput) String() string {
  6945. return awsutil.Prettify(s)
  6946. }
  6947. // GoString returns the string representation
  6948. func (s ResetCacheParameterGroupInput) GoString() string {
  6949. return s.String()
  6950. }
  6951. // Validate inspects the fields of the type to determine if they are valid.
  6952. func (s *ResetCacheParameterGroupInput) Validate() error {
  6953. invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"}
  6954. if s.CacheParameterGroupName == nil {
  6955. invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName"))
  6956. }
  6957. if invalidParams.Len() > 0 {
  6958. return invalidParams
  6959. }
  6960. return nil
  6961. }
  6962. // Represents the input of a RevokeCacheSecurityGroupIngress operation.
  6963. type RevokeCacheSecurityGroupIngressInput struct {
  6964. _ struct{} `type:"structure"`
  6965. // The name of the cache security group to revoke ingress from.
  6966. //
  6967. // CacheSecurityGroupName is a required field
  6968. CacheSecurityGroupName *string `type:"string" required:"true"`
  6969. // The name of the Amazon EC2 security group to revoke access from.
  6970. //
  6971. // EC2SecurityGroupName is a required field
  6972. EC2SecurityGroupName *string `type:"string" required:"true"`
  6973. // The AWS account number of the Amazon EC2 security group owner. Note that
  6974. // this is not the same thing as an AWS access key ID - you must provide a valid
  6975. // AWS account number for this parameter.
  6976. //
  6977. // EC2SecurityGroupOwnerId is a required field
  6978. EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
  6979. }
  6980. // String returns the string representation
  6981. func (s RevokeCacheSecurityGroupIngressInput) String() string {
  6982. return awsutil.Prettify(s)
  6983. }
  6984. // GoString returns the string representation
  6985. func (s RevokeCacheSecurityGroupIngressInput) GoString() string {
  6986. return s.String()
  6987. }
  6988. // Validate inspects the fields of the type to determine if they are valid.
  6989. func (s *RevokeCacheSecurityGroupIngressInput) Validate() error {
  6990. invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"}
  6991. if s.CacheSecurityGroupName == nil {
  6992. invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName"))
  6993. }
  6994. if s.EC2SecurityGroupName == nil {
  6995. invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName"))
  6996. }
  6997. if s.EC2SecurityGroupOwnerId == nil {
  6998. invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId"))
  6999. }
  7000. if invalidParams.Len() > 0 {
  7001. return invalidParams
  7002. }
  7003. return nil
  7004. }
  7005. type RevokeCacheSecurityGroupIngressOutput struct {
  7006. _ struct{} `type:"structure"`
  7007. // Represents the output of one of the following operations:
  7008. //
  7009. // * AuthorizeCacheSecurityGroupIngress
  7010. //
  7011. // * CreateCacheSecurityGroup
  7012. //
  7013. // * RevokeCacheSecurityGroupIngress
  7014. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  7015. }
  7016. // String returns the string representation
  7017. func (s RevokeCacheSecurityGroupIngressOutput) String() string {
  7018. return awsutil.Prettify(s)
  7019. }
  7020. // GoString returns the string representation
  7021. func (s RevokeCacheSecurityGroupIngressOutput) GoString() string {
  7022. return s.String()
  7023. }
  7024. // Represents a single cache security group and its status.
  7025. type SecurityGroupMembership struct {
  7026. _ struct{} `type:"structure"`
  7027. // The identifier of the cache security group.
  7028. SecurityGroupId *string `type:"string"`
  7029. // The status of the cache security group membership. The status changes whenever
  7030. // a cache security group is modified, or when the cache security groups assigned
  7031. // to a cache cluster are modified.
  7032. Status *string `type:"string"`
  7033. }
  7034. // String returns the string representation
  7035. func (s SecurityGroupMembership) String() string {
  7036. return awsutil.Prettify(s)
  7037. }
  7038. // GoString returns the string representation
  7039. func (s SecurityGroupMembership) GoString() string {
  7040. return s.String()
  7041. }
  7042. // Represents a copy of an entire Redis cache cluster as of the time when the
  7043. // snapshot was taken.
  7044. type Snapshot struct {
  7045. _ struct{} `type:"structure"`
  7046. // This parameter is currently disabled.
  7047. AutoMinorVersionUpgrade *bool `type:"boolean"`
  7048. // Indicates the status of Multi-AZ for the source replication group.
  7049. //
  7050. // ElastiCache Multi-AZ replication groups are not supported on:
  7051. //
  7052. // Redis versions earlier than 2.8.6.
  7053. //
  7054. // Redis (cluster mode disabled):T1 and T2 cache node types.
  7055. //
  7056. // Redis (cluster mode enabled): T1 node types.
  7057. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"`
  7058. // The date and time when the source cache cluster was created.
  7059. CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7060. // The user-supplied identifier of the source cache cluster.
  7061. CacheClusterId *string `type:"string"`
  7062. // The name of the compute and memory capacity node type for the source cache
  7063. // cluster.
  7064. //
  7065. // Valid node types are as follows:
  7066. //
  7067. // * General purpose:
  7068. //
  7069. // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
  7070. // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
  7071. // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
  7072. //
  7073. // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  7074. // cache.m1.xlarge
  7075. //
  7076. // * Compute optimized: cache.c1.xlarge
  7077. //
  7078. // * Memory optimized:
  7079. //
  7080. // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  7081. // cache.r3.8xlarge
  7082. //
  7083. // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
  7084. //
  7085. // Notes:
  7086. //
  7087. // * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon
  7088. // VPC).
  7089. //
  7090. // * Redis backup/restore is not supported for Redis (cluster mode disabled)
  7091. // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode
  7092. // enabled) T2 instances.
  7093. //
  7094. // * Redis Append-only files (AOF) functionality is not supported for T1
  7095. // or T2 instances.
  7096. //
  7097. // For a complete listing of node types and specifications, see Amazon ElastiCache
  7098. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  7099. // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
  7100. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific).
  7101. CacheNodeType *string `type:"string"`
  7102. // The cache parameter group that is associated with the source cache cluster.
  7103. CacheParameterGroupName *string `type:"string"`
  7104. // The name of the cache subnet group associated with the source cache cluster.
  7105. CacheSubnetGroupName *string `type:"string"`
  7106. // The name of the cache engine (memcached or redis) used by the source cache
  7107. // cluster.
  7108. Engine *string `type:"string"`
  7109. // The version of the cache engine version that is used by the source cache
  7110. // cluster.
  7111. EngineVersion *string `type:"string"`
  7112. // A list of the cache nodes in the source cache cluster.
  7113. NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"`
  7114. // The number of cache nodes in the source cache cluster.
  7115. //
  7116. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  7117. // this value must be between 1 and 20.
  7118. NumCacheNodes *int64 `type:"integer"`
  7119. // The number of node groups (shards) in this snapshot. When restoring from
  7120. // a snapshot, the number of node groups (shards) in the snapshot and in the
  7121. // restored replication group must be the same.
  7122. NumNodeGroups *int64 `type:"integer"`
  7123. // The port number used by each cache nodes in the source cache cluster.
  7124. Port *int64 `type:"integer"`
  7125. // The name of the Availability Zone in which the source cache cluster is located.
  7126. PreferredAvailabilityZone *string `type:"string"`
  7127. // Specifies the weekly time range during which maintenance on the cluster is
  7128. // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  7129. // (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  7130. //
  7131. // Valid values for ddd are:
  7132. //
  7133. // * sun
  7134. //
  7135. // * mon
  7136. //
  7137. // * tue
  7138. //
  7139. // * wed
  7140. //
  7141. // * thu
  7142. //
  7143. // * fri
  7144. //
  7145. // * sat
  7146. //
  7147. // Example: sun:23:00-mon:01:30
  7148. PreferredMaintenanceWindow *string `type:"string"`
  7149. // A description of the source replication group.
  7150. ReplicationGroupDescription *string `type:"string"`
  7151. // The unique identifier of the source replication group.
  7152. ReplicationGroupId *string `type:"string"`
  7153. // The name of a snapshot. For an automatic snapshot, the name is system-generated.
  7154. // For a manual snapshot, this is the user-provided name.
  7155. SnapshotName *string `type:"string"`
  7156. // For an automatic snapshot, the number of days for which ElastiCache retains
  7157. // the snapshot before deleting it.
  7158. //
  7159. // For manual snapshots, this field reflects the SnapshotRetentionLimit for
  7160. // the source cache cluster when the snapshot was created. This field is otherwise
  7161. // ignored: Manual snapshots do not expire, and can only be deleted using the
  7162. // DeleteSnapshot operation.
  7163. //
  7164. // Important If the value of SnapshotRetentionLimit is set to zero (0), backups
  7165. // are turned off.
  7166. SnapshotRetentionLimit *int64 `type:"integer"`
  7167. // Indicates whether the snapshot is from an automatic backup (automated) or
  7168. // was created manually (manual).
  7169. SnapshotSource *string `type:"string"`
  7170. // The status of the snapshot. Valid values: creating | available | restoring
  7171. // | copying | deleting.
  7172. SnapshotStatus *string `type:"string"`
  7173. // The daily time range during which ElastiCache takes daily snapshots of the
  7174. // source cache cluster.
  7175. SnapshotWindow *string `type:"string"`
  7176. // The Amazon Resource Name (ARN) for the topic used by the source cache cluster
  7177. // for publishing notifications.
  7178. TopicArn *string `type:"string"`
  7179. // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
  7180. // group for the source cache cluster.
  7181. VpcId *string `type:"string"`
  7182. }
  7183. // String returns the string representation
  7184. func (s Snapshot) String() string {
  7185. return awsutil.Prettify(s)
  7186. }
  7187. // GoString returns the string representation
  7188. func (s Snapshot) GoString() string {
  7189. return s.String()
  7190. }
  7191. // Represents the subnet associated with a cache cluster. This parameter refers
  7192. // to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used
  7193. // with ElastiCache.
  7194. type Subnet struct {
  7195. _ struct{} `type:"structure"`
  7196. // The Availability Zone associated with the subnet.
  7197. SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
  7198. // The unique identifier for the subnet.
  7199. SubnetIdentifier *string `type:"string"`
  7200. }
  7201. // String returns the string representation
  7202. func (s Subnet) String() string {
  7203. return awsutil.Prettify(s)
  7204. }
  7205. // GoString returns the string representation
  7206. func (s Subnet) GoString() string {
  7207. return s.String()
  7208. }
  7209. // A cost allocation Tag that can be added to an ElastiCache cluster or replication
  7210. // group. Tags are composed of a Key/Value pair. A tag with a null Value is
  7211. // permitted.
  7212. type Tag struct {
  7213. _ struct{} `type:"structure"`
  7214. // The key for the tag.
  7215. Key *string `type:"string"`
  7216. // The tag's value. May not be null.
  7217. Value *string `type:"string"`
  7218. }
  7219. // String returns the string representation
  7220. func (s Tag) String() string {
  7221. return awsutil.Prettify(s)
  7222. }
  7223. // GoString returns the string representation
  7224. func (s Tag) GoString() string {
  7225. return s.String()
  7226. }
  7227. // Represents the output from the AddTagsToResource, ListTagsOnResource, and
  7228. // RemoveTagsFromResource operations.
  7229. type TagListMessage struct {
  7230. _ struct{} `type:"structure"`
  7231. // A list of cost allocation tags as key-value pairs.
  7232. TagList []*Tag `locationNameList:"Tag" type:"list"`
  7233. }
  7234. // String returns the string representation
  7235. func (s TagListMessage) String() string {
  7236. return awsutil.Prettify(s)
  7237. }
  7238. // GoString returns the string representation
  7239. func (s TagListMessage) GoString() string {
  7240. return s.String()
  7241. }
  7242. const (
  7243. // AZModeSingleAz is a AZMode enum value
  7244. AZModeSingleAz = "single-az"
  7245. // AZModeCrossAz is a AZMode enum value
  7246. AZModeCrossAz = "cross-az"
  7247. )
  7248. const (
  7249. // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value
  7250. AutomaticFailoverStatusEnabled = "enabled"
  7251. // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value
  7252. AutomaticFailoverStatusDisabled = "disabled"
  7253. // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value
  7254. AutomaticFailoverStatusEnabling = "enabling"
  7255. // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value
  7256. AutomaticFailoverStatusDisabling = "disabling"
  7257. )
  7258. const (
  7259. // ChangeTypeImmediate is a ChangeType enum value
  7260. ChangeTypeImmediate = "immediate"
  7261. // ChangeTypeRequiresReboot is a ChangeType enum value
  7262. ChangeTypeRequiresReboot = "requires-reboot"
  7263. )
  7264. const (
  7265. // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value
  7266. PendingAutomaticFailoverStatusEnabled = "enabled"
  7267. // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value
  7268. PendingAutomaticFailoverStatusDisabled = "disabled"
  7269. )
  7270. const (
  7271. // SourceTypeCacheCluster is a SourceType enum value
  7272. SourceTypeCacheCluster = "cache-cluster"
  7273. // SourceTypeCacheParameterGroup is a SourceType enum value
  7274. SourceTypeCacheParameterGroup = "cache-parameter-group"
  7275. // SourceTypeCacheSecurityGroup is a SourceType enum value
  7276. SourceTypeCacheSecurityGroup = "cache-security-group"
  7277. // SourceTypeCacheSubnetGroup is a SourceType enum value
  7278. SourceTypeCacheSubnetGroup = "cache-subnet-group"
  7279. // SourceTypeReplicationGroup is a SourceType enum value
  7280. SourceTypeReplicationGroup = "replication-group"
  7281. )