api.go 185 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287
  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. )
  9. const opAddTagsToResource = "AddTagsToResource"
  10. // AddTagsToResourceRequest generates a request for the AddTagsToResource operation.
  11. func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage) {
  12. op := &request.Operation{
  13. Name: opAddTagsToResource,
  14. HTTPMethod: "POST",
  15. HTTPPath: "/",
  16. }
  17. if input == nil {
  18. input = &AddTagsToResourceInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &TagListMessage{}
  22. req.Data = output
  23. return
  24. }
  25. // The AddTagsToResource action adds up to 10 cost allocation tags to the named
  26. // resource. A cost allocation tag is a key-value pair where the key and value
  27. // are case-sensitive. Cost allocation tags can be used to categorize and track
  28. // your AWS costs.
  29. //
  30. // When you apply tags to your ElastiCache resources, AWS generates a cost
  31. // allocation report as a comma-separated value (CSV) file with your usage and
  32. // costs aggregated by your tags. You can apply tags that represent business
  33. // categories (such as cost centers, application names, or owners) to organize
  34. // your costs across multiple services. For more information, see Using Cost
  35. // Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Tagging.html).
  36. func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) {
  37. req, out := c.AddTagsToResourceRequest(input)
  38. err := req.Send()
  39. return out, err
  40. }
  41. const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress"
  42. // AuthorizeCacheSecurityGroupIngressRequest generates a request for the AuthorizeCacheSecurityGroupIngress operation.
  43. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) {
  44. op := &request.Operation{
  45. Name: opAuthorizeCacheSecurityGroupIngress,
  46. HTTPMethod: "POST",
  47. HTTPPath: "/",
  48. }
  49. if input == nil {
  50. input = &AuthorizeCacheSecurityGroupIngressInput{}
  51. }
  52. req = c.newRequest(op, input, output)
  53. output = &AuthorizeCacheSecurityGroupIngressOutput{}
  54. req.Data = output
  55. return
  56. }
  57. // The AuthorizeCacheSecurityGroupIngress action allows network ingress to a
  58. // cache security group. Applications using ElastiCache must be running on Amazon
  59. // EC2, and Amazon EC2 security groups are used as the authorization mechanism.
  60. //
  61. // You cannot authorize ingress from an Amazon EC2 security group in one region
  62. // to an ElastiCache cluster in another region.
  63. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) {
  64. req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input)
  65. err := req.Send()
  66. return out, err
  67. }
  68. const opCopySnapshot = "CopySnapshot"
  69. // CopySnapshotRequest generates a request for the CopySnapshot operation.
  70. func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  71. op := &request.Operation{
  72. Name: opCopySnapshot,
  73. HTTPMethod: "POST",
  74. HTTPPath: "/",
  75. }
  76. if input == nil {
  77. input = &CopySnapshotInput{}
  78. }
  79. req = c.newRequest(op, input, output)
  80. output = &CopySnapshotOutput{}
  81. req.Data = output
  82. return
  83. }
  84. // The CopySnapshot action makes a copy of an existing snapshot.
  85. func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  86. req, out := c.CopySnapshotRequest(input)
  87. err := req.Send()
  88. return out, err
  89. }
  90. const opCreateCacheCluster = "CreateCacheCluster"
  91. // CreateCacheClusterRequest generates a request for the CreateCacheCluster operation.
  92. func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) {
  93. op := &request.Operation{
  94. Name: opCreateCacheCluster,
  95. HTTPMethod: "POST",
  96. HTTPPath: "/",
  97. }
  98. if input == nil {
  99. input = &CreateCacheClusterInput{}
  100. }
  101. req = c.newRequest(op, input, output)
  102. output = &CreateCacheClusterOutput{}
  103. req.Data = output
  104. return
  105. }
  106. // The CreateCacheCluster action creates a cache cluster. All nodes in the cache
  107. // cluster run the same protocol-compliant cache engine software, either Memcached
  108. // or Redis.
  109. func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) {
  110. req, out := c.CreateCacheClusterRequest(input)
  111. err := req.Send()
  112. return out, err
  113. }
  114. const opCreateCacheParameterGroup = "CreateCacheParameterGroup"
  115. // CreateCacheParameterGroupRequest generates a request for the CreateCacheParameterGroup operation.
  116. func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) {
  117. op := &request.Operation{
  118. Name: opCreateCacheParameterGroup,
  119. HTTPMethod: "POST",
  120. HTTPPath: "/",
  121. }
  122. if input == nil {
  123. input = &CreateCacheParameterGroupInput{}
  124. }
  125. req = c.newRequest(op, input, output)
  126. output = &CreateCacheParameterGroupOutput{}
  127. req.Data = output
  128. return
  129. }
  130. // The CreateCacheParameterGroup action creates a new cache parameter group.
  131. // A cache parameter group is a collection of parameters that you apply to all
  132. // of the nodes in a cache cluster.
  133. func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) {
  134. req, out := c.CreateCacheParameterGroupRequest(input)
  135. err := req.Send()
  136. return out, err
  137. }
  138. const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup"
  139. // CreateCacheSecurityGroupRequest generates a request for the CreateCacheSecurityGroup operation.
  140. func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) {
  141. op := &request.Operation{
  142. Name: opCreateCacheSecurityGroup,
  143. HTTPMethod: "POST",
  144. HTTPPath: "/",
  145. }
  146. if input == nil {
  147. input = &CreateCacheSecurityGroupInput{}
  148. }
  149. req = c.newRequest(op, input, output)
  150. output = &CreateCacheSecurityGroupOutput{}
  151. req.Data = output
  152. return
  153. }
  154. // The CreateCacheSecurityGroup action creates a new cache security group. Use
  155. // a cache security group to control access to one or more cache clusters.
  156. //
  157. // Cache security groups are only used when you are creating a cache cluster
  158. // outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache
  159. // cluster inside of a VPC, use a cache subnet group instead. For more information,
  160. // see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html).
  161. func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) {
  162. req, out := c.CreateCacheSecurityGroupRequest(input)
  163. err := req.Send()
  164. return out, err
  165. }
  166. const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup"
  167. // CreateCacheSubnetGroupRequest generates a request for the CreateCacheSubnetGroup operation.
  168. func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) {
  169. op := &request.Operation{
  170. Name: opCreateCacheSubnetGroup,
  171. HTTPMethod: "POST",
  172. HTTPPath: "/",
  173. }
  174. if input == nil {
  175. input = &CreateCacheSubnetGroupInput{}
  176. }
  177. req = c.newRequest(op, input, output)
  178. output = &CreateCacheSubnetGroupOutput{}
  179. req.Data = output
  180. return
  181. }
  182. // The CreateCacheSubnetGroup action creates a new cache subnet group.
  183. //
  184. // Use this parameter only when you are creating a cluster in an Amazon Virtual
  185. // Private Cloud (VPC).
  186. func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) {
  187. req, out := c.CreateCacheSubnetGroupRequest(input)
  188. err := req.Send()
  189. return out, err
  190. }
  191. const opCreateReplicationGroup = "CreateReplicationGroup"
  192. // CreateReplicationGroupRequest generates a request for the CreateReplicationGroup operation.
  193. func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) {
  194. op := &request.Operation{
  195. Name: opCreateReplicationGroup,
  196. HTTPMethod: "POST",
  197. HTTPPath: "/",
  198. }
  199. if input == nil {
  200. input = &CreateReplicationGroupInput{}
  201. }
  202. req = c.newRequest(op, input, output)
  203. output = &CreateReplicationGroupOutput{}
  204. req.Data = output
  205. return
  206. }
  207. // The CreateReplicationGroup action creates a replication group. A replication
  208. // group is a collection of cache clusters, where one of the cache clusters
  209. // is a read/write primary and the others are read-only replicas. Writes to
  210. // the primary are automatically propagated to the replicas.
  211. //
  212. // When you create a replication group, you must specify an existing cache
  213. // cluster that is in the primary role. When the replication group has been
  214. // successfully created, you can add one or more read replica replicas to it,
  215. // up to a total of five read replicas.
  216. //
  217. // Note: This action is valid only for Redis.
  218. func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) {
  219. req, out := c.CreateReplicationGroupRequest(input)
  220. err := req.Send()
  221. return out, err
  222. }
  223. const opCreateSnapshot = "CreateSnapshot"
  224. // CreateSnapshotRequest generates a request for the CreateSnapshot operation.
  225. func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
  226. op := &request.Operation{
  227. Name: opCreateSnapshot,
  228. HTTPMethod: "POST",
  229. HTTPPath: "/",
  230. }
  231. if input == nil {
  232. input = &CreateSnapshotInput{}
  233. }
  234. req = c.newRequest(op, input, output)
  235. output = &CreateSnapshotOutput{}
  236. req.Data = output
  237. return
  238. }
  239. // The CreateSnapshot action creates a copy of an entire cache cluster at a
  240. // specific moment in time.
  241. func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
  242. req, out := c.CreateSnapshotRequest(input)
  243. err := req.Send()
  244. return out, err
  245. }
  246. const opDeleteCacheCluster = "DeleteCacheCluster"
  247. // DeleteCacheClusterRequest generates a request for the DeleteCacheCluster operation.
  248. func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) {
  249. op := &request.Operation{
  250. Name: opDeleteCacheCluster,
  251. HTTPMethod: "POST",
  252. HTTPPath: "/",
  253. }
  254. if input == nil {
  255. input = &DeleteCacheClusterInput{}
  256. }
  257. req = c.newRequest(op, input, output)
  258. output = &DeleteCacheClusterOutput{}
  259. req.Data = output
  260. return
  261. }
  262. // The DeleteCacheCluster action deletes a previously provisioned cache cluster.
  263. // DeleteCacheCluster deletes all associated cache nodes, node endpoints and
  264. // the cache cluster itself. When you receive a successful response from this
  265. // action, Amazon ElastiCache immediately begins deleting the cache cluster;
  266. // you cannot cancel or revert this action.
  267. //
  268. // This API cannot be used to delete a cache cluster that is the last read
  269. // replica of a replication group that has Multi-AZ mode enabled.
  270. func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) {
  271. req, out := c.DeleteCacheClusterRequest(input)
  272. err := req.Send()
  273. return out, err
  274. }
  275. const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup"
  276. // DeleteCacheParameterGroupRequest generates a request for the DeleteCacheParameterGroup operation.
  277. func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) {
  278. op := &request.Operation{
  279. Name: opDeleteCacheParameterGroup,
  280. HTTPMethod: "POST",
  281. HTTPPath: "/",
  282. }
  283. if input == nil {
  284. input = &DeleteCacheParameterGroupInput{}
  285. }
  286. req = c.newRequest(op, input, output)
  287. output = &DeleteCacheParameterGroupOutput{}
  288. req.Data = output
  289. return
  290. }
  291. // The DeleteCacheParameterGroup action deletes the specified cache parameter
  292. // group. You cannot delete a cache parameter group if it is associated with
  293. // any cache clusters.
  294. func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) {
  295. req, out := c.DeleteCacheParameterGroupRequest(input)
  296. err := req.Send()
  297. return out, err
  298. }
  299. const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup"
  300. // DeleteCacheSecurityGroupRequest generates a request for the DeleteCacheSecurityGroup operation.
  301. func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) {
  302. op := &request.Operation{
  303. Name: opDeleteCacheSecurityGroup,
  304. HTTPMethod: "POST",
  305. HTTPPath: "/",
  306. }
  307. if input == nil {
  308. input = &DeleteCacheSecurityGroupInput{}
  309. }
  310. req = c.newRequest(op, input, output)
  311. output = &DeleteCacheSecurityGroupOutput{}
  312. req.Data = output
  313. return
  314. }
  315. // The DeleteCacheSecurityGroup action deletes a cache security group.
  316. //
  317. // You cannot delete a cache security group if it is associated with any cache
  318. // clusters.
  319. func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) {
  320. req, out := c.DeleteCacheSecurityGroupRequest(input)
  321. err := req.Send()
  322. return out, err
  323. }
  324. const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup"
  325. // DeleteCacheSubnetGroupRequest generates a request for the DeleteCacheSubnetGroup operation.
  326. func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) {
  327. op := &request.Operation{
  328. Name: opDeleteCacheSubnetGroup,
  329. HTTPMethod: "POST",
  330. HTTPPath: "/",
  331. }
  332. if input == nil {
  333. input = &DeleteCacheSubnetGroupInput{}
  334. }
  335. req = c.newRequest(op, input, output)
  336. output = &DeleteCacheSubnetGroupOutput{}
  337. req.Data = output
  338. return
  339. }
  340. // The DeleteCacheSubnetGroup action deletes a cache subnet group.
  341. //
  342. // You cannot delete a cache subnet group if it is associated with any cache
  343. // clusters.
  344. func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) {
  345. req, out := c.DeleteCacheSubnetGroupRequest(input)
  346. err := req.Send()
  347. return out, err
  348. }
  349. const opDeleteReplicationGroup = "DeleteReplicationGroup"
  350. // DeleteReplicationGroupRequest generates a request for the DeleteReplicationGroup operation.
  351. func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) {
  352. op := &request.Operation{
  353. Name: opDeleteReplicationGroup,
  354. HTTPMethod: "POST",
  355. HTTPPath: "/",
  356. }
  357. if input == nil {
  358. input = &DeleteReplicationGroupInput{}
  359. }
  360. req = c.newRequest(op, input, output)
  361. output = &DeleteReplicationGroupOutput{}
  362. req.Data = output
  363. return
  364. }
  365. // The DeleteReplicationGroup action deletes an existing replication group.
  366. // By default, this action deletes the entire replication group, including the
  367. // primary cluster and all of the read replicas. You can optionally delete only
  368. // the read replicas, while retaining the primary cluster.
  369. //
  370. // When you receive a successful response from this action, Amazon ElastiCache
  371. // immediately begins deleting the selected resources; you cannot cancel or
  372. // revert this action.
  373. func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) {
  374. req, out := c.DeleteReplicationGroupRequest(input)
  375. err := req.Send()
  376. return out, err
  377. }
  378. const opDeleteSnapshot = "DeleteSnapshot"
  379. // DeleteSnapshotRequest generates a request for the DeleteSnapshot operation.
  380. func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  381. op := &request.Operation{
  382. Name: opDeleteSnapshot,
  383. HTTPMethod: "POST",
  384. HTTPPath: "/",
  385. }
  386. if input == nil {
  387. input = &DeleteSnapshotInput{}
  388. }
  389. req = c.newRequest(op, input, output)
  390. output = &DeleteSnapshotOutput{}
  391. req.Data = output
  392. return
  393. }
  394. // The DeleteSnapshot action deletes an existing snapshot. When you receive
  395. // a successful response from this action, ElastiCache immediately begins deleting
  396. // the snapshot; you cannot cancel or revert this action.
  397. func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  398. req, out := c.DeleteSnapshotRequest(input)
  399. err := req.Send()
  400. return out, err
  401. }
  402. const opDescribeCacheClusters = "DescribeCacheClusters"
  403. // DescribeCacheClustersRequest generates a request for the DescribeCacheClusters operation.
  404. func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) {
  405. op := &request.Operation{
  406. Name: opDescribeCacheClusters,
  407. HTTPMethod: "POST",
  408. HTTPPath: "/",
  409. Paginator: &request.Paginator{
  410. InputTokens: []string{"Marker"},
  411. OutputTokens: []string{"Marker"},
  412. LimitToken: "MaxRecords",
  413. TruncationToken: "",
  414. },
  415. }
  416. if input == nil {
  417. input = &DescribeCacheClustersInput{}
  418. }
  419. req = c.newRequest(op, input, output)
  420. output = &DescribeCacheClustersOutput{}
  421. req.Data = output
  422. return
  423. }
  424. // The DescribeCacheClusters action returns information about all provisioned
  425. // cache clusters if no cache cluster identifier is specified, or about a specific
  426. // cache cluster if a cache cluster identifier is supplied.
  427. //
  428. // By default, abbreviated information about the cache clusters(s) will be
  429. // returned. You can use the optional ShowDetails flag to retrieve detailed
  430. // information about the cache nodes associated with the cache clusters. These
  431. // details include the DNS address and port for the cache node endpoint.
  432. //
  433. // If the cluster is in the CREATING state, only cluster level information
  434. // will be displayed until all of the nodes are successfully provisioned.
  435. //
  436. // If the cluster is in the DELETING state, only cluster level information
  437. // will be displayed.
  438. //
  439. // If cache nodes are currently being added to the cache cluster, node endpoint
  440. // information and creation time for the additional nodes will not be displayed
  441. // until they are completely provisioned. When the cache cluster state is available,
  442. // the cluster is ready for use.
  443. //
  444. // If cache nodes are currently being removed from the cache cluster, no endpoint
  445. // information for the removed nodes is displayed.
  446. func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) {
  447. req, out := c.DescribeCacheClustersRequest(input)
  448. err := req.Send()
  449. return out, err
  450. }
  451. func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(p *DescribeCacheClustersOutput, lastPage bool) (shouldContinue bool)) error {
  452. page, _ := c.DescribeCacheClustersRequest(input)
  453. return page.EachPage(func(p interface{}, lastPage bool) bool {
  454. return fn(p.(*DescribeCacheClustersOutput), lastPage)
  455. })
  456. }
  457. const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions"
  458. // DescribeCacheEngineVersionsRequest generates a request for the DescribeCacheEngineVersions operation.
  459. func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) {
  460. op := &request.Operation{
  461. Name: opDescribeCacheEngineVersions,
  462. HTTPMethod: "POST",
  463. HTTPPath: "/",
  464. Paginator: &request.Paginator{
  465. InputTokens: []string{"Marker"},
  466. OutputTokens: []string{"Marker"},
  467. LimitToken: "MaxRecords",
  468. TruncationToken: "",
  469. },
  470. }
  471. if input == nil {
  472. input = &DescribeCacheEngineVersionsInput{}
  473. }
  474. req = c.newRequest(op, input, output)
  475. output = &DescribeCacheEngineVersionsOutput{}
  476. req.Data = output
  477. return
  478. }
  479. // The DescribeCacheEngineVersions action returns a list of the available cache
  480. // engines and their versions.
  481. func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) {
  482. req, out := c.DescribeCacheEngineVersionsRequest(input)
  483. err := req.Send()
  484. return out, err
  485. }
  486. func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(p *DescribeCacheEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error {
  487. page, _ := c.DescribeCacheEngineVersionsRequest(input)
  488. return page.EachPage(func(p interface{}, lastPage bool) bool {
  489. return fn(p.(*DescribeCacheEngineVersionsOutput), lastPage)
  490. })
  491. }
  492. const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups"
  493. // DescribeCacheParameterGroupsRequest generates a request for the DescribeCacheParameterGroups operation.
  494. func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) {
  495. op := &request.Operation{
  496. Name: opDescribeCacheParameterGroups,
  497. HTTPMethod: "POST",
  498. HTTPPath: "/",
  499. Paginator: &request.Paginator{
  500. InputTokens: []string{"Marker"},
  501. OutputTokens: []string{"Marker"},
  502. LimitToken: "MaxRecords",
  503. TruncationToken: "",
  504. },
  505. }
  506. if input == nil {
  507. input = &DescribeCacheParameterGroupsInput{}
  508. }
  509. req = c.newRequest(op, input, output)
  510. output = &DescribeCacheParameterGroupsOutput{}
  511. req.Data = output
  512. return
  513. }
  514. // The DescribeCacheParameterGroups action returns a list of cache parameter
  515. // group descriptions. If a cache parameter group name is specified, the list
  516. // will contain only the descriptions for that group.
  517. func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) {
  518. req, out := c.DescribeCacheParameterGroupsRequest(input)
  519. err := req.Send()
  520. return out, err
  521. }
  522. func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(p *DescribeCacheParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  523. page, _ := c.DescribeCacheParameterGroupsRequest(input)
  524. return page.EachPage(func(p interface{}, lastPage bool) bool {
  525. return fn(p.(*DescribeCacheParameterGroupsOutput), lastPage)
  526. })
  527. }
  528. const opDescribeCacheParameters = "DescribeCacheParameters"
  529. // DescribeCacheParametersRequest generates a request for the DescribeCacheParameters operation.
  530. func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) {
  531. op := &request.Operation{
  532. Name: opDescribeCacheParameters,
  533. HTTPMethod: "POST",
  534. HTTPPath: "/",
  535. Paginator: &request.Paginator{
  536. InputTokens: []string{"Marker"},
  537. OutputTokens: []string{"Marker"},
  538. LimitToken: "MaxRecords",
  539. TruncationToken: "",
  540. },
  541. }
  542. if input == nil {
  543. input = &DescribeCacheParametersInput{}
  544. }
  545. req = c.newRequest(op, input, output)
  546. output = &DescribeCacheParametersOutput{}
  547. req.Data = output
  548. return
  549. }
  550. // The DescribeCacheParameters action returns the detailed parameter list for
  551. // a particular cache parameter group.
  552. func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) {
  553. req, out := c.DescribeCacheParametersRequest(input)
  554. err := req.Send()
  555. return out, err
  556. }
  557. func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(p *DescribeCacheParametersOutput, lastPage bool) (shouldContinue bool)) error {
  558. page, _ := c.DescribeCacheParametersRequest(input)
  559. return page.EachPage(func(p interface{}, lastPage bool) bool {
  560. return fn(p.(*DescribeCacheParametersOutput), lastPage)
  561. })
  562. }
  563. const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups"
  564. // DescribeCacheSecurityGroupsRequest generates a request for the DescribeCacheSecurityGroups operation.
  565. func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) {
  566. op := &request.Operation{
  567. Name: opDescribeCacheSecurityGroups,
  568. HTTPMethod: "POST",
  569. HTTPPath: "/",
  570. Paginator: &request.Paginator{
  571. InputTokens: []string{"Marker"},
  572. OutputTokens: []string{"Marker"},
  573. LimitToken: "MaxRecords",
  574. TruncationToken: "",
  575. },
  576. }
  577. if input == nil {
  578. input = &DescribeCacheSecurityGroupsInput{}
  579. }
  580. req = c.newRequest(op, input, output)
  581. output = &DescribeCacheSecurityGroupsOutput{}
  582. req.Data = output
  583. return
  584. }
  585. // The DescribeCacheSecurityGroups action returns a list of cache security group
  586. // descriptions. If a cache security group name is specified, the list will
  587. // contain only the description of that group.
  588. func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) {
  589. req, out := c.DescribeCacheSecurityGroupsRequest(input)
  590. err := req.Send()
  591. return out, err
  592. }
  593. func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(p *DescribeCacheSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  594. page, _ := c.DescribeCacheSecurityGroupsRequest(input)
  595. return page.EachPage(func(p interface{}, lastPage bool) bool {
  596. return fn(p.(*DescribeCacheSecurityGroupsOutput), lastPage)
  597. })
  598. }
  599. const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups"
  600. // DescribeCacheSubnetGroupsRequest generates a request for the DescribeCacheSubnetGroups operation.
  601. func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) {
  602. op := &request.Operation{
  603. Name: opDescribeCacheSubnetGroups,
  604. HTTPMethod: "POST",
  605. HTTPPath: "/",
  606. Paginator: &request.Paginator{
  607. InputTokens: []string{"Marker"},
  608. OutputTokens: []string{"Marker"},
  609. LimitToken: "MaxRecords",
  610. TruncationToken: "",
  611. },
  612. }
  613. if input == nil {
  614. input = &DescribeCacheSubnetGroupsInput{}
  615. }
  616. req = c.newRequest(op, input, output)
  617. output = &DescribeCacheSubnetGroupsOutput{}
  618. req.Data = output
  619. return
  620. }
  621. // The DescribeCacheSubnetGroups action returns a list of cache subnet group
  622. // descriptions. If a subnet group name is specified, the list will contain
  623. // only the description of that group.
  624. func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) {
  625. req, out := c.DescribeCacheSubnetGroupsRequest(input)
  626. err := req.Send()
  627. return out, err
  628. }
  629. func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(p *DescribeCacheSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  630. page, _ := c.DescribeCacheSubnetGroupsRequest(input)
  631. return page.EachPage(func(p interface{}, lastPage bool) bool {
  632. return fn(p.(*DescribeCacheSubnetGroupsOutput), lastPage)
  633. })
  634. }
  635. const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
  636. // DescribeEngineDefaultParametersRequest generates a request for the DescribeEngineDefaultParameters operation.
  637. func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
  638. op := &request.Operation{
  639. Name: opDescribeEngineDefaultParameters,
  640. HTTPMethod: "POST",
  641. HTTPPath: "/",
  642. Paginator: &request.Paginator{
  643. InputTokens: []string{"Marker"},
  644. OutputTokens: []string{"EngineDefaults.Marker"},
  645. LimitToken: "MaxRecords",
  646. TruncationToken: "",
  647. },
  648. }
  649. if input == nil {
  650. input = &DescribeEngineDefaultParametersInput{}
  651. }
  652. req = c.newRequest(op, input, output)
  653. output = &DescribeEngineDefaultParametersOutput{}
  654. req.Data = output
  655. return
  656. }
  657. // The DescribeEngineDefaultParameters action returns the default engine and
  658. // system parameter information for the specified cache engine.
  659. func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
  660. req, out := c.DescribeEngineDefaultParametersRequest(input)
  661. err := req.Send()
  662. return out, err
  663. }
  664. func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error {
  665. page, _ := c.DescribeEngineDefaultParametersRequest(input)
  666. return page.EachPage(func(p interface{}, lastPage bool) bool {
  667. return fn(p.(*DescribeEngineDefaultParametersOutput), lastPage)
  668. })
  669. }
  670. const opDescribeEvents = "DescribeEvents"
  671. // DescribeEventsRequest generates a request for the DescribeEvents operation.
  672. func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  673. op := &request.Operation{
  674. Name: opDescribeEvents,
  675. HTTPMethod: "POST",
  676. HTTPPath: "/",
  677. Paginator: &request.Paginator{
  678. InputTokens: []string{"Marker"},
  679. OutputTokens: []string{"Marker"},
  680. LimitToken: "MaxRecords",
  681. TruncationToken: "",
  682. },
  683. }
  684. if input == nil {
  685. input = &DescribeEventsInput{}
  686. }
  687. req = c.newRequest(op, input, output)
  688. output = &DescribeEventsOutput{}
  689. req.Data = output
  690. return
  691. }
  692. // The DescribeEvents action returns events related to cache clusters, cache
  693. // security groups, and cache parameter groups. You can obtain events specific
  694. // to a particular cache cluster, cache security group, or cache parameter group
  695. // by providing the name as a parameter.
  696. //
  697. // By default, only the events occurring within the last hour are returned;
  698. // however, you can retrieve up to 14 days' worth of events if necessary.
  699. func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  700. req, out := c.DescribeEventsRequest(input)
  701. err := req.Send()
  702. return out, err
  703. }
  704. func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error {
  705. page, _ := c.DescribeEventsRequest(input)
  706. return page.EachPage(func(p interface{}, lastPage bool) bool {
  707. return fn(p.(*DescribeEventsOutput), lastPage)
  708. })
  709. }
  710. const opDescribeReplicationGroups = "DescribeReplicationGroups"
  711. // DescribeReplicationGroupsRequest generates a request for the DescribeReplicationGroups operation.
  712. func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) {
  713. op := &request.Operation{
  714. Name: opDescribeReplicationGroups,
  715. HTTPMethod: "POST",
  716. HTTPPath: "/",
  717. Paginator: &request.Paginator{
  718. InputTokens: []string{"Marker"},
  719. OutputTokens: []string{"Marker"},
  720. LimitToken: "MaxRecords",
  721. TruncationToken: "",
  722. },
  723. }
  724. if input == nil {
  725. input = &DescribeReplicationGroupsInput{}
  726. }
  727. req = c.newRequest(op, input, output)
  728. output = &DescribeReplicationGroupsOutput{}
  729. req.Data = output
  730. return
  731. }
  732. // The DescribeReplicationGroups action returns information about a particular
  733. // replication group. If no identifier is specified, DescribeReplicationGroups
  734. // returns information about all replication groups.
  735. func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) {
  736. req, out := c.DescribeReplicationGroupsRequest(input)
  737. err := req.Send()
  738. return out, err
  739. }
  740. func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(p *DescribeReplicationGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  741. page, _ := c.DescribeReplicationGroupsRequest(input)
  742. return page.EachPage(func(p interface{}, lastPage bool) bool {
  743. return fn(p.(*DescribeReplicationGroupsOutput), lastPage)
  744. })
  745. }
  746. const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes"
  747. // DescribeReservedCacheNodesRequest generates a request for the DescribeReservedCacheNodes operation.
  748. func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) {
  749. op := &request.Operation{
  750. Name: opDescribeReservedCacheNodes,
  751. HTTPMethod: "POST",
  752. HTTPPath: "/",
  753. Paginator: &request.Paginator{
  754. InputTokens: []string{"Marker"},
  755. OutputTokens: []string{"Marker"},
  756. LimitToken: "MaxRecords",
  757. TruncationToken: "",
  758. },
  759. }
  760. if input == nil {
  761. input = &DescribeReservedCacheNodesInput{}
  762. }
  763. req = c.newRequest(op, input, output)
  764. output = &DescribeReservedCacheNodesOutput{}
  765. req.Data = output
  766. return
  767. }
  768. // The DescribeReservedCacheNodes action returns information about reserved
  769. // cache nodes for this account, or about a specified reserved cache node.
  770. func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) {
  771. req, out := c.DescribeReservedCacheNodesRequest(input)
  772. err := req.Send()
  773. return out, err
  774. }
  775. func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(p *DescribeReservedCacheNodesOutput, lastPage bool) (shouldContinue bool)) error {
  776. page, _ := c.DescribeReservedCacheNodesRequest(input)
  777. return page.EachPage(func(p interface{}, lastPage bool) bool {
  778. return fn(p.(*DescribeReservedCacheNodesOutput), lastPage)
  779. })
  780. }
  781. const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings"
  782. // DescribeReservedCacheNodesOfferingsRequest generates a request for the DescribeReservedCacheNodesOfferings operation.
  783. func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) {
  784. op := &request.Operation{
  785. Name: opDescribeReservedCacheNodesOfferings,
  786. HTTPMethod: "POST",
  787. HTTPPath: "/",
  788. Paginator: &request.Paginator{
  789. InputTokens: []string{"Marker"},
  790. OutputTokens: []string{"Marker"},
  791. LimitToken: "MaxRecords",
  792. TruncationToken: "",
  793. },
  794. }
  795. if input == nil {
  796. input = &DescribeReservedCacheNodesOfferingsInput{}
  797. }
  798. req = c.newRequest(op, input, output)
  799. output = &DescribeReservedCacheNodesOfferingsOutput{}
  800. req.Data = output
  801. return
  802. }
  803. // The DescribeReservedCacheNodesOfferings action lists available reserved cache
  804. // node offerings.
  805. func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) {
  806. req, out := c.DescribeReservedCacheNodesOfferingsRequest(input)
  807. err := req.Send()
  808. return out, err
  809. }
  810. func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(p *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  811. page, _ := c.DescribeReservedCacheNodesOfferingsRequest(input)
  812. return page.EachPage(func(p interface{}, lastPage bool) bool {
  813. return fn(p.(*DescribeReservedCacheNodesOfferingsOutput), lastPage)
  814. })
  815. }
  816. const opDescribeSnapshots = "DescribeSnapshots"
  817. // DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation.
  818. func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  819. op := &request.Operation{
  820. Name: opDescribeSnapshots,
  821. HTTPMethod: "POST",
  822. HTTPPath: "/",
  823. Paginator: &request.Paginator{
  824. InputTokens: []string{"Marker"},
  825. OutputTokens: []string{"Marker"},
  826. LimitToken: "MaxRecords",
  827. TruncationToken: "",
  828. },
  829. }
  830. if input == nil {
  831. input = &DescribeSnapshotsInput{}
  832. }
  833. req = c.newRequest(op, input, output)
  834. output = &DescribeSnapshotsOutput{}
  835. req.Data = output
  836. return
  837. }
  838. // The DescribeSnapshots action returns information about cache cluster snapshots.
  839. // By default, DescribeSnapshots lists all of your snapshots; it can optionally
  840. // describe a single snapshot, or just the snapshots associated with a particular
  841. // cache cluster.
  842. func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  843. req, out := c.DescribeSnapshotsRequest(input)
  844. err := req.Send()
  845. return out, err
  846. }
  847. func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  848. page, _ := c.DescribeSnapshotsRequest(input)
  849. return page.EachPage(func(p interface{}, lastPage bool) bool {
  850. return fn(p.(*DescribeSnapshotsOutput), lastPage)
  851. })
  852. }
  853. const opListTagsForResource = "ListTagsForResource"
  854. // ListTagsForResourceRequest generates a request for the ListTagsForResource operation.
  855. func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) {
  856. op := &request.Operation{
  857. Name: opListTagsForResource,
  858. HTTPMethod: "POST",
  859. HTTPPath: "/",
  860. }
  861. if input == nil {
  862. input = &ListTagsForResourceInput{}
  863. }
  864. req = c.newRequest(op, input, output)
  865. output = &TagListMessage{}
  866. req.Data = output
  867. return
  868. }
  869. // The ListTagsForResource action lists all cost allocation tags currently on
  870. // the named resource. A cost allocation tag is a key-value pair where the key
  871. // is case-sensitive and the value is optional. Cost allocation tags can be
  872. // used to categorize and track your AWS costs.
  873. //
  874. // You can have a maximum of 10 cost allocation tags on an ElastiCache resource.
  875. // For more information, see Using Cost Allocation Tags in Amazon ElastiCache
  876. // (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html).
  877. func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) {
  878. req, out := c.ListTagsForResourceRequest(input)
  879. err := req.Send()
  880. return out, err
  881. }
  882. const opModifyCacheCluster = "ModifyCacheCluster"
  883. // ModifyCacheClusterRequest generates a request for the ModifyCacheCluster operation.
  884. func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) {
  885. op := &request.Operation{
  886. Name: opModifyCacheCluster,
  887. HTTPMethod: "POST",
  888. HTTPPath: "/",
  889. }
  890. if input == nil {
  891. input = &ModifyCacheClusterInput{}
  892. }
  893. req = c.newRequest(op, input, output)
  894. output = &ModifyCacheClusterOutput{}
  895. req.Data = output
  896. return
  897. }
  898. // The ModifyCacheCluster action modifies the settings for a cache cluster.
  899. // You can use this action to change one or more cluster configuration parameters
  900. // by specifying the parameters and the new values.
  901. func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) {
  902. req, out := c.ModifyCacheClusterRequest(input)
  903. err := req.Send()
  904. return out, err
  905. }
  906. const opModifyCacheParameterGroup = "ModifyCacheParameterGroup"
  907. // ModifyCacheParameterGroupRequest generates a request for the ModifyCacheParameterGroup operation.
  908. func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) {
  909. op := &request.Operation{
  910. Name: opModifyCacheParameterGroup,
  911. HTTPMethod: "POST",
  912. HTTPPath: "/",
  913. }
  914. if input == nil {
  915. input = &ModifyCacheParameterGroupInput{}
  916. }
  917. req = c.newRequest(op, input, output)
  918. output = &CacheParameterGroupNameMessage{}
  919. req.Data = output
  920. return
  921. }
  922. // The ModifyCacheParameterGroup action modifies the parameters of a cache parameter
  923. // group. You can modify up to 20 parameters in a single request by submitting
  924. // a list parameter name and value pairs.
  925. func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) {
  926. req, out := c.ModifyCacheParameterGroupRequest(input)
  927. err := req.Send()
  928. return out, err
  929. }
  930. const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup"
  931. // ModifyCacheSubnetGroupRequest generates a request for the ModifyCacheSubnetGroup operation.
  932. func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) {
  933. op := &request.Operation{
  934. Name: opModifyCacheSubnetGroup,
  935. HTTPMethod: "POST",
  936. HTTPPath: "/",
  937. }
  938. if input == nil {
  939. input = &ModifyCacheSubnetGroupInput{}
  940. }
  941. req = c.newRequest(op, input, output)
  942. output = &ModifyCacheSubnetGroupOutput{}
  943. req.Data = output
  944. return
  945. }
  946. // The ModifyCacheSubnetGroup action modifies an existing cache subnet group.
  947. func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) {
  948. req, out := c.ModifyCacheSubnetGroupRequest(input)
  949. err := req.Send()
  950. return out, err
  951. }
  952. const opModifyReplicationGroup = "ModifyReplicationGroup"
  953. // ModifyReplicationGroupRequest generates a request for the ModifyReplicationGroup operation.
  954. func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) {
  955. op := &request.Operation{
  956. Name: opModifyReplicationGroup,
  957. HTTPMethod: "POST",
  958. HTTPPath: "/",
  959. }
  960. if input == nil {
  961. input = &ModifyReplicationGroupInput{}
  962. }
  963. req = c.newRequest(op, input, output)
  964. output = &ModifyReplicationGroupOutput{}
  965. req.Data = output
  966. return
  967. }
  968. // The ModifyReplicationGroup action modifies the settings for a replication
  969. // group.
  970. func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) {
  971. req, out := c.ModifyReplicationGroupRequest(input)
  972. err := req.Send()
  973. return out, err
  974. }
  975. const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering"
  976. // PurchaseReservedCacheNodesOfferingRequest generates a request for the PurchaseReservedCacheNodesOffering operation.
  977. func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) {
  978. op := &request.Operation{
  979. Name: opPurchaseReservedCacheNodesOffering,
  980. HTTPMethod: "POST",
  981. HTTPPath: "/",
  982. }
  983. if input == nil {
  984. input = &PurchaseReservedCacheNodesOfferingInput{}
  985. }
  986. req = c.newRequest(op, input, output)
  987. output = &PurchaseReservedCacheNodesOfferingOutput{}
  988. req.Data = output
  989. return
  990. }
  991. // The PurchaseReservedCacheNodesOffering action allows you to purchase a reserved
  992. // cache node offering.
  993. func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) {
  994. req, out := c.PurchaseReservedCacheNodesOfferingRequest(input)
  995. err := req.Send()
  996. return out, err
  997. }
  998. const opRebootCacheCluster = "RebootCacheCluster"
  999. // RebootCacheClusterRequest generates a request for the RebootCacheCluster operation.
  1000. func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) {
  1001. op := &request.Operation{
  1002. Name: opRebootCacheCluster,
  1003. HTTPMethod: "POST",
  1004. HTTPPath: "/",
  1005. }
  1006. if input == nil {
  1007. input = &RebootCacheClusterInput{}
  1008. }
  1009. req = c.newRequest(op, input, output)
  1010. output = &RebootCacheClusterOutput{}
  1011. req.Data = output
  1012. return
  1013. }
  1014. // The RebootCacheCluster action reboots some, or all, of the cache nodes within
  1015. // a provisioned cache cluster. This API will apply any modified cache parameter
  1016. // groups to the cache cluster. The reboot action takes place as soon as possible,
  1017. // and results in a momentary outage to the cache cluster. During the reboot,
  1018. // the cache cluster status is set to REBOOTING.
  1019. //
  1020. // The reboot causes the contents of the cache (for each cache node being rebooted)
  1021. // to be lost.
  1022. //
  1023. // When the reboot is complete, a cache cluster event is created.
  1024. func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) {
  1025. req, out := c.RebootCacheClusterRequest(input)
  1026. err := req.Send()
  1027. return out, err
  1028. }
  1029. const opRemoveTagsFromResource = "RemoveTagsFromResource"
  1030. // RemoveTagsFromResourceRequest generates a request for the RemoveTagsFromResource operation.
  1031. func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) {
  1032. op := &request.Operation{
  1033. Name: opRemoveTagsFromResource,
  1034. HTTPMethod: "POST",
  1035. HTTPPath: "/",
  1036. }
  1037. if input == nil {
  1038. input = &RemoveTagsFromResourceInput{}
  1039. }
  1040. req = c.newRequest(op, input, output)
  1041. output = &TagListMessage{}
  1042. req.Data = output
  1043. return
  1044. }
  1045. // The RemoveTagsFromResource action removes the tags identified by the TagKeys
  1046. // list from the named resource.
  1047. func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) {
  1048. req, out := c.RemoveTagsFromResourceRequest(input)
  1049. err := req.Send()
  1050. return out, err
  1051. }
  1052. const opResetCacheParameterGroup = "ResetCacheParameterGroup"
  1053. // ResetCacheParameterGroupRequest generates a request for the ResetCacheParameterGroup operation.
  1054. func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) {
  1055. op := &request.Operation{
  1056. Name: opResetCacheParameterGroup,
  1057. HTTPMethod: "POST",
  1058. HTTPPath: "/",
  1059. }
  1060. if input == nil {
  1061. input = &ResetCacheParameterGroupInput{}
  1062. }
  1063. req = c.newRequest(op, input, output)
  1064. output = &CacheParameterGroupNameMessage{}
  1065. req.Data = output
  1066. return
  1067. }
  1068. // The ResetCacheParameterGroup action modifies the parameters of a cache parameter
  1069. // group to the engine or system default value. You can reset specific parameters
  1070. // by submitting a list of parameter names. To reset the entire cache parameter
  1071. // group, specify the ResetAllParameters and CacheParameterGroupName parameters.
  1072. func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) {
  1073. req, out := c.ResetCacheParameterGroupRequest(input)
  1074. err := req.Send()
  1075. return out, err
  1076. }
  1077. const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress"
  1078. // RevokeCacheSecurityGroupIngressRequest generates a request for the RevokeCacheSecurityGroupIngress operation.
  1079. func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) {
  1080. op := &request.Operation{
  1081. Name: opRevokeCacheSecurityGroupIngress,
  1082. HTTPMethod: "POST",
  1083. HTTPPath: "/",
  1084. }
  1085. if input == nil {
  1086. input = &RevokeCacheSecurityGroupIngressInput{}
  1087. }
  1088. req = c.newRequest(op, input, output)
  1089. output = &RevokeCacheSecurityGroupIngressOutput{}
  1090. req.Data = output
  1091. return
  1092. }
  1093. // The RevokeCacheSecurityGroupIngress action revokes ingress from a cache security
  1094. // group. Use this action to disallow access from an Amazon EC2 security group
  1095. // that had been previously authorized.
  1096. func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) {
  1097. req, out := c.RevokeCacheSecurityGroupIngressRequest(input)
  1098. err := req.Send()
  1099. return out, err
  1100. }
  1101. // Represents the input of an AddTagsToResource action.
  1102. type AddTagsToResourceInput struct {
  1103. // The name of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster.
  1104. ResourceName *string `type:"string" required:"true"`
  1105. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  1106. // pair. A tag key must be accompanied by a tag value.
  1107. Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  1108. metadataAddTagsToResourceInput `json:"-" xml:"-"`
  1109. }
  1110. type metadataAddTagsToResourceInput struct {
  1111. SDKShapeTraits bool `type:"structure"`
  1112. }
  1113. // String returns the string representation
  1114. func (s AddTagsToResourceInput) String() string {
  1115. return awsutil.Prettify(s)
  1116. }
  1117. // GoString returns the string representation
  1118. func (s AddTagsToResourceInput) GoString() string {
  1119. return s.String()
  1120. }
  1121. // Represents the input of an AuthorizeCacheSecurityGroupIngress action.
  1122. type AuthorizeCacheSecurityGroupIngressInput struct {
  1123. // The cache security group which will allow network ingress.
  1124. CacheSecurityGroupName *string `type:"string" required:"true"`
  1125. // The Amazon EC2 security group to be authorized for ingress to the cache security
  1126. // group.
  1127. EC2SecurityGroupName *string `type:"string" required:"true"`
  1128. // The AWS account number of the Amazon EC2 security group owner. Note that
  1129. // this is not the same thing as an AWS access key ID - you must provide a valid
  1130. // AWS account number for this parameter.
  1131. EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
  1132. metadataAuthorizeCacheSecurityGroupIngressInput `json:"-" xml:"-"`
  1133. }
  1134. type metadataAuthorizeCacheSecurityGroupIngressInput struct {
  1135. SDKShapeTraits bool `type:"structure"`
  1136. }
  1137. // String returns the string representation
  1138. func (s AuthorizeCacheSecurityGroupIngressInput) String() string {
  1139. return awsutil.Prettify(s)
  1140. }
  1141. // GoString returns the string representation
  1142. func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string {
  1143. return s.String()
  1144. }
  1145. type AuthorizeCacheSecurityGroupIngressOutput struct {
  1146. // Represents the output of one of the following actions:
  1147. //
  1148. // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress
  1149. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  1150. metadataAuthorizeCacheSecurityGroupIngressOutput `json:"-" xml:"-"`
  1151. }
  1152. type metadataAuthorizeCacheSecurityGroupIngressOutput struct {
  1153. SDKShapeTraits bool `type:"structure"`
  1154. }
  1155. // String returns the string representation
  1156. func (s AuthorizeCacheSecurityGroupIngressOutput) String() string {
  1157. return awsutil.Prettify(s)
  1158. }
  1159. // GoString returns the string representation
  1160. func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string {
  1161. return s.String()
  1162. }
  1163. // Describes an Availability Zone in which the cache cluster is launched.
  1164. type AvailabilityZone struct {
  1165. // The name of the Availability Zone.
  1166. Name *string `type:"string"`
  1167. metadataAvailabilityZone `json:"-" xml:"-"`
  1168. }
  1169. type metadataAvailabilityZone struct {
  1170. SDKShapeTraits bool `type:"structure"`
  1171. }
  1172. // String returns the string representation
  1173. func (s AvailabilityZone) String() string {
  1174. return awsutil.Prettify(s)
  1175. }
  1176. // GoString returns the string representation
  1177. func (s AvailabilityZone) GoString() string {
  1178. return s.String()
  1179. }
  1180. // Contains all of the attributes of a specific cache cluster.
  1181. type CacheCluster struct {
  1182. // This parameter is currently disabled.
  1183. AutoMinorVersionUpgrade *bool `type:"boolean"`
  1184. // The date and time when the cache cluster was created.
  1185. CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  1186. // The user-supplied identifier of the cache cluster. This identifier is a unique
  1187. // key that identifies a cache cluster.
  1188. CacheClusterId *string `type:"string"`
  1189. // The current state of this cache cluster, one of the following values: available,
  1190. // creating, deleted, deleting, incompatible-network, modifying, rebooting cache
  1191. // cluster nodes, restore-failed, or snapshotting.
  1192. CacheClusterStatus *string `type:"string"`
  1193. // The name of the compute and memory capacity node type for the cache cluster.
  1194. //
  1195. // Valid node types are as follows:
  1196. //
  1197. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  1198. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  1199. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  1200. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  1201. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  1202. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  1203. // cache.m2.4xlarge Notes:
  1204. //
  1205. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  1206. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  1207. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  1208. // complete listing of cache node types and specifications, see Amazon ElastiCache
  1209. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  1210. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  1211. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  1212. CacheNodeType *string `type:"string"`
  1213. // A list of cache nodes that are members of the cache cluster.
  1214. CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"`
  1215. // The status of the cache parameter group.
  1216. CacheParameterGroup *CacheParameterGroupStatus `type:"structure"`
  1217. // A list of cache security group elements, composed of name and status sub-elements.
  1218. CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"`
  1219. // The name of the cache subnet group associated with the cache cluster.
  1220. CacheSubnetGroupName *string `type:"string"`
  1221. // The URL of the web page where you can download the latest ElastiCache client
  1222. // library.
  1223. ClientDownloadLandingPage *string `type:"string"`
  1224. // Represents the information required for client programs to connect to a cache
  1225. // node.
  1226. ConfigurationEndpoint *Endpoint `type:"structure"`
  1227. // The name of the cache engine (memcached or redis) to be used for this cache
  1228. // cluster.
  1229. Engine *string `type:"string"`
  1230. // The version of the cache engine version that is used in this cache cluster.
  1231. EngineVersion *string `type:"string"`
  1232. // Describes a notification topic and its status. Notification topics are used
  1233. // for publishing ElastiCache events to subscribers using Amazon Simple Notification
  1234. // Service (SNS).
  1235. NotificationConfiguration *NotificationConfiguration `type:"structure"`
  1236. // The number of cache nodes in the cache cluster.
  1237. //
  1238. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  1239. // this value must be between 1 and 20.
  1240. NumCacheNodes *int64 `type:"integer"`
  1241. // A group of settings that will be applied to the cache cluster in the future,
  1242. // or that are currently being applied.
  1243. PendingModifiedValues *PendingModifiedValues `type:"structure"`
  1244. // The name of the Availability Zone in which the cache cluster is located or
  1245. // "Multiple" if the cache nodes are located in different Availability Zones.
  1246. PreferredAvailabilityZone *string `type:"string"`
  1247. // Specifies the weekly time range during which maintenance on the cache cluster
  1248. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  1249. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  1250. // values for ddd are:
  1251. //
  1252. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  1253. PreferredMaintenanceWindow *string `type:"string"`
  1254. // The replication group to which this cache cluster belongs. If this field
  1255. // is empty, the cache cluster is not associated with any replication group.
  1256. ReplicationGroupId *string `type:"string"`
  1257. // A list of VPC Security Groups associated with the cache cluster.
  1258. SecurityGroups []*SecurityGroupMembership `type:"list"`
  1259. // The number of days for which ElastiCache will retain automatic cache cluster
  1260. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  1261. // to 5, then a snapshot that was taken today will be retained for 5 days before
  1262. // being deleted.
  1263. //
  1264. // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups
  1265. // are turned off.
  1266. SnapshotRetentionLimit *int64 `type:"integer"`
  1267. // The daily time range (in UTC) during which ElastiCache will begin taking
  1268. // a daily snapshot of your cache cluster.
  1269. //
  1270. // Example: 05:00-09:00
  1271. SnapshotWindow *string `type:"string"`
  1272. metadataCacheCluster `json:"-" xml:"-"`
  1273. }
  1274. type metadataCacheCluster struct {
  1275. SDKShapeTraits bool `type:"structure"`
  1276. }
  1277. // String returns the string representation
  1278. func (s CacheCluster) String() string {
  1279. return awsutil.Prettify(s)
  1280. }
  1281. // GoString returns the string representation
  1282. func (s CacheCluster) GoString() string {
  1283. return s.String()
  1284. }
  1285. // Provides all of the details about a particular cache engine version.
  1286. type CacheEngineVersion struct {
  1287. // The description of the cache engine.
  1288. CacheEngineDescription *string `type:"string"`
  1289. // The description of the cache engine version.
  1290. CacheEngineVersionDescription *string `type:"string"`
  1291. // The name of the cache parameter group family associated with this cache engine.
  1292. CacheParameterGroupFamily *string `type:"string"`
  1293. // The name of the cache engine.
  1294. Engine *string `type:"string"`
  1295. // The version number of the cache engine.
  1296. EngineVersion *string `type:"string"`
  1297. metadataCacheEngineVersion `json:"-" xml:"-"`
  1298. }
  1299. type metadataCacheEngineVersion struct {
  1300. SDKShapeTraits bool `type:"structure"`
  1301. }
  1302. // String returns the string representation
  1303. func (s CacheEngineVersion) String() string {
  1304. return awsutil.Prettify(s)
  1305. }
  1306. // GoString returns the string representation
  1307. func (s CacheEngineVersion) GoString() string {
  1308. return s.String()
  1309. }
  1310. // Represents an individual cache node within a cache cluster. Each cache node
  1311. // runs its own instance of the cluster's protocol-compliant caching software
  1312. // - either Memcached or Redis.
  1313. //
  1314. // Valid node types are as follows:
  1315. //
  1316. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  1317. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  1318. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  1319. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  1320. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  1321. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  1322. // cache.m2.4xlarge Notes:
  1323. //
  1324. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  1325. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  1326. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  1327. // complete listing of cache node types and specifications, see Amazon ElastiCache
  1328. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  1329. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  1330. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  1331. type CacheNode struct {
  1332. // The date and time when the cache node was created.
  1333. CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  1334. // The cache node identifier. A node ID is a numeric identifier (0001, 0002,
  1335. // etc.). The combination of cluster ID and node ID uniquely identifies every
  1336. // cache node used in a customer's AWS account.
  1337. CacheNodeId *string `type:"string"`
  1338. // The current state of this cache node.
  1339. CacheNodeStatus *string `type:"string"`
  1340. // The Availability Zone where this node was created and now resides.
  1341. CustomerAvailabilityZone *string `type:"string"`
  1342. // The hostname for connecting to this cache node.
  1343. Endpoint *Endpoint `type:"structure"`
  1344. // The status of the parameter group applied to this cache node.
  1345. ParameterGroupStatus *string `type:"string"`
  1346. // The ID of the primary node to which this read replica node is synchronized.
  1347. // If this field is empty, then this node is not associated with a primary cache
  1348. // cluster.
  1349. SourceCacheNodeId *string `type:"string"`
  1350. metadataCacheNode `json:"-" xml:"-"`
  1351. }
  1352. type metadataCacheNode struct {
  1353. SDKShapeTraits bool `type:"structure"`
  1354. }
  1355. // String returns the string representation
  1356. func (s CacheNode) String() string {
  1357. return awsutil.Prettify(s)
  1358. }
  1359. // GoString returns the string representation
  1360. func (s CacheNode) GoString() string {
  1361. return s.String()
  1362. }
  1363. // A parameter that has a different value for each cache node type it is applied
  1364. // to. For example, in a Redis cache cluster, a cache.m1.large cache node type
  1365. // would have a larger maxmemory value than a cache.m1.small type.
  1366. type CacheNodeTypeSpecificParameter struct {
  1367. // The valid range of values for the parameter.
  1368. AllowedValues *string `type:"string"`
  1369. // A list of cache node types and their corresponding values for this parameter.
  1370. CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"`
  1371. // The valid data type for the parameter.
  1372. DataType *string `type:"string"`
  1373. // A description of the parameter.
  1374. Description *string `type:"string"`
  1375. // Indicates whether (true) or not (false) the parameter can be modified. Some
  1376. // parameters have security or operational implications that prevent them from
  1377. // being changed.
  1378. IsModifiable *bool `type:"boolean"`
  1379. // The earliest cache engine version to which the parameter can apply.
  1380. MinimumEngineVersion *string `type:"string"`
  1381. // The name of the parameter.
  1382. ParameterName *string `type:"string"`
  1383. // The source of the parameter value.
  1384. Source *string `type:"string"`
  1385. metadataCacheNodeTypeSpecificParameter `json:"-" xml:"-"`
  1386. }
  1387. type metadataCacheNodeTypeSpecificParameter struct {
  1388. SDKShapeTraits bool `type:"structure"`
  1389. }
  1390. // String returns the string representation
  1391. func (s CacheNodeTypeSpecificParameter) String() string {
  1392. return awsutil.Prettify(s)
  1393. }
  1394. // GoString returns the string representation
  1395. func (s CacheNodeTypeSpecificParameter) GoString() string {
  1396. return s.String()
  1397. }
  1398. // A value that applies only to a certain cache node type.
  1399. type CacheNodeTypeSpecificValue struct {
  1400. // The cache node type for which this value applies.
  1401. CacheNodeType *string `type:"string"`
  1402. // The value for the cache node type.
  1403. Value *string `type:"string"`
  1404. metadataCacheNodeTypeSpecificValue `json:"-" xml:"-"`
  1405. }
  1406. type metadataCacheNodeTypeSpecificValue struct {
  1407. SDKShapeTraits bool `type:"structure"`
  1408. }
  1409. // String returns the string representation
  1410. func (s CacheNodeTypeSpecificValue) String() string {
  1411. return awsutil.Prettify(s)
  1412. }
  1413. // GoString returns the string representation
  1414. func (s CacheNodeTypeSpecificValue) GoString() string {
  1415. return s.String()
  1416. }
  1417. // Represents the output of a CreateCacheParameterGroup action.
  1418. type CacheParameterGroup struct {
  1419. // The name of the cache parameter group family that this cache parameter group
  1420. // is compatible with.
  1421. CacheParameterGroupFamily *string `type:"string"`
  1422. // The name of the cache parameter group.
  1423. CacheParameterGroupName *string `type:"string"`
  1424. // The description for this cache parameter group.
  1425. Description *string `type:"string"`
  1426. metadataCacheParameterGroup `json:"-" xml:"-"`
  1427. }
  1428. type metadataCacheParameterGroup struct {
  1429. SDKShapeTraits bool `type:"structure"`
  1430. }
  1431. // String returns the string representation
  1432. func (s CacheParameterGroup) String() string {
  1433. return awsutil.Prettify(s)
  1434. }
  1435. // GoString returns the string representation
  1436. func (s CacheParameterGroup) GoString() string {
  1437. return s.String()
  1438. }
  1439. // Represents the output of one of the following actions:
  1440. //
  1441. // ModifyCacheParameterGroup ResetCacheParameterGroup
  1442. type CacheParameterGroupNameMessage struct {
  1443. // The name of the cache parameter group.
  1444. CacheParameterGroupName *string `type:"string"`
  1445. metadataCacheParameterGroupNameMessage `json:"-" xml:"-"`
  1446. }
  1447. type metadataCacheParameterGroupNameMessage struct {
  1448. SDKShapeTraits bool `type:"structure"`
  1449. }
  1450. // String returns the string representation
  1451. func (s CacheParameterGroupNameMessage) String() string {
  1452. return awsutil.Prettify(s)
  1453. }
  1454. // GoString returns the string representation
  1455. func (s CacheParameterGroupNameMessage) GoString() string {
  1456. return s.String()
  1457. }
  1458. // The status of the cache parameter group.
  1459. type CacheParameterGroupStatus struct {
  1460. // A list of the cache node IDs which need to be rebooted for parameter changes
  1461. // to be applied. A node ID is a numeric identifier (0001, 0002, etc.).
  1462. CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"`
  1463. // The name of the cache parameter group.
  1464. CacheParameterGroupName *string `type:"string"`
  1465. // The status of parameter updates.
  1466. ParameterApplyStatus *string `type:"string"`
  1467. metadataCacheParameterGroupStatus `json:"-" xml:"-"`
  1468. }
  1469. type metadataCacheParameterGroupStatus struct {
  1470. SDKShapeTraits bool `type:"structure"`
  1471. }
  1472. // String returns the string representation
  1473. func (s CacheParameterGroupStatus) String() string {
  1474. return awsutil.Prettify(s)
  1475. }
  1476. // GoString returns the string representation
  1477. func (s CacheParameterGroupStatus) GoString() string {
  1478. return s.String()
  1479. }
  1480. // Represents the output of one of the following actions:
  1481. //
  1482. // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress
  1483. type CacheSecurityGroup struct {
  1484. // The name of the cache security group.
  1485. CacheSecurityGroupName *string `type:"string"`
  1486. // The description of the cache security group.
  1487. Description *string `type:"string"`
  1488. // A list of Amazon EC2 security groups that are associated with this cache
  1489. // security group.
  1490. EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
  1491. // The AWS account ID of the cache security group owner.
  1492. OwnerId *string `type:"string"`
  1493. metadataCacheSecurityGroup `json:"-" xml:"-"`
  1494. }
  1495. type metadataCacheSecurityGroup struct {
  1496. SDKShapeTraits bool `type:"structure"`
  1497. }
  1498. // String returns the string representation
  1499. func (s CacheSecurityGroup) String() string {
  1500. return awsutil.Prettify(s)
  1501. }
  1502. // GoString returns the string representation
  1503. func (s CacheSecurityGroup) GoString() string {
  1504. return s.String()
  1505. }
  1506. // Represents a cache cluster's status within a particular cache security group.
  1507. type CacheSecurityGroupMembership struct {
  1508. // The name of the cache security group.
  1509. CacheSecurityGroupName *string `type:"string"`
  1510. // The membership status in the cache security group. The status changes when
  1511. // a cache security group is modified, or when the cache security groups assigned
  1512. // to a cache cluster are modified.
  1513. Status *string `type:"string"`
  1514. metadataCacheSecurityGroupMembership `json:"-" xml:"-"`
  1515. }
  1516. type metadataCacheSecurityGroupMembership struct {
  1517. SDKShapeTraits bool `type:"structure"`
  1518. }
  1519. // String returns the string representation
  1520. func (s CacheSecurityGroupMembership) String() string {
  1521. return awsutil.Prettify(s)
  1522. }
  1523. // GoString returns the string representation
  1524. func (s CacheSecurityGroupMembership) GoString() string {
  1525. return s.String()
  1526. }
  1527. // Represents the output of one of the following actions:
  1528. //
  1529. // CreateCacheSubnetGroup ModifyCacheSubnetGroup
  1530. type CacheSubnetGroup struct {
  1531. // The description of the cache subnet group.
  1532. CacheSubnetGroupDescription *string `type:"string"`
  1533. // The name of the cache subnet group.
  1534. CacheSubnetGroupName *string `type:"string"`
  1535. // A list of subnets associated with the cache subnet group.
  1536. Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
  1537. // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
  1538. // group.
  1539. VpcId *string `type:"string"`
  1540. metadataCacheSubnetGroup `json:"-" xml:"-"`
  1541. }
  1542. type metadataCacheSubnetGroup struct {
  1543. SDKShapeTraits bool `type:"structure"`
  1544. }
  1545. // String returns the string representation
  1546. func (s CacheSubnetGroup) String() string {
  1547. return awsutil.Prettify(s)
  1548. }
  1549. // GoString returns the string representation
  1550. func (s CacheSubnetGroup) GoString() string {
  1551. return s.String()
  1552. }
  1553. // Represents the input of a CopySnapshotMessage action.
  1554. type CopySnapshotInput struct {
  1555. // The name of an existing snapshot from which to copy.
  1556. SourceSnapshotName *string `type:"string" required:"true"`
  1557. // A name for the copied snapshot.
  1558. TargetSnapshotName *string `type:"string" required:"true"`
  1559. metadataCopySnapshotInput `json:"-" xml:"-"`
  1560. }
  1561. type metadataCopySnapshotInput struct {
  1562. SDKShapeTraits bool `type:"structure"`
  1563. }
  1564. // String returns the string representation
  1565. func (s CopySnapshotInput) String() string {
  1566. return awsutil.Prettify(s)
  1567. }
  1568. // GoString returns the string representation
  1569. func (s CopySnapshotInput) GoString() string {
  1570. return s.String()
  1571. }
  1572. type CopySnapshotOutput struct {
  1573. // Represents a copy of an entire cache cluster as of the time when the snapshot
  1574. // was taken.
  1575. Snapshot *Snapshot `type:"structure"`
  1576. metadataCopySnapshotOutput `json:"-" xml:"-"`
  1577. }
  1578. type metadataCopySnapshotOutput struct {
  1579. SDKShapeTraits bool `type:"structure"`
  1580. }
  1581. // String returns the string representation
  1582. func (s CopySnapshotOutput) String() string {
  1583. return awsutil.Prettify(s)
  1584. }
  1585. // GoString returns the string representation
  1586. func (s CopySnapshotOutput) GoString() string {
  1587. return s.String()
  1588. }
  1589. // Represents the input of a CreateCacheCluster action.
  1590. type CreateCacheClusterInput struct {
  1591. // Specifies whether the nodes in this Memcached node group are created in a
  1592. // single Availability Zone or created across multiple Availability Zones in
  1593. // the cluster's region.
  1594. //
  1595. // This parameter is only supported for Memcached cache clusters.
  1596. //
  1597. // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache
  1598. // assumes single-az mode.
  1599. AZMode *string `type:"string" enum:"AZMode"`
  1600. // This parameter is currently disabled.
  1601. AutoMinorVersionUpgrade *bool `type:"boolean"`
  1602. // The node group identifier. This parameter is stored as a lowercase string.
  1603. //
  1604. // Constraints:
  1605. //
  1606. // A name must contain from 1 to 20 alphanumeric characters or hyphens. The
  1607. // first character must be a letter. A name cannot end with a hyphen or contain
  1608. // two consecutive hyphens.
  1609. CacheClusterId *string `type:"string" required:"true"`
  1610. // The compute and memory capacity of the nodes in the node group.
  1611. //
  1612. // Valid node types are as follows:
  1613. //
  1614. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  1615. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  1616. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  1617. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  1618. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  1619. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  1620. // cache.m2.4xlarge Notes:
  1621. //
  1622. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  1623. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  1624. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  1625. // complete listing of cache node types and specifications, see Amazon ElastiCache
  1626. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  1627. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  1628. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  1629. CacheNodeType *string `type:"string"`
  1630. // The name of the parameter group to associate with this cache cluster. If
  1631. // this argument is omitted, the default parameter group for the specified engine
  1632. // is used.
  1633. CacheParameterGroupName *string `type:"string"`
  1634. // A list of security group names to associate with this cache cluster.
  1635. //
  1636. // Use this parameter only when you are creating a cache cluster outside of
  1637. // an Amazon Virtual Private Cloud (VPC).
  1638. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  1639. // The name of the subnet group to be used for the cache cluster.
  1640. //
  1641. // Use this parameter only when you are creating a cache cluster in an Amazon
  1642. // Virtual Private Cloud (VPC).
  1643. CacheSubnetGroupName *string `type:"string"`
  1644. // The name of the cache engine to be used for this cache cluster.
  1645. //
  1646. // Valid values for this parameter are:
  1647. //
  1648. // memcached | redis
  1649. Engine *string `type:"string"`
  1650. // The version number of the cache engine to be used for this cache cluster.
  1651. // To view the supported cache engine versions, use the DescribeCacheEngineVersions
  1652. // action.
  1653. EngineVersion *string `type:"string"`
  1654. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  1655. // (SNS) topic to which notifications will be sent.
  1656. //
  1657. // The Amazon SNS topic owner must be the same as the cache cluster owner.
  1658. NotificationTopicArn *string `type:"string"`
  1659. // The initial number of cache nodes that the cache cluster will have.
  1660. //
  1661. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  1662. // this value must be between 1 and 20.
  1663. //
  1664. // If you need more than 20 nodes for your Memcached cluster, please fill out
  1665. // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/
  1666. // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/).
  1667. NumCacheNodes *int64 `type:"integer"`
  1668. // The port number on which each of the cache nodes will accept connections.
  1669. Port *int64 `type:"integer"`
  1670. // The EC2 Availability Zone in which the cache cluster will be created.
  1671. //
  1672. // All nodes belonging to this Memcached cache cluster are placed in the preferred
  1673. // Availability Zone. If you want to create your nodes across multiple Availability
  1674. // Zones, use PreferredAvailabilityZones.
  1675. //
  1676. // Default: System chosen Availability Zone.
  1677. PreferredAvailabilityZone *string `type:"string"`
  1678. // A list of the Availability Zones in which cache nodes will be created. The
  1679. // order of the zones in the list is not important.
  1680. //
  1681. // This option is only supported on Memcached.
  1682. //
  1683. // If you are creating your cache cluster in an Amazon VPC (recommended) you
  1684. // can only locate nodes in Availability Zones that are associated with the
  1685. // subnets in the selected subnet group.
  1686. //
  1687. // The number of Availability Zones listed must equal the value of NumCacheNodes.
  1688. //
  1689. // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone
  1690. // instead, or repeat the Availability Zone multiple times in the list.
  1691. //
  1692. // Default: System chosen Availability Zones.
  1693. //
  1694. // Example: One Memcached node in each of three different Availability Zones:
  1695. // PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c
  1696. //
  1697. // Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a
  1698. PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`
  1699. // Specifies the weekly time range during which maintenance on the cache cluster
  1700. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  1701. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  1702. // values for ddd are:
  1703. //
  1704. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  1705. PreferredMaintenanceWindow *string `type:"string"`
  1706. // The ID of the replication group to which this cache cluster should belong.
  1707. // If this parameter is specified, the cache cluster will be added to the specified
  1708. // replication group as a read replica; otherwise, the cache cluster will be
  1709. // a standalone primary that is not part of any replication group.
  1710. //
  1711. // If the specified replication group is Multi-AZ enabled and the availability
  1712. // zone is not specified, the cache cluster will be created in availability
  1713. // zones that provide the best spread of read replicas across availability zones.
  1714. //
  1715. // Note: This parameter is only valid if the Engine parameter is redis.
  1716. ReplicationGroupId *string `type:"string"`
  1717. // One or more VPC security groups associated with the cache cluster.
  1718. //
  1719. // Use this parameter only when you are creating a cache cluster in an Amazon
  1720. // Virtual Private Cloud (VPC).
  1721. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  1722. // A single-element string list containing an Amazon Resource Name (ARN) that
  1723. // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot
  1724. // file will be used to populate the node group. The Amazon S3 object name in
  1725. // the ARN cannot contain any commas.
  1726. //
  1727. // Note: This parameter is only valid if the Engine parameter is redis.
  1728. //
  1729. // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
  1730. SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`
  1731. // The name of a snapshot from which to restore data into the new node group.
  1732. // The snapshot status changes to restoring while the new node group is being
  1733. // created.
  1734. //
  1735. // Note: This parameter is only valid if the Engine parameter is redis.
  1736. SnapshotName *string `type:"string"`
  1737. // The number of days for which ElastiCache will retain automatic snapshots
  1738. // before deleting them. For example, if you set SnapshotRetentionLimit to 5,
  1739. // then a snapshot that was taken today will be retained for 5 days before being
  1740. // deleted.
  1741. //
  1742. // Note: This parameter is only valid if the Engine parameter is redis.
  1743. //
  1744. // Default: 0 (i.e., automatic backups are disabled for this cache cluster).
  1745. SnapshotRetentionLimit *int64 `type:"integer"`
  1746. // The daily time range (in UTC) during which ElastiCache will begin taking
  1747. // a daily snapshot of your node group.
  1748. //
  1749. // Example: 05:00-09:00
  1750. //
  1751. // If you do not specify this parameter, then ElastiCache will automatically
  1752. // choose an appropriate time range.
  1753. //
  1754. // Note: This parameter is only valid if the Engine parameter is redis.
  1755. SnapshotWindow *string `type:"string"`
  1756. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  1757. // pair. A tag key must be accompanied by a tag value.
  1758. Tags []*Tag `locationNameList:"Tag" type:"list"`
  1759. metadataCreateCacheClusterInput `json:"-" xml:"-"`
  1760. }
  1761. type metadataCreateCacheClusterInput struct {
  1762. SDKShapeTraits bool `type:"structure"`
  1763. }
  1764. // String returns the string representation
  1765. func (s CreateCacheClusterInput) String() string {
  1766. return awsutil.Prettify(s)
  1767. }
  1768. // GoString returns the string representation
  1769. func (s CreateCacheClusterInput) GoString() string {
  1770. return s.String()
  1771. }
  1772. type CreateCacheClusterOutput struct {
  1773. // Contains all of the attributes of a specific cache cluster.
  1774. CacheCluster *CacheCluster `type:"structure"`
  1775. metadataCreateCacheClusterOutput `json:"-" xml:"-"`
  1776. }
  1777. type metadataCreateCacheClusterOutput struct {
  1778. SDKShapeTraits bool `type:"structure"`
  1779. }
  1780. // String returns the string representation
  1781. func (s CreateCacheClusterOutput) String() string {
  1782. return awsutil.Prettify(s)
  1783. }
  1784. // GoString returns the string representation
  1785. func (s CreateCacheClusterOutput) GoString() string {
  1786. return s.String()
  1787. }
  1788. // Represents the input of a CreateCacheParameterGroup action.
  1789. type CreateCacheParameterGroupInput struct {
  1790. // The name of the cache parameter group family the cache parameter group can
  1791. // be used with.
  1792. //
  1793. // Valid values are: memcached1.4 | redis2.6 | redis2.8
  1794. CacheParameterGroupFamily *string `type:"string" required:"true"`
  1795. // A user-specified name for the cache parameter group.
  1796. CacheParameterGroupName *string `type:"string" required:"true"`
  1797. // A user-specified description for the cache parameter group.
  1798. Description *string `type:"string" required:"true"`
  1799. metadataCreateCacheParameterGroupInput `json:"-" xml:"-"`
  1800. }
  1801. type metadataCreateCacheParameterGroupInput struct {
  1802. SDKShapeTraits bool `type:"structure"`
  1803. }
  1804. // String returns the string representation
  1805. func (s CreateCacheParameterGroupInput) String() string {
  1806. return awsutil.Prettify(s)
  1807. }
  1808. // GoString returns the string representation
  1809. func (s CreateCacheParameterGroupInput) GoString() string {
  1810. return s.String()
  1811. }
  1812. type CreateCacheParameterGroupOutput struct {
  1813. // Represents the output of a CreateCacheParameterGroup action.
  1814. CacheParameterGroup *CacheParameterGroup `type:"structure"`
  1815. metadataCreateCacheParameterGroupOutput `json:"-" xml:"-"`
  1816. }
  1817. type metadataCreateCacheParameterGroupOutput struct {
  1818. SDKShapeTraits bool `type:"structure"`
  1819. }
  1820. // String returns the string representation
  1821. func (s CreateCacheParameterGroupOutput) String() string {
  1822. return awsutil.Prettify(s)
  1823. }
  1824. // GoString returns the string representation
  1825. func (s CreateCacheParameterGroupOutput) GoString() string {
  1826. return s.String()
  1827. }
  1828. // Represents the input of a CreateCacheSecurityGroup action.
  1829. type CreateCacheSecurityGroupInput struct {
  1830. // A name for the cache security group. This value is stored as a lowercase
  1831. // string.
  1832. //
  1833. // Constraints: Must contain no more than 255 alphanumeric characters. Cannot
  1834. // be the word "Default".
  1835. //
  1836. // Example: mysecuritygroup
  1837. CacheSecurityGroupName *string `type:"string" required:"true"`
  1838. // A description for the cache security group.
  1839. Description *string `type:"string" required:"true"`
  1840. metadataCreateCacheSecurityGroupInput `json:"-" xml:"-"`
  1841. }
  1842. type metadataCreateCacheSecurityGroupInput struct {
  1843. SDKShapeTraits bool `type:"structure"`
  1844. }
  1845. // String returns the string representation
  1846. func (s CreateCacheSecurityGroupInput) String() string {
  1847. return awsutil.Prettify(s)
  1848. }
  1849. // GoString returns the string representation
  1850. func (s CreateCacheSecurityGroupInput) GoString() string {
  1851. return s.String()
  1852. }
  1853. type CreateCacheSecurityGroupOutput struct {
  1854. // Represents the output of one of the following actions:
  1855. //
  1856. // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress
  1857. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  1858. metadataCreateCacheSecurityGroupOutput `json:"-" xml:"-"`
  1859. }
  1860. type metadataCreateCacheSecurityGroupOutput struct {
  1861. SDKShapeTraits bool `type:"structure"`
  1862. }
  1863. // String returns the string representation
  1864. func (s CreateCacheSecurityGroupOutput) String() string {
  1865. return awsutil.Prettify(s)
  1866. }
  1867. // GoString returns the string representation
  1868. func (s CreateCacheSecurityGroupOutput) GoString() string {
  1869. return s.String()
  1870. }
  1871. // Represents the input of a CreateCacheSubnetGroup action.
  1872. type CreateCacheSubnetGroupInput struct {
  1873. // A description for the cache subnet group.
  1874. CacheSubnetGroupDescription *string `type:"string" required:"true"`
  1875. // A name for the cache subnet group. This value is stored as a lowercase string.
  1876. //
  1877. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  1878. //
  1879. // Example: mysubnetgroup
  1880. CacheSubnetGroupName *string `type:"string" required:"true"`
  1881. // A list of VPC subnet IDs for the cache subnet group.
  1882. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  1883. metadataCreateCacheSubnetGroupInput `json:"-" xml:"-"`
  1884. }
  1885. type metadataCreateCacheSubnetGroupInput struct {
  1886. SDKShapeTraits bool `type:"structure"`
  1887. }
  1888. // String returns the string representation
  1889. func (s CreateCacheSubnetGroupInput) String() string {
  1890. return awsutil.Prettify(s)
  1891. }
  1892. // GoString returns the string representation
  1893. func (s CreateCacheSubnetGroupInput) GoString() string {
  1894. return s.String()
  1895. }
  1896. type CreateCacheSubnetGroupOutput struct {
  1897. // Represents the output of one of the following actions:
  1898. //
  1899. // CreateCacheSubnetGroup ModifyCacheSubnetGroup
  1900. CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
  1901. metadataCreateCacheSubnetGroupOutput `json:"-" xml:"-"`
  1902. }
  1903. type metadataCreateCacheSubnetGroupOutput struct {
  1904. SDKShapeTraits bool `type:"structure"`
  1905. }
  1906. // String returns the string representation
  1907. func (s CreateCacheSubnetGroupOutput) String() string {
  1908. return awsutil.Prettify(s)
  1909. }
  1910. // GoString returns the string representation
  1911. func (s CreateCacheSubnetGroupOutput) GoString() string {
  1912. return s.String()
  1913. }
  1914. // Represents the input of a CreateReplicationGroup action.
  1915. type CreateReplicationGroupInput struct {
  1916. // This parameter is currently disabled.
  1917. AutoMinorVersionUpgrade *bool `type:"boolean"`
  1918. // Specifies whether a read-only replica will be automatically promoted to read/write
  1919. // primary if the existing primary fails.
  1920. //
  1921. // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ
  1922. // is disabled for this replication group.
  1923. //
  1924. // Default: false
  1925. //
  1926. // ElastiCache Multi-AZ replication groups is not supported on:
  1927. //
  1928. // Redis versions earlier than 2.8.6. T1 and T2 cache node types.
  1929. AutomaticFailoverEnabled *bool `type:"boolean"`
  1930. // The compute and memory capacity of the nodes in the node group.
  1931. //
  1932. // Valid node types are as follows:
  1933. //
  1934. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  1935. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  1936. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  1937. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  1938. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  1939. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  1940. // cache.m2.4xlarge Notes:
  1941. //
  1942. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  1943. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  1944. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  1945. // complete listing of cache node types and specifications, see Amazon ElastiCache
  1946. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  1947. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  1948. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  1949. CacheNodeType *string `type:"string"`
  1950. // The name of the parameter group to associate with this replication group.
  1951. // If this argument is omitted, the default cache parameter group for the specified
  1952. // engine is used.
  1953. CacheParameterGroupName *string `type:"string"`
  1954. // A list of cache security group names to associate with this replication group.
  1955. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  1956. // The name of the cache subnet group to be used for the replication group.
  1957. CacheSubnetGroupName *string `type:"string"`
  1958. // The name of the cache engine to be used for the cache clusters in this replication
  1959. // group.
  1960. //
  1961. // Default: redis
  1962. Engine *string `type:"string"`
  1963. // The version number of the cache engine to be used for the cache clusters
  1964. // in this replication group. To view the supported cache engine versions, use
  1965. // the DescribeCacheEngineVersions action.
  1966. EngineVersion *string `type:"string"`
  1967. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  1968. // (SNS) topic to which notifications will be sent.
  1969. //
  1970. // The Amazon SNS topic owner must be the same as the cache cluster owner.
  1971. NotificationTopicArn *string `type:"string"`
  1972. // The number of cache clusters this replication group will initially have.
  1973. //
  1974. // If Multi-AZ is enabled, the value of this parameter must be at least 2.
  1975. //
  1976. // The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).
  1977. // If you need to exceed this limit, please fill out the ElastiCache Limit Increase
  1978. // Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request
  1979. // (http://aws.amazon.com/contact-us/elasticache-node-limit-request).
  1980. NumCacheClusters *int64 `type:"integer"`
  1981. // The port number on which each member of the replication group will accept
  1982. // connections.
  1983. Port *int64 `type:"integer"`
  1984. // A list of EC2 availability zones in which the replication group's cache clusters
  1985. // will be created. The order of the availability zones in the list is not important.
  1986. //
  1987. // If you are creating your replication group in an Amazon VPC (recommended),
  1988. // you can only locate cache clusters in availability zones associated with
  1989. // the subnets in the selected subnet group. The number of availability zones
  1990. // listed must equal the value of NumCacheClusters.
  1991. //
  1992. // Default: system chosen availability zones.
  1993. //
  1994. // Example: One Redis cache cluster in each of three availability zones. PreferredAvailabilityZones.member.1=us-west-2a
  1995. // PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c
  1996. PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"`
  1997. // Specifies the weekly time range during which maintenance on the cache cluster
  1998. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  1999. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  2000. // values for ddd are:
  2001. //
  2002. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  2003. PreferredMaintenanceWindow *string `type:"string"`
  2004. // The identifier of the cache cluster that will serve as the primary for this
  2005. // replication group. This cache cluster must already exist and have a status
  2006. // of available.
  2007. //
  2008. // This parameter is not required if NumCacheClusters is specified.
  2009. PrimaryClusterId *string `type:"string"`
  2010. // A user-created description for the replication group.
  2011. ReplicationGroupDescription *string `type:"string" required:"true"`
  2012. // The replication group identifier. This parameter is stored as a lowercase
  2013. // string.
  2014. //
  2015. // Constraints:
  2016. //
  2017. // A name must contain from 1 to 20 alphanumeric characters or hyphens. The
  2018. // first character must be a letter. A name cannot end with a hyphen or contain
  2019. // two consecutive hyphens.
  2020. ReplicationGroupId *string `type:"string" required:"true"`
  2021. // One or more Amazon VPC security groups associated with this replication group.
  2022. //
  2023. // Use this parameter only when you are creating a replication group in an
  2024. // Amazon Virtual Private Cloud (VPC).
  2025. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  2026. // A single-element string list containing an Amazon Resource Name (ARN) that
  2027. // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot
  2028. // file will be used to populate the node group. The Amazon S3 object name in
  2029. // the ARN cannot contain any commas.
  2030. //
  2031. // Note: This parameter is only valid if the Engine parameter is redis.
  2032. //
  2033. // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
  2034. SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`
  2035. // The name of a snapshot from which to restore data into the new node group.
  2036. // The snapshot status changes to restoring while the new node group is being
  2037. // created.
  2038. //
  2039. // Note: This parameter is only valid if the Engine parameter is redis.
  2040. SnapshotName *string `type:"string"`
  2041. // The number of days for which ElastiCache will retain automatic snapshots
  2042. // before deleting them. For example, if you set SnapshotRetentionLimit to 5,
  2043. // then a snapshot that was taken today will be retained for 5 days before being
  2044. // deleted.
  2045. //
  2046. // Note: This parameter is only valid if the Engine parameter is redis.
  2047. //
  2048. // Default: 0 (i.e., automatic backups are disabled for this cache cluster).
  2049. SnapshotRetentionLimit *int64 `type:"integer"`
  2050. // The daily time range (in UTC) during which ElastiCache will begin taking
  2051. // a daily snapshot of your node group.
  2052. //
  2053. // Example: 05:00-09:00
  2054. //
  2055. // If you do not specify this parameter, then ElastiCache will automatically
  2056. // choose an appropriate time range.
  2057. //
  2058. // Note: This parameter is only valid if the Engine parameter is redis.
  2059. SnapshotWindow *string `type:"string"`
  2060. // A list of cost allocation tags to be added to this resource. A tag is a key-value
  2061. // pair. A tag key must be accompanied by a tag value.
  2062. Tags []*Tag `locationNameList:"Tag" type:"list"`
  2063. metadataCreateReplicationGroupInput `json:"-" xml:"-"`
  2064. }
  2065. type metadataCreateReplicationGroupInput struct {
  2066. SDKShapeTraits bool `type:"structure"`
  2067. }
  2068. // String returns the string representation
  2069. func (s CreateReplicationGroupInput) String() string {
  2070. return awsutil.Prettify(s)
  2071. }
  2072. // GoString returns the string representation
  2073. func (s CreateReplicationGroupInput) GoString() string {
  2074. return s.String()
  2075. }
  2076. type CreateReplicationGroupOutput struct {
  2077. // Contains all of the attributes of a specific replication group.
  2078. ReplicationGroup *ReplicationGroup `type:"structure"`
  2079. metadataCreateReplicationGroupOutput `json:"-" xml:"-"`
  2080. }
  2081. type metadataCreateReplicationGroupOutput struct {
  2082. SDKShapeTraits bool `type:"structure"`
  2083. }
  2084. // String returns the string representation
  2085. func (s CreateReplicationGroupOutput) String() string {
  2086. return awsutil.Prettify(s)
  2087. }
  2088. // GoString returns the string representation
  2089. func (s CreateReplicationGroupOutput) GoString() string {
  2090. return s.String()
  2091. }
  2092. // Represents the input of a CreateSnapshot action.
  2093. type CreateSnapshotInput struct {
  2094. // The identifier of an existing cache cluster. The snapshot will be created
  2095. // from this cache cluster.
  2096. CacheClusterId *string `type:"string" required:"true"`
  2097. // A name for the snapshot being created.
  2098. SnapshotName *string `type:"string" required:"true"`
  2099. metadataCreateSnapshotInput `json:"-" xml:"-"`
  2100. }
  2101. type metadataCreateSnapshotInput struct {
  2102. SDKShapeTraits bool `type:"structure"`
  2103. }
  2104. // String returns the string representation
  2105. func (s CreateSnapshotInput) String() string {
  2106. return awsutil.Prettify(s)
  2107. }
  2108. // GoString returns the string representation
  2109. func (s CreateSnapshotInput) GoString() string {
  2110. return s.String()
  2111. }
  2112. type CreateSnapshotOutput struct {
  2113. // Represents a copy of an entire cache cluster as of the time when the snapshot
  2114. // was taken.
  2115. Snapshot *Snapshot `type:"structure"`
  2116. metadataCreateSnapshotOutput `json:"-" xml:"-"`
  2117. }
  2118. type metadataCreateSnapshotOutput struct {
  2119. SDKShapeTraits bool `type:"structure"`
  2120. }
  2121. // String returns the string representation
  2122. func (s CreateSnapshotOutput) String() string {
  2123. return awsutil.Prettify(s)
  2124. }
  2125. // GoString returns the string representation
  2126. func (s CreateSnapshotOutput) GoString() string {
  2127. return s.String()
  2128. }
  2129. // Represents the input of a DeleteCacheCluster action.
  2130. type DeleteCacheClusterInput struct {
  2131. // The cache cluster identifier for the cluster to be deleted. This parameter
  2132. // is not case sensitive.
  2133. CacheClusterId *string `type:"string" required:"true"`
  2134. // The user-supplied name of a final cache cluster snapshot. This is the unique
  2135. // name that identifies the snapshot. ElastiCache creates the snapshot, and
  2136. // then deletes the cache cluster immediately afterward.
  2137. FinalSnapshotIdentifier *string `type:"string"`
  2138. metadataDeleteCacheClusterInput `json:"-" xml:"-"`
  2139. }
  2140. type metadataDeleteCacheClusterInput struct {
  2141. SDKShapeTraits bool `type:"structure"`
  2142. }
  2143. // String returns the string representation
  2144. func (s DeleteCacheClusterInput) String() string {
  2145. return awsutil.Prettify(s)
  2146. }
  2147. // GoString returns the string representation
  2148. func (s DeleteCacheClusterInput) GoString() string {
  2149. return s.String()
  2150. }
  2151. type DeleteCacheClusterOutput struct {
  2152. // Contains all of the attributes of a specific cache cluster.
  2153. CacheCluster *CacheCluster `type:"structure"`
  2154. metadataDeleteCacheClusterOutput `json:"-" xml:"-"`
  2155. }
  2156. type metadataDeleteCacheClusterOutput struct {
  2157. SDKShapeTraits bool `type:"structure"`
  2158. }
  2159. // String returns the string representation
  2160. func (s DeleteCacheClusterOutput) String() string {
  2161. return awsutil.Prettify(s)
  2162. }
  2163. // GoString returns the string representation
  2164. func (s DeleteCacheClusterOutput) GoString() string {
  2165. return s.String()
  2166. }
  2167. // Represents the input of a DeleteCacheParameterGroup action.
  2168. type DeleteCacheParameterGroupInput struct {
  2169. // The name of the cache parameter group to delete.
  2170. //
  2171. // The specified cache security group must not be associated with any cache
  2172. // clusters.
  2173. CacheParameterGroupName *string `type:"string" required:"true"`
  2174. metadataDeleteCacheParameterGroupInput `json:"-" xml:"-"`
  2175. }
  2176. type metadataDeleteCacheParameterGroupInput struct {
  2177. SDKShapeTraits bool `type:"structure"`
  2178. }
  2179. // String returns the string representation
  2180. func (s DeleteCacheParameterGroupInput) String() string {
  2181. return awsutil.Prettify(s)
  2182. }
  2183. // GoString returns the string representation
  2184. func (s DeleteCacheParameterGroupInput) GoString() string {
  2185. return s.String()
  2186. }
  2187. type DeleteCacheParameterGroupOutput struct {
  2188. metadataDeleteCacheParameterGroupOutput `json:"-" xml:"-"`
  2189. }
  2190. type metadataDeleteCacheParameterGroupOutput struct {
  2191. SDKShapeTraits bool `type:"structure"`
  2192. }
  2193. // String returns the string representation
  2194. func (s DeleteCacheParameterGroupOutput) String() string {
  2195. return awsutil.Prettify(s)
  2196. }
  2197. // GoString returns the string representation
  2198. func (s DeleteCacheParameterGroupOutput) GoString() string {
  2199. return s.String()
  2200. }
  2201. // Represents the input of a DeleteCacheSecurityGroup action.
  2202. type DeleteCacheSecurityGroupInput struct {
  2203. // The name of the cache security group to delete.
  2204. //
  2205. // You cannot delete the default security group.
  2206. CacheSecurityGroupName *string `type:"string" required:"true"`
  2207. metadataDeleteCacheSecurityGroupInput `json:"-" xml:"-"`
  2208. }
  2209. type metadataDeleteCacheSecurityGroupInput struct {
  2210. SDKShapeTraits bool `type:"structure"`
  2211. }
  2212. // String returns the string representation
  2213. func (s DeleteCacheSecurityGroupInput) String() string {
  2214. return awsutil.Prettify(s)
  2215. }
  2216. // GoString returns the string representation
  2217. func (s DeleteCacheSecurityGroupInput) GoString() string {
  2218. return s.String()
  2219. }
  2220. type DeleteCacheSecurityGroupOutput struct {
  2221. metadataDeleteCacheSecurityGroupOutput `json:"-" xml:"-"`
  2222. }
  2223. type metadataDeleteCacheSecurityGroupOutput struct {
  2224. SDKShapeTraits bool `type:"structure"`
  2225. }
  2226. // String returns the string representation
  2227. func (s DeleteCacheSecurityGroupOutput) String() string {
  2228. return awsutil.Prettify(s)
  2229. }
  2230. // GoString returns the string representation
  2231. func (s DeleteCacheSecurityGroupOutput) GoString() string {
  2232. return s.String()
  2233. }
  2234. // Represents the input of a DeleteCacheSubnetGroup action.
  2235. type DeleteCacheSubnetGroupInput struct {
  2236. // The name of the cache subnet group to delete.
  2237. //
  2238. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  2239. CacheSubnetGroupName *string `type:"string" required:"true"`
  2240. metadataDeleteCacheSubnetGroupInput `json:"-" xml:"-"`
  2241. }
  2242. type metadataDeleteCacheSubnetGroupInput struct {
  2243. SDKShapeTraits bool `type:"structure"`
  2244. }
  2245. // String returns the string representation
  2246. func (s DeleteCacheSubnetGroupInput) String() string {
  2247. return awsutil.Prettify(s)
  2248. }
  2249. // GoString returns the string representation
  2250. func (s DeleteCacheSubnetGroupInput) GoString() string {
  2251. return s.String()
  2252. }
  2253. type DeleteCacheSubnetGroupOutput struct {
  2254. metadataDeleteCacheSubnetGroupOutput `json:"-" xml:"-"`
  2255. }
  2256. type metadataDeleteCacheSubnetGroupOutput struct {
  2257. SDKShapeTraits bool `type:"structure"`
  2258. }
  2259. // String returns the string representation
  2260. func (s DeleteCacheSubnetGroupOutput) String() string {
  2261. return awsutil.Prettify(s)
  2262. }
  2263. // GoString returns the string representation
  2264. func (s DeleteCacheSubnetGroupOutput) GoString() string {
  2265. return s.String()
  2266. }
  2267. // Represents the input of a DeleteReplicationGroup action.
  2268. type DeleteReplicationGroupInput struct {
  2269. // The name of a final node group snapshot. ElastiCache creates the snapshot
  2270. // from the primary node in the cluster, rather than one of the replicas; this
  2271. // is to ensure that it captures the freshest data. After the final snapshot
  2272. // is taken, the cluster is immediately deleted.
  2273. FinalSnapshotIdentifier *string `type:"string"`
  2274. // The identifier for the cluster to be deleted. This parameter is not case
  2275. // sensitive.
  2276. ReplicationGroupId *string `type:"string" required:"true"`
  2277. // If set to true, all of the read replicas will be deleted, but the primary
  2278. // node will be retained.
  2279. RetainPrimaryCluster *bool `type:"boolean"`
  2280. metadataDeleteReplicationGroupInput `json:"-" xml:"-"`
  2281. }
  2282. type metadataDeleteReplicationGroupInput struct {
  2283. SDKShapeTraits bool `type:"structure"`
  2284. }
  2285. // String returns the string representation
  2286. func (s DeleteReplicationGroupInput) String() string {
  2287. return awsutil.Prettify(s)
  2288. }
  2289. // GoString returns the string representation
  2290. func (s DeleteReplicationGroupInput) GoString() string {
  2291. return s.String()
  2292. }
  2293. type DeleteReplicationGroupOutput struct {
  2294. // Contains all of the attributes of a specific replication group.
  2295. ReplicationGroup *ReplicationGroup `type:"structure"`
  2296. metadataDeleteReplicationGroupOutput `json:"-" xml:"-"`
  2297. }
  2298. type metadataDeleteReplicationGroupOutput struct {
  2299. SDKShapeTraits bool `type:"structure"`
  2300. }
  2301. // String returns the string representation
  2302. func (s DeleteReplicationGroupOutput) String() string {
  2303. return awsutil.Prettify(s)
  2304. }
  2305. // GoString returns the string representation
  2306. func (s DeleteReplicationGroupOutput) GoString() string {
  2307. return s.String()
  2308. }
  2309. // Represents the input of a DeleteSnapshot action.
  2310. type DeleteSnapshotInput struct {
  2311. // The name of the snapshot to be deleted.
  2312. SnapshotName *string `type:"string" required:"true"`
  2313. metadataDeleteSnapshotInput `json:"-" xml:"-"`
  2314. }
  2315. type metadataDeleteSnapshotInput struct {
  2316. SDKShapeTraits bool `type:"structure"`
  2317. }
  2318. // String returns the string representation
  2319. func (s DeleteSnapshotInput) String() string {
  2320. return awsutil.Prettify(s)
  2321. }
  2322. // GoString returns the string representation
  2323. func (s DeleteSnapshotInput) GoString() string {
  2324. return s.String()
  2325. }
  2326. type DeleteSnapshotOutput struct {
  2327. // Represents a copy of an entire cache cluster as of the time when the snapshot
  2328. // was taken.
  2329. Snapshot *Snapshot `type:"structure"`
  2330. metadataDeleteSnapshotOutput `json:"-" xml:"-"`
  2331. }
  2332. type metadataDeleteSnapshotOutput struct {
  2333. SDKShapeTraits bool `type:"structure"`
  2334. }
  2335. // String returns the string representation
  2336. func (s DeleteSnapshotOutput) String() string {
  2337. return awsutil.Prettify(s)
  2338. }
  2339. // GoString returns the string representation
  2340. func (s DeleteSnapshotOutput) GoString() string {
  2341. return s.String()
  2342. }
  2343. // Represents the input of a DescribeCacheClusters action.
  2344. type DescribeCacheClustersInput struct {
  2345. // The user-supplied cluster identifier. If this parameter is specified, only
  2346. // information about that specific cache cluster is returned. This parameter
  2347. // isn't case sensitive.
  2348. CacheClusterId *string `type:"string"`
  2349. // An optional marker returned from a prior request. Use this marker for pagination
  2350. // of results from this action. If this parameter is specified, the response
  2351. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2352. Marker *string `type:"string"`
  2353. // The maximum number of records to include in the response. If more records
  2354. // exist than the specified MaxRecords value, a marker is included in the response
  2355. // so that the remaining results can be retrieved.
  2356. //
  2357. // Default: 100
  2358. //
  2359. // Constraints: minimum 20; maximum 100.
  2360. MaxRecords *int64 `type:"integer"`
  2361. // An optional flag that can be included in the DescribeCacheCluster request
  2362. // to retrieve information about the individual cache nodes.
  2363. ShowCacheNodeInfo *bool `type:"boolean"`
  2364. metadataDescribeCacheClustersInput `json:"-" xml:"-"`
  2365. }
  2366. type metadataDescribeCacheClustersInput struct {
  2367. SDKShapeTraits bool `type:"structure"`
  2368. }
  2369. // String returns the string representation
  2370. func (s DescribeCacheClustersInput) String() string {
  2371. return awsutil.Prettify(s)
  2372. }
  2373. // GoString returns the string representation
  2374. func (s DescribeCacheClustersInput) GoString() string {
  2375. return s.String()
  2376. }
  2377. // Represents the output of a DescribeCacheClusters action.
  2378. type DescribeCacheClustersOutput struct {
  2379. // A list of cache clusters. Each item in the list contains detailed information
  2380. // about one cache cluster.
  2381. CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"`
  2382. // Provides an identifier to allow retrieval of paginated results.
  2383. Marker *string `type:"string"`
  2384. metadataDescribeCacheClustersOutput `json:"-" xml:"-"`
  2385. }
  2386. type metadataDescribeCacheClustersOutput struct {
  2387. SDKShapeTraits bool `type:"structure"`
  2388. }
  2389. // String returns the string representation
  2390. func (s DescribeCacheClustersOutput) String() string {
  2391. return awsutil.Prettify(s)
  2392. }
  2393. // GoString returns the string representation
  2394. func (s DescribeCacheClustersOutput) GoString() string {
  2395. return s.String()
  2396. }
  2397. // Represents the input of a DescribeCacheEngineVersions action.
  2398. type DescribeCacheEngineVersionsInput struct {
  2399. // The name of a specific cache parameter group family to return details for.
  2400. //
  2401. // Constraints:
  2402. //
  2403. // Must be 1 to 255 alphanumeric characters First character must be a letter
  2404. // Cannot end with a hyphen or contain two consecutive hyphens
  2405. CacheParameterGroupFamily *string `type:"string"`
  2406. // If true, specifies that only the default version of the specified engine
  2407. // or engine and major version combination is to be returned.
  2408. DefaultOnly *bool `type:"boolean"`
  2409. // The cache engine to return. Valid values: memcached | redis
  2410. Engine *string `type:"string"`
  2411. // The cache engine version to return.
  2412. //
  2413. // Example: 1.4.14
  2414. EngineVersion *string `type:"string"`
  2415. // An optional marker returned from a prior request. Use this marker for pagination
  2416. // of results from this action. If this parameter is specified, the response
  2417. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2418. Marker *string `type:"string"`
  2419. // The maximum number of records to include in the response. If more records
  2420. // exist than the specified MaxRecords value, a marker is included in the response
  2421. // so that the remaining results can be retrieved.
  2422. //
  2423. // Default: 100
  2424. //
  2425. // Constraints: minimum 20; maximum 100.
  2426. MaxRecords *int64 `type:"integer"`
  2427. metadataDescribeCacheEngineVersionsInput `json:"-" xml:"-"`
  2428. }
  2429. type metadataDescribeCacheEngineVersionsInput struct {
  2430. SDKShapeTraits bool `type:"structure"`
  2431. }
  2432. // String returns the string representation
  2433. func (s DescribeCacheEngineVersionsInput) String() string {
  2434. return awsutil.Prettify(s)
  2435. }
  2436. // GoString returns the string representation
  2437. func (s DescribeCacheEngineVersionsInput) GoString() string {
  2438. return s.String()
  2439. }
  2440. // Represents the output of a DescribeCacheEngineVersions action.
  2441. type DescribeCacheEngineVersionsOutput struct {
  2442. // A list of cache engine version details. Each element in the list contains
  2443. // detailed information about one cache engine version.
  2444. CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"`
  2445. // Provides an identifier to allow retrieval of paginated results.
  2446. Marker *string `type:"string"`
  2447. metadataDescribeCacheEngineVersionsOutput `json:"-" xml:"-"`
  2448. }
  2449. type metadataDescribeCacheEngineVersionsOutput struct {
  2450. SDKShapeTraits bool `type:"structure"`
  2451. }
  2452. // String returns the string representation
  2453. func (s DescribeCacheEngineVersionsOutput) String() string {
  2454. return awsutil.Prettify(s)
  2455. }
  2456. // GoString returns the string representation
  2457. func (s DescribeCacheEngineVersionsOutput) GoString() string {
  2458. return s.String()
  2459. }
  2460. // Represents the input of a DescribeCacheParameterGroups action.
  2461. type DescribeCacheParameterGroupsInput struct {
  2462. // The name of a specific cache parameter group to return details for.
  2463. CacheParameterGroupName *string `type:"string"`
  2464. // An optional marker returned from a prior request. Use this marker for pagination
  2465. // of results from this action. If this parameter is specified, the response
  2466. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2467. Marker *string `type:"string"`
  2468. // The maximum number of records to include in the response. If more records
  2469. // exist than the specified MaxRecords value, a marker is included in the response
  2470. // so that the remaining results can be retrieved.
  2471. //
  2472. // Default: 100
  2473. //
  2474. // Constraints: minimum 20; maximum 100.
  2475. MaxRecords *int64 `type:"integer"`
  2476. metadataDescribeCacheParameterGroupsInput `json:"-" xml:"-"`
  2477. }
  2478. type metadataDescribeCacheParameterGroupsInput struct {
  2479. SDKShapeTraits bool `type:"structure"`
  2480. }
  2481. // String returns the string representation
  2482. func (s DescribeCacheParameterGroupsInput) String() string {
  2483. return awsutil.Prettify(s)
  2484. }
  2485. // GoString returns the string representation
  2486. func (s DescribeCacheParameterGroupsInput) GoString() string {
  2487. return s.String()
  2488. }
  2489. // Represents the output of a DescribeCacheParameterGroups action.
  2490. type DescribeCacheParameterGroupsOutput struct {
  2491. // A list of cache parameter groups. Each element in the list contains detailed
  2492. // information about one cache parameter group.
  2493. CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"`
  2494. // Provides an identifier to allow retrieval of paginated results.
  2495. Marker *string `type:"string"`
  2496. metadataDescribeCacheParameterGroupsOutput `json:"-" xml:"-"`
  2497. }
  2498. type metadataDescribeCacheParameterGroupsOutput struct {
  2499. SDKShapeTraits bool `type:"structure"`
  2500. }
  2501. // String returns the string representation
  2502. func (s DescribeCacheParameterGroupsOutput) String() string {
  2503. return awsutil.Prettify(s)
  2504. }
  2505. // GoString returns the string representation
  2506. func (s DescribeCacheParameterGroupsOutput) GoString() string {
  2507. return s.String()
  2508. }
  2509. // Represents the input of a DescribeCacheParameters action.
  2510. type DescribeCacheParametersInput struct {
  2511. // The name of a specific cache parameter group to return details for.
  2512. CacheParameterGroupName *string `type:"string" required:"true"`
  2513. // An optional marker returned from a prior request. Use this marker for pagination
  2514. // of results from this action. If this parameter is specified, the response
  2515. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2516. Marker *string `type:"string"`
  2517. // The maximum number of records to include in the response. If more records
  2518. // exist than the specified MaxRecords value, a marker is included in the response
  2519. // so that the remaining results can be retrieved.
  2520. //
  2521. // Default: 100
  2522. //
  2523. // Constraints: minimum 20; maximum 100.
  2524. MaxRecords *int64 `type:"integer"`
  2525. // The parameter types to return.
  2526. //
  2527. // Valid values: user | system | engine-default
  2528. Source *string `type:"string"`
  2529. metadataDescribeCacheParametersInput `json:"-" xml:"-"`
  2530. }
  2531. type metadataDescribeCacheParametersInput struct {
  2532. SDKShapeTraits bool `type:"structure"`
  2533. }
  2534. // String returns the string representation
  2535. func (s DescribeCacheParametersInput) String() string {
  2536. return awsutil.Prettify(s)
  2537. }
  2538. // GoString returns the string representation
  2539. func (s DescribeCacheParametersInput) GoString() string {
  2540. return s.String()
  2541. }
  2542. // Represents the output of a DescribeCacheParameters action.
  2543. type DescribeCacheParametersOutput struct {
  2544. // A list of parameters specific to a particular cache node type. Each element
  2545. // in the list contains detailed information about one parameter.
  2546. CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`
  2547. // Provides an identifier to allow retrieval of paginated results.
  2548. Marker *string `type:"string"`
  2549. // A list of Parameter instances.
  2550. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  2551. metadataDescribeCacheParametersOutput `json:"-" xml:"-"`
  2552. }
  2553. type metadataDescribeCacheParametersOutput struct {
  2554. SDKShapeTraits bool `type:"structure"`
  2555. }
  2556. // String returns the string representation
  2557. func (s DescribeCacheParametersOutput) String() string {
  2558. return awsutil.Prettify(s)
  2559. }
  2560. // GoString returns the string representation
  2561. func (s DescribeCacheParametersOutput) GoString() string {
  2562. return s.String()
  2563. }
  2564. // Represents the input of a DescribeCacheSecurityGroups action.
  2565. type DescribeCacheSecurityGroupsInput struct {
  2566. // The name of the cache security group to return details for.
  2567. CacheSecurityGroupName *string `type:"string"`
  2568. // An optional marker returned from a prior request. Use this marker for pagination
  2569. // of results from this action. If this parameter is specified, the response
  2570. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2571. Marker *string `type:"string"`
  2572. // The maximum number of records to include in the response. If more records
  2573. // exist than the specified MaxRecords value, a marker is included in the response
  2574. // so that the remaining results can be retrieved.
  2575. //
  2576. // Default: 100
  2577. //
  2578. // Constraints: minimum 20; maximum 100.
  2579. MaxRecords *int64 `type:"integer"`
  2580. metadataDescribeCacheSecurityGroupsInput `json:"-" xml:"-"`
  2581. }
  2582. type metadataDescribeCacheSecurityGroupsInput struct {
  2583. SDKShapeTraits bool `type:"structure"`
  2584. }
  2585. // String returns the string representation
  2586. func (s DescribeCacheSecurityGroupsInput) String() string {
  2587. return awsutil.Prettify(s)
  2588. }
  2589. // GoString returns the string representation
  2590. func (s DescribeCacheSecurityGroupsInput) GoString() string {
  2591. return s.String()
  2592. }
  2593. // Represents the output of a DescribeCacheSecurityGroups action.
  2594. type DescribeCacheSecurityGroupsOutput struct {
  2595. // A list of cache security groups. Each element in the list contains detailed
  2596. // information about one group.
  2597. CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"`
  2598. // Provides an identifier to allow retrieval of paginated results.
  2599. Marker *string `type:"string"`
  2600. metadataDescribeCacheSecurityGroupsOutput `json:"-" xml:"-"`
  2601. }
  2602. type metadataDescribeCacheSecurityGroupsOutput struct {
  2603. SDKShapeTraits bool `type:"structure"`
  2604. }
  2605. // String returns the string representation
  2606. func (s DescribeCacheSecurityGroupsOutput) String() string {
  2607. return awsutil.Prettify(s)
  2608. }
  2609. // GoString returns the string representation
  2610. func (s DescribeCacheSecurityGroupsOutput) GoString() string {
  2611. return s.String()
  2612. }
  2613. // Represents the input of a DescribeCacheSubnetGroups action.
  2614. type DescribeCacheSubnetGroupsInput struct {
  2615. // The name of the cache subnet group to return details for.
  2616. CacheSubnetGroupName *string `type:"string"`
  2617. // An optional marker returned from a prior request. Use this marker for pagination
  2618. // of results from this action. If this parameter is specified, the response
  2619. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2620. Marker *string `type:"string"`
  2621. // The maximum number of records to include in the response. If more records
  2622. // exist than the specified MaxRecords value, a marker is included in the response
  2623. // so that the remaining results can be retrieved.
  2624. //
  2625. // Default: 100
  2626. //
  2627. // Constraints: minimum 20; maximum 100.
  2628. MaxRecords *int64 `type:"integer"`
  2629. metadataDescribeCacheSubnetGroupsInput `json:"-" xml:"-"`
  2630. }
  2631. type metadataDescribeCacheSubnetGroupsInput struct {
  2632. SDKShapeTraits bool `type:"structure"`
  2633. }
  2634. // String returns the string representation
  2635. func (s DescribeCacheSubnetGroupsInput) String() string {
  2636. return awsutil.Prettify(s)
  2637. }
  2638. // GoString returns the string representation
  2639. func (s DescribeCacheSubnetGroupsInput) GoString() string {
  2640. return s.String()
  2641. }
  2642. // Represents the output of a DescribeCacheSubnetGroups action.
  2643. type DescribeCacheSubnetGroupsOutput struct {
  2644. // A list of cache subnet groups. Each element in the list contains detailed
  2645. // information about one group.
  2646. CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"`
  2647. // Provides an identifier to allow retrieval of paginated results.
  2648. Marker *string `type:"string"`
  2649. metadataDescribeCacheSubnetGroupsOutput `json:"-" xml:"-"`
  2650. }
  2651. type metadataDescribeCacheSubnetGroupsOutput struct {
  2652. SDKShapeTraits bool `type:"structure"`
  2653. }
  2654. // String returns the string representation
  2655. func (s DescribeCacheSubnetGroupsOutput) String() string {
  2656. return awsutil.Prettify(s)
  2657. }
  2658. // GoString returns the string representation
  2659. func (s DescribeCacheSubnetGroupsOutput) GoString() string {
  2660. return s.String()
  2661. }
  2662. // Represents the input of a DescribeEngineDefaultParameters action.
  2663. type DescribeEngineDefaultParametersInput struct {
  2664. // The name of the cache parameter group family. Valid values are: memcached1.4
  2665. // | redis2.6 | redis2.8
  2666. CacheParameterGroupFamily *string `type:"string" required:"true"`
  2667. // An optional marker returned from a prior request. Use this marker for pagination
  2668. // of results from this action. If this parameter is specified, the response
  2669. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2670. Marker *string `type:"string"`
  2671. // The maximum number of records to include in the response. If more records
  2672. // exist than the specified MaxRecords value, a marker is included in the response
  2673. // so that the remaining results can be retrieved.
  2674. //
  2675. // Default: 100
  2676. //
  2677. // Constraints: minimum 20; maximum 100.
  2678. MaxRecords *int64 `type:"integer"`
  2679. metadataDescribeEngineDefaultParametersInput `json:"-" xml:"-"`
  2680. }
  2681. type metadataDescribeEngineDefaultParametersInput struct {
  2682. SDKShapeTraits bool `type:"structure"`
  2683. }
  2684. // String returns the string representation
  2685. func (s DescribeEngineDefaultParametersInput) String() string {
  2686. return awsutil.Prettify(s)
  2687. }
  2688. // GoString returns the string representation
  2689. func (s DescribeEngineDefaultParametersInput) GoString() string {
  2690. return s.String()
  2691. }
  2692. type DescribeEngineDefaultParametersOutput struct {
  2693. // Represents the output of a DescribeEngineDefaultParameters action.
  2694. EngineDefaults *EngineDefaults `type:"structure"`
  2695. metadataDescribeEngineDefaultParametersOutput `json:"-" xml:"-"`
  2696. }
  2697. type metadataDescribeEngineDefaultParametersOutput struct {
  2698. SDKShapeTraits bool `type:"structure"`
  2699. }
  2700. // String returns the string representation
  2701. func (s DescribeEngineDefaultParametersOutput) String() string {
  2702. return awsutil.Prettify(s)
  2703. }
  2704. // GoString returns the string representation
  2705. func (s DescribeEngineDefaultParametersOutput) GoString() string {
  2706. return s.String()
  2707. }
  2708. // Represents the input of a DescribeEvents action.
  2709. type DescribeEventsInput struct {
  2710. // The number of minutes' worth of events to retrieve.
  2711. Duration *int64 `type:"integer"`
  2712. // The end of the time interval for which to retrieve events, specified in ISO
  2713. // 8601 format.
  2714. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2715. // An optional marker returned from a prior request. Use this marker for pagination
  2716. // of results from this action. If this parameter is specified, the response
  2717. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2718. Marker *string `type:"string"`
  2719. // The maximum number of records to include in the response. If more records
  2720. // exist than the specified MaxRecords value, a marker is included in the response
  2721. // so that the remaining results can be retrieved.
  2722. //
  2723. // Default: 100
  2724. //
  2725. // Constraints: minimum 20; maximum 100.
  2726. MaxRecords *int64 `type:"integer"`
  2727. // The identifier of the event source for which events will be returned. If
  2728. // not specified, then all sources are included in the response.
  2729. SourceIdentifier *string `type:"string"`
  2730. // The event source to retrieve events for. If no value is specified, all events
  2731. // are returned.
  2732. //
  2733. // Valid values are: cache-cluster | cache-parameter-group | cache-security-group
  2734. // | cache-subnet-group
  2735. SourceType *string `type:"string" enum:"SourceType"`
  2736. // The beginning of the time interval to retrieve events for, specified in ISO
  2737. // 8601 format.
  2738. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2739. metadataDescribeEventsInput `json:"-" xml:"-"`
  2740. }
  2741. type metadataDescribeEventsInput struct {
  2742. SDKShapeTraits bool `type:"structure"`
  2743. }
  2744. // String returns the string representation
  2745. func (s DescribeEventsInput) String() string {
  2746. return awsutil.Prettify(s)
  2747. }
  2748. // GoString returns the string representation
  2749. func (s DescribeEventsInput) GoString() string {
  2750. return s.String()
  2751. }
  2752. // Represents the output of a DescribeEvents action.
  2753. type DescribeEventsOutput struct {
  2754. // A list of events. Each element in the list contains detailed information
  2755. // about one event.
  2756. Events []*Event `locationNameList:"Event" type:"list"`
  2757. // Provides an identifier to allow retrieval of paginated results.
  2758. Marker *string `type:"string"`
  2759. metadataDescribeEventsOutput `json:"-" xml:"-"`
  2760. }
  2761. type metadataDescribeEventsOutput struct {
  2762. SDKShapeTraits bool `type:"structure"`
  2763. }
  2764. // String returns the string representation
  2765. func (s DescribeEventsOutput) String() string {
  2766. return awsutil.Prettify(s)
  2767. }
  2768. // GoString returns the string representation
  2769. func (s DescribeEventsOutput) GoString() string {
  2770. return s.String()
  2771. }
  2772. // Represents the input of a DescribeReplicationGroups action.
  2773. type DescribeReplicationGroupsInput struct {
  2774. // An optional marker returned from a prior request. Use this marker for pagination
  2775. // of results from this action. If this parameter is specified, the response
  2776. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2777. Marker *string `type:"string"`
  2778. // The maximum number of records to include in the response. If more records
  2779. // exist than the specified MaxRecords value, a marker is included in the response
  2780. // so that the remaining results can be retrieved.
  2781. //
  2782. // Default: 100
  2783. //
  2784. // Constraints: minimum 20; maximum 100.
  2785. MaxRecords *int64 `type:"integer"`
  2786. // The identifier for the replication group to be described. This parameter
  2787. // is not case sensitive.
  2788. //
  2789. // If you do not specify this parameter, information about all replication
  2790. // groups is returned.
  2791. ReplicationGroupId *string `type:"string"`
  2792. metadataDescribeReplicationGroupsInput `json:"-" xml:"-"`
  2793. }
  2794. type metadataDescribeReplicationGroupsInput struct {
  2795. SDKShapeTraits bool `type:"structure"`
  2796. }
  2797. // String returns the string representation
  2798. func (s DescribeReplicationGroupsInput) String() string {
  2799. return awsutil.Prettify(s)
  2800. }
  2801. // GoString returns the string representation
  2802. func (s DescribeReplicationGroupsInput) GoString() string {
  2803. return s.String()
  2804. }
  2805. // Represents the output of a DescribeReplicationGroups action.
  2806. type DescribeReplicationGroupsOutput struct {
  2807. // Provides an identifier to allow retrieval of paginated results.
  2808. Marker *string `type:"string"`
  2809. // A list of replication groups. Each item in the list contains detailed information
  2810. // about one replication group.
  2811. ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"`
  2812. metadataDescribeReplicationGroupsOutput `json:"-" xml:"-"`
  2813. }
  2814. type metadataDescribeReplicationGroupsOutput struct {
  2815. SDKShapeTraits bool `type:"structure"`
  2816. }
  2817. // String returns the string representation
  2818. func (s DescribeReplicationGroupsOutput) String() string {
  2819. return awsutil.Prettify(s)
  2820. }
  2821. // GoString returns the string representation
  2822. func (s DescribeReplicationGroupsOutput) GoString() string {
  2823. return s.String()
  2824. }
  2825. // Represents the input of a DescribeReservedCacheNodes action.
  2826. type DescribeReservedCacheNodesInput struct {
  2827. // The cache node type filter value. Use this parameter to show only those reservations
  2828. // matching the specified cache node type.
  2829. //
  2830. // Valid node types are as follows:
  2831. //
  2832. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  2833. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  2834. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  2835. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  2836. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  2837. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  2838. // cache.m2.4xlarge Notes:
  2839. //
  2840. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  2841. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  2842. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  2843. // complete listing of cache node types and specifications, see Amazon ElastiCache
  2844. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  2845. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  2846. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  2847. CacheNodeType *string `type:"string"`
  2848. // The duration filter value, specified in years or seconds. Use this parameter
  2849. // to show only reservations for this duration.
  2850. //
  2851. // Valid Values: 1 | 3 | 31536000 | 94608000
  2852. Duration *string `type:"string"`
  2853. // An optional marker returned from a prior request. Use this marker for pagination
  2854. // of results from this action. If this parameter is specified, the response
  2855. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2856. Marker *string `type:"string"`
  2857. // The maximum number of records to include in the response. If more records
  2858. // exist than the specified MaxRecords value, a marker is included in the response
  2859. // so that the remaining results can be retrieved.
  2860. //
  2861. // Default: 100
  2862. //
  2863. // Constraints: minimum 20; maximum 100.
  2864. MaxRecords *int64 `type:"integer"`
  2865. // The offering type filter value. Use this parameter to show only the available
  2866. // offerings matching the specified offering type.
  2867. //
  2868. // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
  2869. OfferingType *string `type:"string"`
  2870. // The product description filter value. Use this parameter to show only those
  2871. // reservations matching the specified product description.
  2872. ProductDescription *string `type:"string"`
  2873. // The reserved cache node identifier filter value. Use this parameter to show
  2874. // only the reservation that matches the specified reservation ID.
  2875. ReservedCacheNodeId *string `type:"string"`
  2876. // The offering identifier filter value. Use this parameter to show only purchased
  2877. // reservations matching the specified offering identifier.
  2878. ReservedCacheNodesOfferingId *string `type:"string"`
  2879. metadataDescribeReservedCacheNodesInput `json:"-" xml:"-"`
  2880. }
  2881. type metadataDescribeReservedCacheNodesInput struct {
  2882. SDKShapeTraits bool `type:"structure"`
  2883. }
  2884. // String returns the string representation
  2885. func (s DescribeReservedCacheNodesInput) String() string {
  2886. return awsutil.Prettify(s)
  2887. }
  2888. // GoString returns the string representation
  2889. func (s DescribeReservedCacheNodesInput) GoString() string {
  2890. return s.String()
  2891. }
  2892. // Represents the input of a DescribeReservedCacheNodesOfferings action.
  2893. type DescribeReservedCacheNodesOfferingsInput struct {
  2894. // The cache node type filter value. Use this parameter to show only the available
  2895. // offerings matching the specified cache node type.
  2896. //
  2897. // Valid node types are as follows:
  2898. //
  2899. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  2900. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  2901. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  2902. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  2903. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  2904. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  2905. // cache.m2.4xlarge Notes:
  2906. //
  2907. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  2908. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  2909. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  2910. // complete listing of cache node types and specifications, see Amazon ElastiCache
  2911. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  2912. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  2913. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  2914. CacheNodeType *string `type:"string"`
  2915. // Duration filter value, specified in years or seconds. Use this parameter
  2916. // to show only reservations for a given duration.
  2917. //
  2918. // Valid Values: 1 | 3 | 31536000 | 94608000
  2919. Duration *string `type:"string"`
  2920. // An optional marker returned from a prior request. Use this marker for pagination
  2921. // of results from this action. If this parameter is specified, the response
  2922. // includes only records beyond the marker, up to the value specified by MaxRecords.
  2923. Marker *string `type:"string"`
  2924. // The maximum number of records to include in the response. If more records
  2925. // exist than the specified MaxRecords value, a marker is included in the response
  2926. // so that the remaining results can be retrieved.
  2927. //
  2928. // Default: 100
  2929. //
  2930. // Constraints: minimum 20; maximum 100.
  2931. MaxRecords *int64 `type:"integer"`
  2932. // The offering type filter value. Use this parameter to show only the available
  2933. // offerings matching the specified offering type.
  2934. //
  2935. // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
  2936. OfferingType *string `type:"string"`
  2937. // The product description filter value. Use this parameter to show only the
  2938. // available offerings matching the specified product description.
  2939. ProductDescription *string `type:"string"`
  2940. // The offering identifier filter value. Use this parameter to show only the
  2941. // available offering that matches the specified reservation identifier.
  2942. //
  2943. // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
  2944. ReservedCacheNodesOfferingId *string `type:"string"`
  2945. metadataDescribeReservedCacheNodesOfferingsInput `json:"-" xml:"-"`
  2946. }
  2947. type metadataDescribeReservedCacheNodesOfferingsInput struct {
  2948. SDKShapeTraits bool `type:"structure"`
  2949. }
  2950. // String returns the string representation
  2951. func (s DescribeReservedCacheNodesOfferingsInput) String() string {
  2952. return awsutil.Prettify(s)
  2953. }
  2954. // GoString returns the string representation
  2955. func (s DescribeReservedCacheNodesOfferingsInput) GoString() string {
  2956. return s.String()
  2957. }
  2958. // Represents the output of a DescribeReservedCacheNodesOfferings action.
  2959. type DescribeReservedCacheNodesOfferingsOutput struct {
  2960. // Provides an identifier to allow retrieval of paginated results.
  2961. Marker *string `type:"string"`
  2962. // A list of reserved cache node offerings. Each element in the list contains
  2963. // detailed information about one offering.
  2964. ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"`
  2965. metadataDescribeReservedCacheNodesOfferingsOutput `json:"-" xml:"-"`
  2966. }
  2967. type metadataDescribeReservedCacheNodesOfferingsOutput struct {
  2968. SDKShapeTraits bool `type:"structure"`
  2969. }
  2970. // String returns the string representation
  2971. func (s DescribeReservedCacheNodesOfferingsOutput) String() string {
  2972. return awsutil.Prettify(s)
  2973. }
  2974. // GoString returns the string representation
  2975. func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string {
  2976. return s.String()
  2977. }
  2978. // Represents the output of a DescribeReservedCacheNodes action.
  2979. type DescribeReservedCacheNodesOutput struct {
  2980. // Provides an identifier to allow retrieval of paginated results.
  2981. Marker *string `type:"string"`
  2982. // A list of reserved cache nodes. Each element in the list contains detailed
  2983. // information about one node.
  2984. ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"`
  2985. metadataDescribeReservedCacheNodesOutput `json:"-" xml:"-"`
  2986. }
  2987. type metadataDescribeReservedCacheNodesOutput struct {
  2988. SDKShapeTraits bool `type:"structure"`
  2989. }
  2990. // String returns the string representation
  2991. func (s DescribeReservedCacheNodesOutput) String() string {
  2992. return awsutil.Prettify(s)
  2993. }
  2994. // GoString returns the string representation
  2995. func (s DescribeReservedCacheNodesOutput) GoString() string {
  2996. return s.String()
  2997. }
  2998. // Represents the input of a DescribeSnapshotsMessage action.
  2999. type DescribeSnapshotsInput struct {
  3000. // A user-supplied cluster identifier. If this parameter is specified, only
  3001. // snapshots associated with that specific cache cluster will be described.
  3002. CacheClusterId *string `type:"string"`
  3003. // An optional marker returned from a prior request. Use this marker for pagination
  3004. // of results from this action. If this parameter is specified, the response
  3005. // includes only records beyond the marker, up to the value specified by MaxRecords.
  3006. Marker *string `type:"string"`
  3007. // The maximum number of records to include in the response. If more records
  3008. // exist than the specified MaxRecords value, a marker is included in the response
  3009. // so that the remaining results can be retrieved.
  3010. //
  3011. // Default: 50
  3012. //
  3013. // Constraints: minimum 20; maximum 50.
  3014. MaxRecords *int64 `type:"integer"`
  3015. // A user-supplied name of the snapshot. If this parameter is specified, only
  3016. // this snapshot will be described.
  3017. SnapshotName *string `type:"string"`
  3018. // If set to system, the output shows snapshots that were automatically created
  3019. // by ElastiCache. If set to user the output shows snapshots that were manually
  3020. // created. If omitted, the output shows both automatically and manually created
  3021. // snapshots.
  3022. SnapshotSource *string `type:"string"`
  3023. metadataDescribeSnapshotsInput `json:"-" xml:"-"`
  3024. }
  3025. type metadataDescribeSnapshotsInput struct {
  3026. SDKShapeTraits bool `type:"structure"`
  3027. }
  3028. // String returns the string representation
  3029. func (s DescribeSnapshotsInput) String() string {
  3030. return awsutil.Prettify(s)
  3031. }
  3032. // GoString returns the string representation
  3033. func (s DescribeSnapshotsInput) GoString() string {
  3034. return s.String()
  3035. }
  3036. // Represents the output of a DescribeSnapshots action.
  3037. type DescribeSnapshotsOutput struct {
  3038. // An optional marker returned from a prior request. Use this marker for pagination
  3039. // of results from this action. If this parameter is specified, the response
  3040. // includes only records beyond the marker, up to the value specified by MaxRecords.
  3041. Marker *string `type:"string"`
  3042. // A list of snapshots. Each item in the list contains detailed information
  3043. // about one snapshot.
  3044. Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"`
  3045. metadataDescribeSnapshotsOutput `json:"-" xml:"-"`
  3046. }
  3047. type metadataDescribeSnapshotsOutput struct {
  3048. SDKShapeTraits bool `type:"structure"`
  3049. }
  3050. // String returns the string representation
  3051. func (s DescribeSnapshotsOutput) String() string {
  3052. return awsutil.Prettify(s)
  3053. }
  3054. // GoString returns the string representation
  3055. func (s DescribeSnapshotsOutput) GoString() string {
  3056. return s.String()
  3057. }
  3058. // Provides ownership and status information for an Amazon EC2 security group.
  3059. type EC2SecurityGroup struct {
  3060. // The name of the Amazon EC2 security group.
  3061. EC2SecurityGroupName *string `type:"string"`
  3062. // The AWS account ID of the Amazon EC2 security group owner.
  3063. EC2SecurityGroupOwnerId *string `type:"string"`
  3064. // The status of the Amazon EC2 security group.
  3065. Status *string `type:"string"`
  3066. metadataEC2SecurityGroup `json:"-" xml:"-"`
  3067. }
  3068. type metadataEC2SecurityGroup struct {
  3069. SDKShapeTraits bool `type:"structure"`
  3070. }
  3071. // String returns the string representation
  3072. func (s EC2SecurityGroup) String() string {
  3073. return awsutil.Prettify(s)
  3074. }
  3075. // GoString returns the string representation
  3076. func (s EC2SecurityGroup) GoString() string {
  3077. return s.String()
  3078. }
  3079. // Represents the information required for client programs to connect to a cache
  3080. // node.
  3081. type Endpoint struct {
  3082. // The DNS hostname of the cache node.
  3083. Address *string `type:"string"`
  3084. // The port number that the cache engine is listening on.
  3085. Port *int64 `type:"integer"`
  3086. metadataEndpoint `json:"-" xml:"-"`
  3087. }
  3088. type metadataEndpoint struct {
  3089. SDKShapeTraits bool `type:"structure"`
  3090. }
  3091. // String returns the string representation
  3092. func (s Endpoint) String() string {
  3093. return awsutil.Prettify(s)
  3094. }
  3095. // GoString returns the string representation
  3096. func (s Endpoint) GoString() string {
  3097. return s.String()
  3098. }
  3099. // Represents the output of a DescribeEngineDefaultParameters action.
  3100. type EngineDefaults struct {
  3101. // A list of parameters specific to a particular cache node type. Each element
  3102. // in the list contains detailed information about one parameter.
  3103. CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`
  3104. // Specifies the name of the cache parameter group family to which the engine
  3105. // default parameters apply.
  3106. CacheParameterGroupFamily *string `type:"string"`
  3107. // Provides an identifier to allow retrieval of paginated results.
  3108. Marker *string `type:"string"`
  3109. // Contains a list of engine default parameters.
  3110. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  3111. metadataEngineDefaults `json:"-" xml:"-"`
  3112. }
  3113. type metadataEngineDefaults struct {
  3114. SDKShapeTraits bool `type:"structure"`
  3115. }
  3116. // String returns the string representation
  3117. func (s EngineDefaults) String() string {
  3118. return awsutil.Prettify(s)
  3119. }
  3120. // GoString returns the string representation
  3121. func (s EngineDefaults) GoString() string {
  3122. return s.String()
  3123. }
  3124. // Represents a single occurrence of something interesting within the system.
  3125. // Some examples of events are creating a cache cluster, adding or removing
  3126. // a cache node, or rebooting a node.
  3127. type Event struct {
  3128. // The date and time when the event occurred.
  3129. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3130. // The text of the event.
  3131. Message *string `type:"string"`
  3132. // The identifier for the source of the event. For example, if the event occurred
  3133. // at the cache cluster level, the identifier would be the name of the cache
  3134. // cluster.
  3135. SourceIdentifier *string `type:"string"`
  3136. // Specifies the origin of this event - a cache cluster, a parameter group,
  3137. // a security group, etc.
  3138. SourceType *string `type:"string" enum:"SourceType"`
  3139. metadataEvent `json:"-" xml:"-"`
  3140. }
  3141. type metadataEvent struct {
  3142. SDKShapeTraits bool `type:"structure"`
  3143. }
  3144. // String returns the string representation
  3145. func (s Event) String() string {
  3146. return awsutil.Prettify(s)
  3147. }
  3148. // GoString returns the string representation
  3149. func (s Event) GoString() string {
  3150. return s.String()
  3151. }
  3152. // The input parameters for the ListTagsForResource action.
  3153. type ListTagsForResourceInput struct {
  3154. // The name of the resource for which you want the list of tags, for example
  3155. // arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster.
  3156. ResourceName *string `type:"string" required:"true"`
  3157. metadataListTagsForResourceInput `json:"-" xml:"-"`
  3158. }
  3159. type metadataListTagsForResourceInput struct {
  3160. SDKShapeTraits bool `type:"structure"`
  3161. }
  3162. // String returns the string representation
  3163. func (s ListTagsForResourceInput) String() string {
  3164. return awsutil.Prettify(s)
  3165. }
  3166. // GoString returns the string representation
  3167. func (s ListTagsForResourceInput) GoString() string {
  3168. return s.String()
  3169. }
  3170. // Represents the input of a ModifyCacheCluster action.
  3171. type ModifyCacheClusterInput struct {
  3172. // Specifies whether the new nodes in this Memcached cache cluster are all created
  3173. // in a single Availability Zone or created across multiple Availability Zones.
  3174. //
  3175. // Valid values: single-az | cross-az.
  3176. //
  3177. // This option is only supported for Memcached cache clusters.
  3178. //
  3179. // You cannot specify single-az if the Memcached cache cluster already has
  3180. // cache nodes in different Availability Zones. If cross-az is specified, existing
  3181. // Memcached nodes remain in their current Availability Zone.
  3182. //
  3183. // Only newly created nodes will be located in different Availability Zones.
  3184. // For instructions on how to move existing Memcached nodes to different Availability
  3185. // Zones, see the Availability Zone Considerations section of Cache Node Considerations
  3186. // for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
  3187. AZMode *string `type:"string" enum:"AZMode"`
  3188. // If true, this parameter causes the modifications in this request and any
  3189. // pending modifications to be applied, asynchronously and as soon as possible,
  3190. // regardless of the PreferredMaintenanceWindow setting for the cache cluster.
  3191. //
  3192. // If false, then changes to the cache cluster are applied on the next maintenance
  3193. // reboot, or the next failure reboot, whichever occurs first.
  3194. //
  3195. // If you perform a ModifyCacheCluster before a pending modification is applied,
  3196. // the pending modification is replaced by the newer modification. Valid values:
  3197. // true | false
  3198. //
  3199. // Default: false
  3200. ApplyImmediately *bool `type:"boolean"`
  3201. // This parameter is currently disabled.
  3202. AutoMinorVersionUpgrade *bool `type:"boolean"`
  3203. // The cache cluster identifier. This value is stored as a lowercase string.
  3204. CacheClusterId *string `type:"string" required:"true"`
  3205. // A list of cache node IDs to be removed. A node ID is a numeric identifier
  3206. // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less
  3207. // than the existing number of cache nodes. The number of cache node IDs supplied
  3208. // in this parameter must match the difference between the existing number of
  3209. // cache nodes in the cluster or pending cache nodes, whichever is greater,
  3210. // and the value of NumCacheNodes in the request.
  3211. //
  3212. // For example: If you have 3 active cache nodes, 7 pending cache nodes, and
  3213. // the number of cache nodes in this ModifyCacheCluser call is 5, you must list
  3214. // 2 (7 - 5) cache node IDs to remove.
  3215. CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`
  3216. // The name of the cache parameter group to apply to this cache cluster. This
  3217. // change is asynchronously applied as soon as possible for parameters when
  3218. // the ApplyImmediately parameter is specified as true for this request.
  3219. CacheParameterGroupName *string `type:"string"`
  3220. // A list of cache security group names to authorize on this cache cluster.
  3221. // This change is asynchronously applied as soon as possible.
  3222. //
  3223. // This parameter can be used only with clusters that are created outside of
  3224. // an Amazon Virtual Private Cloud (VPC).
  3225. //
  3226. // Constraints: Must contain no more than 255 alphanumeric characters. Must
  3227. // not be "Default".
  3228. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  3229. // The upgraded version of the cache engine to be run on the cache nodes.
  3230. EngineVersion *string `type:"string"`
  3231. // The list of Availability Zones where the new Memcached cache nodes will be
  3232. // created.
  3233. //
  3234. // This parameter is only valid when NumCacheNodes in the request is greater
  3235. // than the sum of the number of active cache nodes and the number of cache
  3236. // nodes pending creation (which may be zero). The number of Availability Zones
  3237. // supplied in this list must match the cache nodes being added in this request.
  3238. //
  3239. // This option is only supported on Memcached clusters.
  3240. //
  3241. // Scenarios: Scenario 1: You have 3 active nodes and wish to add 2 nodes.
  3242. // Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones
  3243. // for the two new nodes. Scenario 2: You have 3 active nodes and 2 nodes pending
  3244. // creation (from the scenario 1 call) and want to add 1 more node. Specify
  3245. // NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone
  3246. // for the new node. Scenario 3: You want to cancel all pending actions. Specify
  3247. // NumCacheNodes=3 to cancel all pending actions.
  3248. //
  3249. // The Availability Zone placement of nodes pending creation cannot be modified.
  3250. // If you wish to cancel any nodes pending creation, add 0 nodes by setting
  3251. // NumCacheNodes to the number of current nodes.
  3252. //
  3253. // If cross-az is specified, existing Memcached nodes remain in their current
  3254. // Availability Zone. Only newly created nodes can be located in different Availability
  3255. // Zones. For guidance on how to move existing Memcached nodes to different
  3256. // Availability Zones, see the Availability Zone Considerations section of Cache
  3257. // Node Considerations for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
  3258. //
  3259. // Impact of new add/remove requests upon pending requests
  3260. //
  3261. // Scenarios Pending action New Request Results Scenario-1 Delete Delete
  3262. // The new delete, pending or immediate, replaces the pending delete. Scenario-2
  3263. // Delete Create The new create, pending or immediate, replaces the pending
  3264. // delete. Scenario-3 Create Delete The new delete, pending or immediate,
  3265. // replaces the pending create. Scenario-4 Create Create The new create is
  3266. // added to the pending create. Important:If the new create request is Apply
  3267. // Immediately - Yes, all creates are performed immediately. If the new create
  3268. // request is Apply Immediately - No, all creates are pending. Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c
  3269. NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`
  3270. // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
  3271. // will be sent.
  3272. //
  3273. // The Amazon SNS topic owner must be same as the cache cluster owner.
  3274. NotificationTopicArn *string `type:"string"`
  3275. // The status of the Amazon SNS notification topic. Notifications are sent only
  3276. // if the status is active.
  3277. //
  3278. // Valid values: active | inactive
  3279. NotificationTopicStatus *string `type:"string"`
  3280. // The number of cache nodes that the cache cluster should have. If the value
  3281. // for NumCacheNodes is greater than the sum of the number of current cache
  3282. // nodes and the number of cache nodes pending creation (which may be zero),
  3283. // then more nodes will be added. If the value is less than the number of existing
  3284. // cache nodes, then nodes will be removed. If the value is equal to the number
  3285. // of current cache nodes, then any pending add or remove requests are canceled.
  3286. //
  3287. // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter
  3288. // to provide the IDs of the specific cache nodes to remove.
  3289. //
  3290. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  3291. // this value must be between 1 and 20.
  3292. //
  3293. // Note:Adding or removing Memcached cache nodes can be applied immediately
  3294. // or as a pending action. See ApplyImmediately. A pending action to modify
  3295. // the number of cache nodes in a cluster during its maintenance window, whether
  3296. // by adding or removing nodes in accordance with the scale out architecture,
  3297. // is not queued. The customer's latest request to add or remove nodes to the
  3298. // cluster overrides any previous pending actions to modify the number of cache
  3299. // nodes in the cluster. For example, a request to remove 2 nodes would override
  3300. // a previous pending action to remove 3 nodes. Similarly, a request to add
  3301. // 2 nodes would override a previous pending action to remove 3 nodes and vice
  3302. // versa. As Memcached cache nodes may now be provisioned in different Availability
  3303. // Zones with flexible cache node placement, a request to add nodes does not
  3304. // automatically override a previous pending action to add nodes. The customer
  3305. // can modify the previous pending action to add more nodes or explicitly cancel
  3306. // the pending request and retry the new request. To cancel pending actions
  3307. // to modify the number of cache nodes in a cluster, use the ModifyCacheCluster
  3308. // request and set NumCacheNodes equal to the number of cache nodes currently
  3309. // in the cache cluster.
  3310. NumCacheNodes *int64 `type:"integer"`
  3311. // Specifies the weekly time range during which maintenance on the cache cluster
  3312. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  3313. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  3314. // values for ddd are:
  3315. //
  3316. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  3317. PreferredMaintenanceWindow *string `type:"string"`
  3318. // Specifies the VPC Security Groups associated with the cache cluster.
  3319. //
  3320. // This parameter can be used only with clusters that are created in an Amazon
  3321. // Virtual Private Cloud (VPC).
  3322. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  3323. // The number of days for which ElastiCache will retain automatic cache cluster
  3324. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  3325. // to 5, then a snapshot that was taken today will be retained for 5 days before
  3326. // being deleted.
  3327. //
  3328. // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups
  3329. // are turned off.
  3330. SnapshotRetentionLimit *int64 `type:"integer"`
  3331. // The daily time range (in UTC) during which ElastiCache will begin taking
  3332. // a daily snapshot of your cache cluster.
  3333. SnapshotWindow *string `type:"string"`
  3334. metadataModifyCacheClusterInput `json:"-" xml:"-"`
  3335. }
  3336. type metadataModifyCacheClusterInput struct {
  3337. SDKShapeTraits bool `type:"structure"`
  3338. }
  3339. // String returns the string representation
  3340. func (s ModifyCacheClusterInput) String() string {
  3341. return awsutil.Prettify(s)
  3342. }
  3343. // GoString returns the string representation
  3344. func (s ModifyCacheClusterInput) GoString() string {
  3345. return s.String()
  3346. }
  3347. type ModifyCacheClusterOutput struct {
  3348. // Contains all of the attributes of a specific cache cluster.
  3349. CacheCluster *CacheCluster `type:"structure"`
  3350. metadataModifyCacheClusterOutput `json:"-" xml:"-"`
  3351. }
  3352. type metadataModifyCacheClusterOutput struct {
  3353. SDKShapeTraits bool `type:"structure"`
  3354. }
  3355. // String returns the string representation
  3356. func (s ModifyCacheClusterOutput) String() string {
  3357. return awsutil.Prettify(s)
  3358. }
  3359. // GoString returns the string representation
  3360. func (s ModifyCacheClusterOutput) GoString() string {
  3361. return s.String()
  3362. }
  3363. // Represents the input of a ModifyCacheParameterGroup action.
  3364. type ModifyCacheParameterGroupInput struct {
  3365. // The name of the cache parameter group to modify.
  3366. CacheParameterGroupName *string `type:"string" required:"true"`
  3367. // An array of parameter names and values for the parameter update. You must
  3368. // supply at least one parameter name and value; subsequent arguments are optional.
  3369. // A maximum of 20 parameters may be modified per request.
  3370. ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"`
  3371. metadataModifyCacheParameterGroupInput `json:"-" xml:"-"`
  3372. }
  3373. type metadataModifyCacheParameterGroupInput struct {
  3374. SDKShapeTraits bool `type:"structure"`
  3375. }
  3376. // String returns the string representation
  3377. func (s ModifyCacheParameterGroupInput) String() string {
  3378. return awsutil.Prettify(s)
  3379. }
  3380. // GoString returns the string representation
  3381. func (s ModifyCacheParameterGroupInput) GoString() string {
  3382. return s.String()
  3383. }
  3384. // Represents the input of a ModifyCacheSubnetGroup action.
  3385. type ModifyCacheSubnetGroupInput struct {
  3386. // A description for the cache subnet group.
  3387. CacheSubnetGroupDescription *string `type:"string"`
  3388. // The name for the cache subnet group. This value is stored as a lowercase
  3389. // string.
  3390. //
  3391. // Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
  3392. //
  3393. // Example: mysubnetgroup
  3394. CacheSubnetGroupName *string `type:"string" required:"true"`
  3395. // The EC2 subnet IDs for the cache subnet group.
  3396. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"`
  3397. metadataModifyCacheSubnetGroupInput `json:"-" xml:"-"`
  3398. }
  3399. type metadataModifyCacheSubnetGroupInput struct {
  3400. SDKShapeTraits bool `type:"structure"`
  3401. }
  3402. // String returns the string representation
  3403. func (s ModifyCacheSubnetGroupInput) String() string {
  3404. return awsutil.Prettify(s)
  3405. }
  3406. // GoString returns the string representation
  3407. func (s ModifyCacheSubnetGroupInput) GoString() string {
  3408. return s.String()
  3409. }
  3410. type ModifyCacheSubnetGroupOutput struct {
  3411. // Represents the output of one of the following actions:
  3412. //
  3413. // CreateCacheSubnetGroup ModifyCacheSubnetGroup
  3414. CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
  3415. metadataModifyCacheSubnetGroupOutput `json:"-" xml:"-"`
  3416. }
  3417. type metadataModifyCacheSubnetGroupOutput struct {
  3418. SDKShapeTraits bool `type:"structure"`
  3419. }
  3420. // String returns the string representation
  3421. func (s ModifyCacheSubnetGroupOutput) String() string {
  3422. return awsutil.Prettify(s)
  3423. }
  3424. // GoString returns the string representation
  3425. func (s ModifyCacheSubnetGroupOutput) GoString() string {
  3426. return s.String()
  3427. }
  3428. // Represents the input of a ModifyReplicationGroups action.
  3429. type ModifyReplicationGroupInput struct {
  3430. // If true, this parameter causes the modifications in this request and any
  3431. // pending modifications to be applied, asynchronously and as soon as possible,
  3432. // regardless of the PreferredMaintenanceWindow setting for the replication
  3433. // group.
  3434. //
  3435. // If false, then changes to the nodes in the replication group are applied
  3436. // on the next maintenance reboot, or the next failure reboot, whichever occurs
  3437. // first.
  3438. //
  3439. // Valid values: true | false
  3440. //
  3441. // Default: false
  3442. ApplyImmediately *bool `type:"boolean"`
  3443. // This parameter is currently disabled.
  3444. AutoMinorVersionUpgrade *bool `type:"boolean"`
  3445. // Whether a read replica will be automatically promoted to read/write primary
  3446. // if the existing primary encounters a failure.
  3447. //
  3448. // Valid values: true | false
  3449. //
  3450. // ElastiCache Multi-AZ replication groups are not supported on:
  3451. //
  3452. // Redis versions earlier than 2.8.6. T1 and T2 cache node types.
  3453. AutomaticFailoverEnabled *bool `type:"boolean"`
  3454. // The name of the cache parameter group to apply to all of the clusters in
  3455. // this replication group. This change is asynchronously applied as soon as
  3456. // possible for parameters when the ApplyImmediately parameter is specified
  3457. // as true for this request.
  3458. CacheParameterGroupName *string `type:"string"`
  3459. // A list of cache security group names to authorize for the clusters in this
  3460. // replication group. This change is asynchronously applied as soon as possible.
  3461. //
  3462. // This parameter can be used only with replication group containing cache
  3463. // clusters running outside of an Amazon Virtual Private Cloud (VPC).
  3464. //
  3465. // Constraints: Must contain no more than 255 alphanumeric characters. Must
  3466. // not be "Default".
  3467. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`
  3468. // The upgraded version of the cache engine to be run on the cache clusters
  3469. // in the replication group.
  3470. EngineVersion *string `type:"string"`
  3471. // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
  3472. // will be sent.
  3473. //
  3474. // The Amazon SNS topic owner must be same as the replication group owner.
  3475. NotificationTopicArn *string `type:"string"`
  3476. // The status of the Amazon SNS notification topic for the replication group.
  3477. // Notifications are sent only if the status is active.
  3478. //
  3479. // Valid values: active | inactive
  3480. NotificationTopicStatus *string `type:"string"`
  3481. // Specifies the weekly time range during which maintenance on the cache cluster
  3482. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  3483. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  3484. // values for ddd are:
  3485. //
  3486. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  3487. PreferredMaintenanceWindow *string `type:"string"`
  3488. // If this parameter is specified, ElastiCache will promote each of the cache
  3489. // clusters in the specified replication group to the primary role. The nodes
  3490. // of all other cache clusters in the replication group will be read replicas.
  3491. PrimaryClusterId *string `type:"string"`
  3492. // A description for the replication group. Maximum length is 255 characters.
  3493. ReplicationGroupDescription *string `type:"string"`
  3494. // The identifier of the replication group to modify.
  3495. ReplicationGroupId *string `type:"string" required:"true"`
  3496. // Specifies the VPC Security Groups associated with the cache clusters in the
  3497. // replication group.
  3498. //
  3499. // This parameter can be used only with replication group containing cache
  3500. // clusters running in an Amazon Virtual Private Cloud (VPC).
  3501. SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`
  3502. // The number of days for which ElastiCache will retain automatic node group
  3503. // snapshots before deleting them. For example, if you set SnapshotRetentionLimit
  3504. // to 5, then a snapshot that was taken today will be retained for 5 days before
  3505. // being deleted.
  3506. //
  3507. // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups
  3508. // are turned off.
  3509. SnapshotRetentionLimit *int64 `type:"integer"`
  3510. // The daily time range (in UTC) during which ElastiCache will begin taking
  3511. // a daily snapshot of the node group specified by SnapshottingClusterId.
  3512. //
  3513. // Example: 05:00-09:00
  3514. //
  3515. // If you do not specify this parameter, then ElastiCache will automatically
  3516. // choose an appropriate time range.
  3517. SnapshotWindow *string `type:"string"`
  3518. // The cache cluster ID that will be used as the daily snapshot source for the
  3519. // replication group.
  3520. SnapshottingClusterId *string `type:"string"`
  3521. metadataModifyReplicationGroupInput `json:"-" xml:"-"`
  3522. }
  3523. type metadataModifyReplicationGroupInput struct {
  3524. SDKShapeTraits bool `type:"structure"`
  3525. }
  3526. // String returns the string representation
  3527. func (s ModifyReplicationGroupInput) String() string {
  3528. return awsutil.Prettify(s)
  3529. }
  3530. // GoString returns the string representation
  3531. func (s ModifyReplicationGroupInput) GoString() string {
  3532. return s.String()
  3533. }
  3534. type ModifyReplicationGroupOutput struct {
  3535. // Contains all of the attributes of a specific replication group.
  3536. ReplicationGroup *ReplicationGroup `type:"structure"`
  3537. metadataModifyReplicationGroupOutput `json:"-" xml:"-"`
  3538. }
  3539. type metadataModifyReplicationGroupOutput struct {
  3540. SDKShapeTraits bool `type:"structure"`
  3541. }
  3542. // String returns the string representation
  3543. func (s ModifyReplicationGroupOutput) String() string {
  3544. return awsutil.Prettify(s)
  3545. }
  3546. // GoString returns the string representation
  3547. func (s ModifyReplicationGroupOutput) GoString() string {
  3548. return s.String()
  3549. }
  3550. // Represents a collection of cache nodes in a replication group.
  3551. type NodeGroup struct {
  3552. // The identifier for the node group. A replication group contains only one
  3553. // node group; therefore, the node group ID is 0001.
  3554. NodeGroupId *string `type:"string"`
  3555. // A list containing information about individual nodes within the node group.
  3556. NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"`
  3557. // Represents the information required for client programs to connect to a cache
  3558. // node.
  3559. PrimaryEndpoint *Endpoint `type:"structure"`
  3560. // The current state of this replication group - creating, available, etc.
  3561. Status *string `type:"string"`
  3562. metadataNodeGroup `json:"-" xml:"-"`
  3563. }
  3564. type metadataNodeGroup struct {
  3565. SDKShapeTraits bool `type:"structure"`
  3566. }
  3567. // String returns the string representation
  3568. func (s NodeGroup) String() string {
  3569. return awsutil.Prettify(s)
  3570. }
  3571. // GoString returns the string representation
  3572. func (s NodeGroup) GoString() string {
  3573. return s.String()
  3574. }
  3575. // Represents a single node within a node group.
  3576. type NodeGroupMember struct {
  3577. // The ID of the cache cluster to which the node belongs.
  3578. CacheClusterId *string `type:"string"`
  3579. // The ID of the node within its cache cluster. A node ID is a numeric identifier
  3580. // (0001, 0002, etc.).
  3581. CacheNodeId *string `type:"string"`
  3582. // The role that is currently assigned to the node - primary or replica.
  3583. CurrentRole *string `type:"string"`
  3584. // The name of the Availability Zone in which the node is located.
  3585. PreferredAvailabilityZone *string `type:"string"`
  3586. // Represents the information required for client programs to connect to a cache
  3587. // node.
  3588. ReadEndpoint *Endpoint `type:"structure"`
  3589. metadataNodeGroupMember `json:"-" xml:"-"`
  3590. }
  3591. type metadataNodeGroupMember struct {
  3592. SDKShapeTraits bool `type:"structure"`
  3593. }
  3594. // String returns the string representation
  3595. func (s NodeGroupMember) String() string {
  3596. return awsutil.Prettify(s)
  3597. }
  3598. // GoString returns the string representation
  3599. func (s NodeGroupMember) GoString() string {
  3600. return s.String()
  3601. }
  3602. // Represents an individual cache node in a snapshot of a cache cluster.
  3603. type NodeSnapshot struct {
  3604. // The date and time when the cache node was created in the source cache cluster.
  3605. CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3606. // The cache node identifier for the node in the source cache cluster.
  3607. CacheNodeId *string `type:"string"`
  3608. // The size of the cache on the source cache node.
  3609. CacheSize *string `type:"string"`
  3610. // The date and time when the source node's metadata and cache data set was
  3611. // obtained for the snapshot.
  3612. SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3613. metadataNodeSnapshot `json:"-" xml:"-"`
  3614. }
  3615. type metadataNodeSnapshot struct {
  3616. SDKShapeTraits bool `type:"structure"`
  3617. }
  3618. // String returns the string representation
  3619. func (s NodeSnapshot) String() string {
  3620. return awsutil.Prettify(s)
  3621. }
  3622. // GoString returns the string representation
  3623. func (s NodeSnapshot) GoString() string {
  3624. return s.String()
  3625. }
  3626. // Describes a notification topic and its status. Notification topics are used
  3627. // for publishing ElastiCache events to subscribers using Amazon Simple Notification
  3628. // Service (SNS).
  3629. type NotificationConfiguration struct {
  3630. // The Amazon Resource Name (ARN) that identifies the topic.
  3631. TopicArn *string `type:"string"`
  3632. // The current state of the topic.
  3633. TopicStatus *string `type:"string"`
  3634. metadataNotificationConfiguration `json:"-" xml:"-"`
  3635. }
  3636. type metadataNotificationConfiguration struct {
  3637. SDKShapeTraits bool `type:"structure"`
  3638. }
  3639. // String returns the string representation
  3640. func (s NotificationConfiguration) String() string {
  3641. return awsutil.Prettify(s)
  3642. }
  3643. // GoString returns the string representation
  3644. func (s NotificationConfiguration) GoString() string {
  3645. return s.String()
  3646. }
  3647. // Describes an individual setting that controls some aspect of ElastiCache
  3648. // behavior.
  3649. type Parameter struct {
  3650. // The valid range of values for the parameter.
  3651. AllowedValues *string `type:"string"`
  3652. // The valid data type for the parameter.
  3653. DataType *string `type:"string"`
  3654. // A description of the parameter.
  3655. Description *string `type:"string"`
  3656. // Indicates whether (true) or not (false) the parameter can be modified. Some
  3657. // parameters have security or operational implications that prevent them from
  3658. // being changed.
  3659. IsModifiable *bool `type:"boolean"`
  3660. // The earliest cache engine version to which the parameter can apply.
  3661. MinimumEngineVersion *string `type:"string"`
  3662. // The name of the parameter.
  3663. ParameterName *string `type:"string"`
  3664. // The value of the parameter.
  3665. ParameterValue *string `type:"string"`
  3666. // The source of the parameter.
  3667. Source *string `type:"string"`
  3668. metadataParameter `json:"-" xml:"-"`
  3669. }
  3670. type metadataParameter struct {
  3671. SDKShapeTraits bool `type:"structure"`
  3672. }
  3673. // String returns the string representation
  3674. func (s Parameter) String() string {
  3675. return awsutil.Prettify(s)
  3676. }
  3677. // GoString returns the string representation
  3678. func (s Parameter) GoString() string {
  3679. return s.String()
  3680. }
  3681. // Describes a name-value pair that is used to update the value of a parameter.
  3682. type ParameterNameValue struct {
  3683. // The name of the parameter.
  3684. ParameterName *string `type:"string"`
  3685. // The value of the parameter.
  3686. ParameterValue *string `type:"string"`
  3687. metadataParameterNameValue `json:"-" xml:"-"`
  3688. }
  3689. type metadataParameterNameValue struct {
  3690. SDKShapeTraits bool `type:"structure"`
  3691. }
  3692. // String returns the string representation
  3693. func (s ParameterNameValue) String() string {
  3694. return awsutil.Prettify(s)
  3695. }
  3696. // GoString returns the string representation
  3697. func (s ParameterNameValue) GoString() string {
  3698. return s.String()
  3699. }
  3700. // A group of settings that will be applied to the cache cluster in the future,
  3701. // or that are currently being applied.
  3702. type PendingModifiedValues struct {
  3703. // A list of cache node IDs that are being removed (or will be removed) from
  3704. // the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).
  3705. CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`
  3706. // The new cache engine version that the cache cluster will run.
  3707. EngineVersion *string `type:"string"`
  3708. // The new number of cache nodes for the cache cluster.
  3709. //
  3710. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  3711. // this value must be between 1 and 20.
  3712. NumCacheNodes *int64 `type:"integer"`
  3713. metadataPendingModifiedValues `json:"-" xml:"-"`
  3714. }
  3715. type metadataPendingModifiedValues struct {
  3716. SDKShapeTraits bool `type:"structure"`
  3717. }
  3718. // String returns the string representation
  3719. func (s PendingModifiedValues) String() string {
  3720. return awsutil.Prettify(s)
  3721. }
  3722. // GoString returns the string representation
  3723. func (s PendingModifiedValues) GoString() string {
  3724. return s.String()
  3725. }
  3726. // Represents the input of a PurchaseReservedCacheNodesOffering action.
  3727. type PurchaseReservedCacheNodesOfferingInput struct {
  3728. // The number of cache node instances to reserve.
  3729. //
  3730. // Default: 1
  3731. CacheNodeCount *int64 `type:"integer"`
  3732. // A customer-specified identifier to track this reservation.
  3733. //
  3734. // Example: myreservationID
  3735. ReservedCacheNodeId *string `type:"string"`
  3736. // The ID of the reserved cache node offering to purchase.
  3737. //
  3738. // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
  3739. ReservedCacheNodesOfferingId *string `type:"string" required:"true"`
  3740. metadataPurchaseReservedCacheNodesOfferingInput `json:"-" xml:"-"`
  3741. }
  3742. type metadataPurchaseReservedCacheNodesOfferingInput struct {
  3743. SDKShapeTraits bool `type:"structure"`
  3744. }
  3745. // String returns the string representation
  3746. func (s PurchaseReservedCacheNodesOfferingInput) String() string {
  3747. return awsutil.Prettify(s)
  3748. }
  3749. // GoString returns the string representation
  3750. func (s PurchaseReservedCacheNodesOfferingInput) GoString() string {
  3751. return s.String()
  3752. }
  3753. type PurchaseReservedCacheNodesOfferingOutput struct {
  3754. // Represents the output of a PurchaseReservedCacheNodesOffering action.
  3755. ReservedCacheNode *ReservedCacheNode `type:"structure"`
  3756. metadataPurchaseReservedCacheNodesOfferingOutput `json:"-" xml:"-"`
  3757. }
  3758. type metadataPurchaseReservedCacheNodesOfferingOutput struct {
  3759. SDKShapeTraits bool `type:"structure"`
  3760. }
  3761. // String returns the string representation
  3762. func (s PurchaseReservedCacheNodesOfferingOutput) String() string {
  3763. return awsutil.Prettify(s)
  3764. }
  3765. // GoString returns the string representation
  3766. func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string {
  3767. return s.String()
  3768. }
  3769. // Represents the input of a RebootCacheCluster action.
  3770. type RebootCacheClusterInput struct {
  3771. // The cache cluster identifier. This parameter is stored as a lowercase string.
  3772. CacheClusterId *string `type:"string" required:"true"`
  3773. // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001,
  3774. // 0002, etc.). To reboot an entire cache cluster, specify all of the cache
  3775. // node IDs.
  3776. CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"`
  3777. metadataRebootCacheClusterInput `json:"-" xml:"-"`
  3778. }
  3779. type metadataRebootCacheClusterInput struct {
  3780. SDKShapeTraits bool `type:"structure"`
  3781. }
  3782. // String returns the string representation
  3783. func (s RebootCacheClusterInput) String() string {
  3784. return awsutil.Prettify(s)
  3785. }
  3786. // GoString returns the string representation
  3787. func (s RebootCacheClusterInput) GoString() string {
  3788. return s.String()
  3789. }
  3790. type RebootCacheClusterOutput struct {
  3791. // Contains all of the attributes of a specific cache cluster.
  3792. CacheCluster *CacheCluster `type:"structure"`
  3793. metadataRebootCacheClusterOutput `json:"-" xml:"-"`
  3794. }
  3795. type metadataRebootCacheClusterOutput struct {
  3796. SDKShapeTraits bool `type:"structure"`
  3797. }
  3798. // String returns the string representation
  3799. func (s RebootCacheClusterOutput) String() string {
  3800. return awsutil.Prettify(s)
  3801. }
  3802. // GoString returns the string representation
  3803. func (s RebootCacheClusterOutput) GoString() string {
  3804. return s.String()
  3805. }
  3806. // Contains the specific price and frequency of a recurring charges for a reserved
  3807. // cache node, or for a reserved cache node offering.
  3808. type RecurringCharge struct {
  3809. // The monetary amount of the recurring charge.
  3810. RecurringChargeAmount *float64 `type:"double"`
  3811. // The frequency of the recurring charge.
  3812. RecurringChargeFrequency *string `type:"string"`
  3813. metadataRecurringCharge `json:"-" xml:"-"`
  3814. }
  3815. type metadataRecurringCharge struct {
  3816. SDKShapeTraits bool `type:"structure"`
  3817. }
  3818. // String returns the string representation
  3819. func (s RecurringCharge) String() string {
  3820. return awsutil.Prettify(s)
  3821. }
  3822. // GoString returns the string representation
  3823. func (s RecurringCharge) GoString() string {
  3824. return s.String()
  3825. }
  3826. // Represents the input of a RemoveTagsFromResource action.
  3827. type RemoveTagsFromResourceInput struct {
  3828. // The name of the ElastiCache resource from which you want the listed tags
  3829. // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster.
  3830. ResourceName *string `type:"string" required:"true"`
  3831. // A list of TagKeys identifying the tags you want removed from the named resource.
  3832. // For example, TagKeys.member.1=Region removes the cost allocation tag with
  3833. // the key name Region from the resource named by the ResourceName parameter.
  3834. TagKeys []*string `type:"list" required:"true"`
  3835. metadataRemoveTagsFromResourceInput `json:"-" xml:"-"`
  3836. }
  3837. type metadataRemoveTagsFromResourceInput struct {
  3838. SDKShapeTraits bool `type:"structure"`
  3839. }
  3840. // String returns the string representation
  3841. func (s RemoveTagsFromResourceInput) String() string {
  3842. return awsutil.Prettify(s)
  3843. }
  3844. // GoString returns the string representation
  3845. func (s RemoveTagsFromResourceInput) GoString() string {
  3846. return s.String()
  3847. }
  3848. // Contains all of the attributes of a specific replication group.
  3849. type ReplicationGroup struct {
  3850. // Indicates the status of Multi-AZ for this replication group.
  3851. //
  3852. // ElastiCache Multi-AZ replication groups are not supported on:
  3853. //
  3854. // Redis versions earlier than 2.8.6. T1 and T2 cache node types.
  3855. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"`
  3856. // The description of the replication group.
  3857. Description *string `type:"string"`
  3858. // The names of all the cache clusters that are part of this replication group.
  3859. MemberClusters []*string `locationNameList:"ClusterId" type:"list"`
  3860. // A single element list with information about the nodes in the replication
  3861. // group.
  3862. NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"`
  3863. // A group of settings to be applied to the replication group, either immediately
  3864. // or during the next maintenance window.
  3865. PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"`
  3866. // The identifier for the replication group.
  3867. ReplicationGroupId *string `type:"string"`
  3868. // The cache cluster ID that is used as the daily snapshot source for the replication
  3869. // group.
  3870. SnapshottingClusterId *string `type:"string"`
  3871. // The current state of this replication group - creating, available, etc.
  3872. Status *string `type:"string"`
  3873. metadataReplicationGroup `json:"-" xml:"-"`
  3874. }
  3875. type metadataReplicationGroup struct {
  3876. SDKShapeTraits bool `type:"structure"`
  3877. }
  3878. // String returns the string representation
  3879. func (s ReplicationGroup) String() string {
  3880. return awsutil.Prettify(s)
  3881. }
  3882. // GoString returns the string representation
  3883. func (s ReplicationGroup) GoString() string {
  3884. return s.String()
  3885. }
  3886. // The settings to be applied to the replication group, either immediately or
  3887. // during the next maintenance window.
  3888. type ReplicationGroupPendingModifiedValues struct {
  3889. // Indicates the status of Multi-AZ for this replication group.
  3890. //
  3891. // ElastiCache Multi-AZ replication groups are not supported on:
  3892. //
  3893. // Redis versions earlier than 2.8.6. T1 and T2 cache node types.
  3894. AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"`
  3895. // The primary cluster ID which will be applied immediately (if --apply-immediately
  3896. // was specified), or during the next maintenance window.
  3897. PrimaryClusterId *string `type:"string"`
  3898. metadataReplicationGroupPendingModifiedValues `json:"-" xml:"-"`
  3899. }
  3900. type metadataReplicationGroupPendingModifiedValues struct {
  3901. SDKShapeTraits bool `type:"structure"`
  3902. }
  3903. // String returns the string representation
  3904. func (s ReplicationGroupPendingModifiedValues) String() string {
  3905. return awsutil.Prettify(s)
  3906. }
  3907. // GoString returns the string representation
  3908. func (s ReplicationGroupPendingModifiedValues) GoString() string {
  3909. return s.String()
  3910. }
  3911. // Represents the output of a PurchaseReservedCacheNodesOffering action.
  3912. type ReservedCacheNode struct {
  3913. // The number of cache nodes that have been reserved.
  3914. CacheNodeCount *int64 `type:"integer"`
  3915. // The cache node type for the reserved cache nodes.
  3916. //
  3917. // Valid node types are as follows:
  3918. //
  3919. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  3920. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  3921. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  3922. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  3923. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  3924. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  3925. // cache.m2.4xlarge Notes:
  3926. //
  3927. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  3928. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  3929. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  3930. // complete listing of cache node types and specifications, see Amazon ElastiCache
  3931. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  3932. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  3933. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  3934. CacheNodeType *string `type:"string"`
  3935. // The duration of the reservation in seconds.
  3936. Duration *int64 `type:"integer"`
  3937. // The fixed price charged for this reserved cache node.
  3938. FixedPrice *float64 `type:"double"`
  3939. // The offering type of this reserved cache node.
  3940. OfferingType *string `type:"string"`
  3941. // The description of the reserved cache node.
  3942. ProductDescription *string `type:"string"`
  3943. // The recurring price charged to run this reserved cache node.
  3944. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  3945. // The unique identifier for the reservation.
  3946. ReservedCacheNodeId *string `type:"string"`
  3947. // The offering identifier.
  3948. ReservedCacheNodesOfferingId *string `type:"string"`
  3949. // The time the reservation started.
  3950. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3951. // The state of the reserved cache node.
  3952. State *string `type:"string"`
  3953. // The hourly price charged for this reserved cache node.
  3954. UsagePrice *float64 `type:"double"`
  3955. metadataReservedCacheNode `json:"-" xml:"-"`
  3956. }
  3957. type metadataReservedCacheNode struct {
  3958. SDKShapeTraits bool `type:"structure"`
  3959. }
  3960. // String returns the string representation
  3961. func (s ReservedCacheNode) String() string {
  3962. return awsutil.Prettify(s)
  3963. }
  3964. // GoString returns the string representation
  3965. func (s ReservedCacheNode) GoString() string {
  3966. return s.String()
  3967. }
  3968. // Describes all of the attributes of a reserved cache node offering.
  3969. type ReservedCacheNodesOffering struct {
  3970. // The cache node type for the reserved cache node.
  3971. //
  3972. // Valid node types are as follows:
  3973. //
  3974. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  3975. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  3976. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  3977. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  3978. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  3979. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  3980. // cache.m2.4xlarge Notes:
  3981. //
  3982. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  3983. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  3984. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  3985. // complete listing of cache node types and specifications, see Amazon ElastiCache
  3986. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  3987. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  3988. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  3989. CacheNodeType *string `type:"string"`
  3990. // The duration of the offering. in seconds.
  3991. Duration *int64 `type:"integer"`
  3992. // The fixed price charged for this offering.
  3993. FixedPrice *float64 `type:"double"`
  3994. // The offering type.
  3995. OfferingType *string `type:"string"`
  3996. // The cache engine used by the offering.
  3997. ProductDescription *string `type:"string"`
  3998. // The recurring price charged to run this reserved cache node.
  3999. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  4000. // A unique identifier for the reserved cache node offering.
  4001. ReservedCacheNodesOfferingId *string `type:"string"`
  4002. // The hourly price charged for this offering.
  4003. UsagePrice *float64 `type:"double"`
  4004. metadataReservedCacheNodesOffering `json:"-" xml:"-"`
  4005. }
  4006. type metadataReservedCacheNodesOffering struct {
  4007. SDKShapeTraits bool `type:"structure"`
  4008. }
  4009. // String returns the string representation
  4010. func (s ReservedCacheNodesOffering) String() string {
  4011. return awsutil.Prettify(s)
  4012. }
  4013. // GoString returns the string representation
  4014. func (s ReservedCacheNodesOffering) GoString() string {
  4015. return s.String()
  4016. }
  4017. // Represents the input of a ResetCacheParameterGroup action.
  4018. type ResetCacheParameterGroupInput struct {
  4019. // The name of the cache parameter group to reset.
  4020. CacheParameterGroupName *string `type:"string" required:"true"`
  4021. // An array of parameter names to be reset. If you are not resetting the entire
  4022. // cache parameter group, you must specify at least one parameter name.
  4023. ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"`
  4024. // If true, all parameters in the cache parameter group will be reset to default
  4025. // values. If false, no such action occurs.
  4026. //
  4027. // Valid values: true | false
  4028. ResetAllParameters *bool `type:"boolean"`
  4029. metadataResetCacheParameterGroupInput `json:"-" xml:"-"`
  4030. }
  4031. type metadataResetCacheParameterGroupInput struct {
  4032. SDKShapeTraits bool `type:"structure"`
  4033. }
  4034. // String returns the string representation
  4035. func (s ResetCacheParameterGroupInput) String() string {
  4036. return awsutil.Prettify(s)
  4037. }
  4038. // GoString returns the string representation
  4039. func (s ResetCacheParameterGroupInput) GoString() string {
  4040. return s.String()
  4041. }
  4042. // Represents the input of a RevokeCacheSecurityGroupIngress action.
  4043. type RevokeCacheSecurityGroupIngressInput struct {
  4044. // The name of the cache security group to revoke ingress from.
  4045. CacheSecurityGroupName *string `type:"string" required:"true"`
  4046. // The name of the Amazon EC2 security group to revoke access from.
  4047. EC2SecurityGroupName *string `type:"string" required:"true"`
  4048. // The AWS account number of the Amazon EC2 security group owner. Note that
  4049. // this is not the same thing as an AWS access key ID - you must provide a valid
  4050. // AWS account number for this parameter.
  4051. EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
  4052. metadataRevokeCacheSecurityGroupIngressInput `json:"-" xml:"-"`
  4053. }
  4054. type metadataRevokeCacheSecurityGroupIngressInput struct {
  4055. SDKShapeTraits bool `type:"structure"`
  4056. }
  4057. // String returns the string representation
  4058. func (s RevokeCacheSecurityGroupIngressInput) String() string {
  4059. return awsutil.Prettify(s)
  4060. }
  4061. // GoString returns the string representation
  4062. func (s RevokeCacheSecurityGroupIngressInput) GoString() string {
  4063. return s.String()
  4064. }
  4065. type RevokeCacheSecurityGroupIngressOutput struct {
  4066. // Represents the output of one of the following actions:
  4067. //
  4068. // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress
  4069. CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
  4070. metadataRevokeCacheSecurityGroupIngressOutput `json:"-" xml:"-"`
  4071. }
  4072. type metadataRevokeCacheSecurityGroupIngressOutput struct {
  4073. SDKShapeTraits bool `type:"structure"`
  4074. }
  4075. // String returns the string representation
  4076. func (s RevokeCacheSecurityGroupIngressOutput) String() string {
  4077. return awsutil.Prettify(s)
  4078. }
  4079. // GoString returns the string representation
  4080. func (s RevokeCacheSecurityGroupIngressOutput) GoString() string {
  4081. return s.String()
  4082. }
  4083. // Represents a single cache security group and its status.
  4084. type SecurityGroupMembership struct {
  4085. // The identifier of the cache security group.
  4086. SecurityGroupId *string `type:"string"`
  4087. // The status of the cache security group membership. The status changes whenever
  4088. // a cache security group is modified, or when the cache security groups assigned
  4089. // to a cache cluster are modified.
  4090. Status *string `type:"string"`
  4091. metadataSecurityGroupMembership `json:"-" xml:"-"`
  4092. }
  4093. type metadataSecurityGroupMembership struct {
  4094. SDKShapeTraits bool `type:"structure"`
  4095. }
  4096. // String returns the string representation
  4097. func (s SecurityGroupMembership) String() string {
  4098. return awsutil.Prettify(s)
  4099. }
  4100. // GoString returns the string representation
  4101. func (s SecurityGroupMembership) GoString() string {
  4102. return s.String()
  4103. }
  4104. // Represents a copy of an entire cache cluster as of the time when the snapshot
  4105. // was taken.
  4106. type Snapshot struct {
  4107. // This parameter is currently disabled.
  4108. AutoMinorVersionUpgrade *bool `type:"boolean"`
  4109. // The date and time when the source cache cluster was created.
  4110. CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  4111. // The user-supplied identifier of the source cache cluster.
  4112. CacheClusterId *string `type:"string"`
  4113. // The name of the compute and memory capacity node type for the source cache
  4114. // cluster.
  4115. //
  4116. // Valid node types are as follows:
  4117. //
  4118. // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium,
  4119. // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous
  4120. // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
  4121. // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current
  4122. // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
  4123. // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge,
  4124. // cache.m2.4xlarge Notes:
  4125. //
  4126. // All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  4127. // Redis backup/restore is not supported for t2 instances. Redis Append-only
  4128. // files (AOF) functionality is not supported for t1 or t2 instances. For a
  4129. // complete listing of cache node types and specifications, see Amazon ElastiCache
  4130. // Product Features and Details (http://aws.amazon.com/elasticache/details)
  4131. // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
  4132. // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
  4133. CacheNodeType *string `type:"string"`
  4134. // The cache parameter group that is associated with the source cache cluster.
  4135. CacheParameterGroupName *string `type:"string"`
  4136. // The name of the cache subnet group associated with the source cache cluster.
  4137. CacheSubnetGroupName *string `type:"string"`
  4138. // The name of the cache engine (memcached or redis) used by the source cache
  4139. // cluster.
  4140. Engine *string `type:"string"`
  4141. // The version of the cache engine version that is used by the source cache
  4142. // cluster.
  4143. EngineVersion *string `type:"string"`
  4144. // A list of the cache nodes in the source cache cluster.
  4145. NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"`
  4146. // The number of cache nodes in the source cache cluster.
  4147. //
  4148. // For clusters running Redis, this value must be 1. For clusters running Memcached,
  4149. // this value must be between 1 and 20.
  4150. NumCacheNodes *int64 `type:"integer"`
  4151. // The port number used by each cache nodes in the source cache cluster.
  4152. Port *int64 `type:"integer"`
  4153. // The name of the Availability Zone in which the source cache cluster is located.
  4154. PreferredAvailabilityZone *string `type:"string"`
  4155. // Specifies the weekly time range during which maintenance on the cache cluster
  4156. // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4157. // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
  4158. // values for ddd are:
  4159. //
  4160. // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00
  4161. PreferredMaintenanceWindow *string `type:"string"`
  4162. // The name of a snapshot. For an automatic snapshot, the name is system-generated;
  4163. // for a manual snapshot, this is the user-provided name.
  4164. SnapshotName *string `type:"string"`
  4165. // For an automatic snapshot, the number of days for which ElastiCache will
  4166. // retain the snapshot before deleting it.
  4167. //
  4168. // For manual snapshots, this field reflects the SnapshotRetentionLimit for
  4169. // the source cache cluster when the snapshot was created. This field is otherwise
  4170. // ignored: Manual snapshots do not expire, and can only be deleted using the
  4171. // DeleteSnapshot action.
  4172. //
  4173. // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups
  4174. // are turned off.
  4175. SnapshotRetentionLimit *int64 `type:"integer"`
  4176. // Indicates whether the snapshot is from an automatic backup (automated) or
  4177. // was created manually (manual).
  4178. SnapshotSource *string `type:"string"`
  4179. // The status of the snapshot. Valid values: creating | available | restoring
  4180. // | copying | deleting.
  4181. SnapshotStatus *string `type:"string"`
  4182. // The daily time range during which ElastiCache takes daily snapshots of the
  4183. // source cache cluster.
  4184. SnapshotWindow *string `type:"string"`
  4185. // The Amazon Resource Name (ARN) for the topic used by the source cache cluster
  4186. // for publishing notifications.
  4187. TopicArn *string `type:"string"`
  4188. // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
  4189. // group for the source cache cluster.
  4190. VpcId *string `type:"string"`
  4191. metadataSnapshot `json:"-" xml:"-"`
  4192. }
  4193. type metadataSnapshot struct {
  4194. SDKShapeTraits bool `type:"structure"`
  4195. }
  4196. // String returns the string representation
  4197. func (s Snapshot) String() string {
  4198. return awsutil.Prettify(s)
  4199. }
  4200. // GoString returns the string representation
  4201. func (s Snapshot) GoString() string {
  4202. return s.String()
  4203. }
  4204. // Represents the subnet associated with a cache cluster. This parameter refers
  4205. // to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used
  4206. // with ElastiCache.
  4207. type Subnet struct {
  4208. // The Availability Zone associated with the subnet.
  4209. SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
  4210. // The unique identifier for the subnet.
  4211. SubnetIdentifier *string `type:"string"`
  4212. metadataSubnet `json:"-" xml:"-"`
  4213. }
  4214. type metadataSubnet struct {
  4215. SDKShapeTraits bool `type:"structure"`
  4216. }
  4217. // String returns the string representation
  4218. func (s Subnet) String() string {
  4219. return awsutil.Prettify(s)
  4220. }
  4221. // GoString returns the string representation
  4222. func (s Subnet) GoString() string {
  4223. return s.String()
  4224. }
  4225. // A cost allocation Tag that can be added to an ElastiCache cluster or replication
  4226. // group. Tags are composed of a Key/Value pair. A tag with a null Value is
  4227. // permitted.
  4228. type Tag struct {
  4229. // The key for the tag.
  4230. Key *string `type:"string"`
  4231. // The tag's value. May not be null.
  4232. Value *string `type:"string"`
  4233. metadataTag `json:"-" xml:"-"`
  4234. }
  4235. type metadataTag struct {
  4236. SDKShapeTraits bool `type:"structure"`
  4237. }
  4238. // String returns the string representation
  4239. func (s Tag) String() string {
  4240. return awsutil.Prettify(s)
  4241. }
  4242. // GoString returns the string representation
  4243. func (s Tag) GoString() string {
  4244. return s.String()
  4245. }
  4246. // Represents the output from the AddTagsToResource, ListTagsOnResource, and
  4247. // RemoveTagsFromResource actions.
  4248. type TagListMessage struct {
  4249. // A list of cost allocation tags as key-value pairs.
  4250. TagList []*Tag `locationNameList:"Tag" type:"list"`
  4251. metadataTagListMessage `json:"-" xml:"-"`
  4252. }
  4253. type metadataTagListMessage struct {
  4254. SDKShapeTraits bool `type:"structure"`
  4255. }
  4256. // String returns the string representation
  4257. func (s TagListMessage) String() string {
  4258. return awsutil.Prettify(s)
  4259. }
  4260. // GoString returns the string representation
  4261. func (s TagListMessage) GoString() string {
  4262. return s.String()
  4263. }
  4264. const (
  4265. // @enum AZMode
  4266. AZModeSingleAz = "single-az"
  4267. // @enum AZMode
  4268. AZModeCrossAz = "cross-az"
  4269. )
  4270. const (
  4271. // @enum AutomaticFailoverStatus
  4272. AutomaticFailoverStatusEnabled = "enabled"
  4273. // @enum AutomaticFailoverStatus
  4274. AutomaticFailoverStatusDisabled = "disabled"
  4275. // @enum AutomaticFailoverStatus
  4276. AutomaticFailoverStatusEnabling = "enabling"
  4277. // @enum AutomaticFailoverStatus
  4278. AutomaticFailoverStatusDisabling = "disabling"
  4279. )
  4280. const (
  4281. // @enum PendingAutomaticFailoverStatus
  4282. PendingAutomaticFailoverStatusEnabled = "enabled"
  4283. // @enum PendingAutomaticFailoverStatus
  4284. PendingAutomaticFailoverStatusDisabled = "disabled"
  4285. )
  4286. const (
  4287. // @enum SourceType
  4288. SourceTypeCacheCluster = "cache-cluster"
  4289. // @enum SourceType
  4290. SourceTypeCacheParameterGroup = "cache-parameter-group"
  4291. // @enum SourceType
  4292. SourceTypeCacheSecurityGroup = "cache-security-group"
  4293. // @enum SourceType
  4294. SourceTypeCacheSubnetGroup = "cache-subnet-group"
  4295. )