api.go 243 KB

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