api.go 355 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package redshift provides a client for Amazon Redshift.
  3. package redshift
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. "github.com/aws/aws-sdk-go/private/protocol"
  9. "github.com/aws/aws-sdk-go/private/protocol/query"
  10. )
  11. const opAuthorizeClusterSecurityGroupIngress = "AuthorizeClusterSecurityGroupIngress"
  12. // AuthorizeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  13. // client's request for the AuthorizeClusterSecurityGroupIngress operation. The "output" return
  14. // value can be used to capture response data after the request's "Send" method
  15. // is called.
  16. //
  17. // Creating a request object using this method should be used when you want to inject
  18. // custom logic into the request's lifecycle using a custom handler, or if you want to
  19. // access properties on the request object before or after sending the request. If
  20. // you just want the service response, call the AuthorizeClusterSecurityGroupIngress method directly
  21. // instead.
  22. //
  23. // Note: You must call the "Send" method on the returned request object in order
  24. // to execute the request.
  25. //
  26. // // Example sending a request using the AuthorizeClusterSecurityGroupIngressRequest method.
  27. // req, resp := client.AuthorizeClusterSecurityGroupIngressRequest(params)
  28. //
  29. // err := req.Send()
  30. // if err == nil { // resp is now filled
  31. // fmt.Println(resp)
  32. // }
  33. //
  34. func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeClusterSecurityGroupIngressInput) (req *request.Request, output *AuthorizeClusterSecurityGroupIngressOutput) {
  35. op := &request.Operation{
  36. Name: opAuthorizeClusterSecurityGroupIngress,
  37. HTTPMethod: "POST",
  38. HTTPPath: "/",
  39. }
  40. if input == nil {
  41. input = &AuthorizeClusterSecurityGroupIngressInput{}
  42. }
  43. req = c.newRequest(op, input, output)
  44. output = &AuthorizeClusterSecurityGroupIngressOutput{}
  45. req.Data = output
  46. return
  47. }
  48. // Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending
  49. // on whether the application accessing your cluster is running on the Internet
  50. // or an Amazon EC2 instance, you can authorize inbound access to either a Classless
  51. // Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2
  52. // security group. You can add as many as 20 ingress rules to an Amazon Redshift
  53. // security group.
  54. //
  55. // If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName
  56. // and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift
  57. // cluster must be in the same AWS region.
  58. //
  59. // If you authorize access to a CIDR/IP address range, specify CIDRIP. For
  60. // an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain
  61. // Routing (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
  62. //
  63. // You must also associate the security group with a cluster so that clients
  64. // running on these IP addresses or the EC2 instance are authorized to connect
  65. // to the cluster. For information about managing security groups, go to Working
  66. // with Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  67. // in the Amazon Redshift Cluster Management Guide.
  68. func (c *Redshift) AuthorizeClusterSecurityGroupIngress(input *AuthorizeClusterSecurityGroupIngressInput) (*AuthorizeClusterSecurityGroupIngressOutput, error) {
  69. req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input)
  70. err := req.Send()
  71. return out, err
  72. }
  73. const opAuthorizeSnapshotAccess = "AuthorizeSnapshotAccess"
  74. // AuthorizeSnapshotAccessRequest generates a "aws/request.Request" representing the
  75. // client's request for the AuthorizeSnapshotAccess operation. The "output" return
  76. // value can be used to capture response data after the request's "Send" method
  77. // is called.
  78. //
  79. // Creating a request object using this method should be used when you want to inject
  80. // custom logic into the request's lifecycle using a custom handler, or if you want to
  81. // access properties on the request object before or after sending the request. If
  82. // you just want the service response, call the AuthorizeSnapshotAccess method directly
  83. // instead.
  84. //
  85. // Note: You must call the "Send" method on the returned request object in order
  86. // to execute the request.
  87. //
  88. // // Example sending a request using the AuthorizeSnapshotAccessRequest method.
  89. // req, resp := client.AuthorizeSnapshotAccessRequest(params)
  90. //
  91. // err := req.Send()
  92. // if err == nil { // resp is now filled
  93. // fmt.Println(resp)
  94. // }
  95. //
  96. func (c *Redshift) AuthorizeSnapshotAccessRequest(input *AuthorizeSnapshotAccessInput) (req *request.Request, output *AuthorizeSnapshotAccessOutput) {
  97. op := &request.Operation{
  98. Name: opAuthorizeSnapshotAccess,
  99. HTTPMethod: "POST",
  100. HTTPPath: "/",
  101. }
  102. if input == nil {
  103. input = &AuthorizeSnapshotAccessInput{}
  104. }
  105. req = c.newRequest(op, input, output)
  106. output = &AuthorizeSnapshotAccessOutput{}
  107. req.Data = output
  108. return
  109. }
  110. // Authorizes the specified AWS customer account to restore the specified snapshot.
  111. //
  112. // For more information about working with snapshots, go to Amazon Redshift
  113. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  114. // in the Amazon Redshift Cluster Management Guide.
  115. func (c *Redshift) AuthorizeSnapshotAccess(input *AuthorizeSnapshotAccessInput) (*AuthorizeSnapshotAccessOutput, error) {
  116. req, out := c.AuthorizeSnapshotAccessRequest(input)
  117. err := req.Send()
  118. return out, err
  119. }
  120. const opCopyClusterSnapshot = "CopyClusterSnapshot"
  121. // CopyClusterSnapshotRequest generates a "aws/request.Request" representing the
  122. // client's request for the CopyClusterSnapshot operation. The "output" return
  123. // value can be used to capture response data after the request's "Send" method
  124. // is called.
  125. //
  126. // Creating a request object using this method should be used when you want to inject
  127. // custom logic into the request's lifecycle using a custom handler, or if you want to
  128. // access properties on the request object before or after sending the request. If
  129. // you just want the service response, call the CopyClusterSnapshot method directly
  130. // instead.
  131. //
  132. // Note: You must call the "Send" method on the returned request object in order
  133. // to execute the request.
  134. //
  135. // // Example sending a request using the CopyClusterSnapshotRequest method.
  136. // req, resp := client.CopyClusterSnapshotRequest(params)
  137. //
  138. // err := req.Send()
  139. // if err == nil { // resp is now filled
  140. // fmt.Println(resp)
  141. // }
  142. //
  143. func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) (req *request.Request, output *CopyClusterSnapshotOutput) {
  144. op := &request.Operation{
  145. Name: opCopyClusterSnapshot,
  146. HTTPMethod: "POST",
  147. HTTPPath: "/",
  148. }
  149. if input == nil {
  150. input = &CopyClusterSnapshotInput{}
  151. }
  152. req = c.newRequest(op, input, output)
  153. output = &CopyClusterSnapshotOutput{}
  154. req.Data = output
  155. return
  156. }
  157. // Copies the specified automated cluster snapshot to a new manual cluster snapshot.
  158. // The source must be an automated snapshot and it must be in the available
  159. // state.
  160. //
  161. // When you delete a cluster, Amazon Redshift deletes any automated snapshots
  162. // of the cluster. Also, when the retention period of the snapshot expires,
  163. // Amazon Redshift automatically deletes it. If you want to keep an automated
  164. // snapshot for a longer period, you can make a manual copy of the snapshot.
  165. // Manual snapshots are retained until you delete them.
  166. //
  167. // For more information about working with snapshots, go to Amazon Redshift
  168. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  169. // in the Amazon Redshift Cluster Management Guide.
  170. func (c *Redshift) CopyClusterSnapshot(input *CopyClusterSnapshotInput) (*CopyClusterSnapshotOutput, error) {
  171. req, out := c.CopyClusterSnapshotRequest(input)
  172. err := req.Send()
  173. return out, err
  174. }
  175. const opCreateCluster = "CreateCluster"
  176. // CreateClusterRequest generates a "aws/request.Request" representing the
  177. // client's request for the CreateCluster operation. The "output" return
  178. // value can be used to capture response data after the request's "Send" method
  179. // is called.
  180. //
  181. // Creating a request object using this method should be used when you want to inject
  182. // custom logic into the request's lifecycle using a custom handler, or if you want to
  183. // access properties on the request object before or after sending the request. If
  184. // you just want the service response, call the CreateCluster method directly
  185. // instead.
  186. //
  187. // Note: You must call the "Send" method on the returned request object in order
  188. // to execute the request.
  189. //
  190. // // Example sending a request using the CreateClusterRequest method.
  191. // req, resp := client.CreateClusterRequest(params)
  192. //
  193. // err := req.Send()
  194. // if err == nil { // resp is now filled
  195. // fmt.Println(resp)
  196. // }
  197. //
  198. func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
  199. op := &request.Operation{
  200. Name: opCreateCluster,
  201. HTTPMethod: "POST",
  202. HTTPPath: "/",
  203. }
  204. if input == nil {
  205. input = &CreateClusterInput{}
  206. }
  207. req = c.newRequest(op, input, output)
  208. output = &CreateClusterOutput{}
  209. req.Data = output
  210. return
  211. }
  212. // Creates a new cluster. To create the cluster in virtual private cloud (VPC),
  213. // you must provide cluster subnet group name. If you don't provide a cluster
  214. // subnet group name or the cluster security group parameter, Amazon Redshift
  215. // creates a non-VPC cluster, it associates the default cluster security group
  216. // with the cluster. For more information about managing clusters, go to Amazon
  217. // Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  218. // in the Amazon Redshift Cluster Management Guide .
  219. func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
  220. req, out := c.CreateClusterRequest(input)
  221. err := req.Send()
  222. return out, err
  223. }
  224. const opCreateClusterParameterGroup = "CreateClusterParameterGroup"
  225. // CreateClusterParameterGroupRequest generates a "aws/request.Request" representing the
  226. // client's request for the CreateClusterParameterGroup operation. The "output" return
  227. // value can be used to capture response data after the request's "Send" method
  228. // is called.
  229. //
  230. // Creating a request object using this method should be used when you want to inject
  231. // custom logic into the request's lifecycle using a custom handler, or if you want to
  232. // access properties on the request object before or after sending the request. If
  233. // you just want the service response, call the CreateClusterParameterGroup method directly
  234. // instead.
  235. //
  236. // Note: You must call the "Send" method on the returned request object in order
  237. // to execute the request.
  238. //
  239. // // Example sending a request using the CreateClusterParameterGroupRequest method.
  240. // req, resp := client.CreateClusterParameterGroupRequest(params)
  241. //
  242. // err := req.Send()
  243. // if err == nil { // resp is now filled
  244. // fmt.Println(resp)
  245. // }
  246. //
  247. func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParameterGroupInput) (req *request.Request, output *CreateClusterParameterGroupOutput) {
  248. op := &request.Operation{
  249. Name: opCreateClusterParameterGroup,
  250. HTTPMethod: "POST",
  251. HTTPPath: "/",
  252. }
  253. if input == nil {
  254. input = &CreateClusterParameterGroupInput{}
  255. }
  256. req = c.newRequest(op, input, output)
  257. output = &CreateClusterParameterGroupOutput{}
  258. req.Data = output
  259. return
  260. }
  261. // Creates an Amazon Redshift parameter group.
  262. //
  263. // Creating parameter groups is independent of creating clusters. You can associate
  264. // a cluster with a parameter group when you create the cluster. You can also
  265. // associate an existing cluster with a parameter group after the cluster is
  266. // created by using ModifyCluster.
  267. //
  268. // Parameters in the parameter group define specific behavior that applies
  269. // to the databases you create on the cluster. For more information about parameters
  270. // and parameter groups, go to Amazon Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  271. // in the Amazon Redshift Cluster Management Guide.
  272. func (c *Redshift) CreateClusterParameterGroup(input *CreateClusterParameterGroupInput) (*CreateClusterParameterGroupOutput, error) {
  273. req, out := c.CreateClusterParameterGroupRequest(input)
  274. err := req.Send()
  275. return out, err
  276. }
  277. const opCreateClusterSecurityGroup = "CreateClusterSecurityGroup"
  278. // CreateClusterSecurityGroupRequest generates a "aws/request.Request" representing the
  279. // client's request for the CreateClusterSecurityGroup operation. The "output" return
  280. // value can be used to capture response data after the request's "Send" method
  281. // is called.
  282. //
  283. // Creating a request object using this method should be used when you want to inject
  284. // custom logic into the request's lifecycle using a custom handler, or if you want to
  285. // access properties on the request object before or after sending the request. If
  286. // you just want the service response, call the CreateClusterSecurityGroup method directly
  287. // instead.
  288. //
  289. // Note: You must call the "Send" method on the returned request object in order
  290. // to execute the request.
  291. //
  292. // // Example sending a request using the CreateClusterSecurityGroupRequest method.
  293. // req, resp := client.CreateClusterSecurityGroupRequest(params)
  294. //
  295. // err := req.Send()
  296. // if err == nil { // resp is now filled
  297. // fmt.Println(resp)
  298. // }
  299. //
  300. func (c *Redshift) CreateClusterSecurityGroupRequest(input *CreateClusterSecurityGroupInput) (req *request.Request, output *CreateClusterSecurityGroupOutput) {
  301. op := &request.Operation{
  302. Name: opCreateClusterSecurityGroup,
  303. HTTPMethod: "POST",
  304. HTTPPath: "/",
  305. }
  306. if input == nil {
  307. input = &CreateClusterSecurityGroupInput{}
  308. }
  309. req = c.newRequest(op, input, output)
  310. output = &CreateClusterSecurityGroupOutput{}
  311. req.Data = output
  312. return
  313. }
  314. // Creates a new Amazon Redshift security group. You use security groups to
  315. // control access to non-VPC clusters.
  316. //
  317. // For information about managing security groups, go to Amazon Redshift Cluster
  318. // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  319. // in the Amazon Redshift Cluster Management Guide.
  320. func (c *Redshift) CreateClusterSecurityGroup(input *CreateClusterSecurityGroupInput) (*CreateClusterSecurityGroupOutput, error) {
  321. req, out := c.CreateClusterSecurityGroupRequest(input)
  322. err := req.Send()
  323. return out, err
  324. }
  325. const opCreateClusterSnapshot = "CreateClusterSnapshot"
  326. // CreateClusterSnapshotRequest generates a "aws/request.Request" representing the
  327. // client's request for the CreateClusterSnapshot operation. The "output" return
  328. // value can be used to capture response data after the request's "Send" method
  329. // is called.
  330. //
  331. // Creating a request object using this method should be used when you want to inject
  332. // custom logic into the request's lifecycle using a custom handler, or if you want to
  333. // access properties on the request object before or after sending the request. If
  334. // you just want the service response, call the CreateClusterSnapshot method directly
  335. // instead.
  336. //
  337. // Note: You must call the "Send" method on the returned request object in order
  338. // to execute the request.
  339. //
  340. // // Example sending a request using the CreateClusterSnapshotRequest method.
  341. // req, resp := client.CreateClusterSnapshotRequest(params)
  342. //
  343. // err := req.Send()
  344. // if err == nil { // resp is now filled
  345. // fmt.Println(resp)
  346. // }
  347. //
  348. func (c *Redshift) CreateClusterSnapshotRequest(input *CreateClusterSnapshotInput) (req *request.Request, output *CreateClusterSnapshotOutput) {
  349. op := &request.Operation{
  350. Name: opCreateClusterSnapshot,
  351. HTTPMethod: "POST",
  352. HTTPPath: "/",
  353. }
  354. if input == nil {
  355. input = &CreateClusterSnapshotInput{}
  356. }
  357. req = c.newRequest(op, input, output)
  358. output = &CreateClusterSnapshotOutput{}
  359. req.Data = output
  360. return
  361. }
  362. // Creates a manual snapshot of the specified cluster. The cluster must be in
  363. // the available state.
  364. //
  365. // For more information about working with snapshots, go to Amazon Redshift
  366. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  367. // in the Amazon Redshift Cluster Management Guide.
  368. func (c *Redshift) CreateClusterSnapshot(input *CreateClusterSnapshotInput) (*CreateClusterSnapshotOutput, error) {
  369. req, out := c.CreateClusterSnapshotRequest(input)
  370. err := req.Send()
  371. return out, err
  372. }
  373. const opCreateClusterSubnetGroup = "CreateClusterSubnetGroup"
  374. // CreateClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  375. // client's request for the CreateClusterSubnetGroup operation. The "output" return
  376. // value can be used to capture response data after the request's "Send" method
  377. // is called.
  378. //
  379. // Creating a request object using this method should be used when you want to inject
  380. // custom logic into the request's lifecycle using a custom handler, or if you want to
  381. // access properties on the request object before or after sending the request. If
  382. // you just want the service response, call the CreateClusterSubnetGroup method directly
  383. // instead.
  384. //
  385. // Note: You must call the "Send" method on the returned request object in order
  386. // to execute the request.
  387. //
  388. // // Example sending a request using the CreateClusterSubnetGroupRequest method.
  389. // req, resp := client.CreateClusterSubnetGroupRequest(params)
  390. //
  391. // err := req.Send()
  392. // if err == nil { // resp is now filled
  393. // fmt.Println(resp)
  394. // }
  395. //
  396. func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGroupInput) (req *request.Request, output *CreateClusterSubnetGroupOutput) {
  397. op := &request.Operation{
  398. Name: opCreateClusterSubnetGroup,
  399. HTTPMethod: "POST",
  400. HTTPPath: "/",
  401. }
  402. if input == nil {
  403. input = &CreateClusterSubnetGroupInput{}
  404. }
  405. req = c.newRequest(op, input, output)
  406. output = &CreateClusterSubnetGroupOutput{}
  407. req.Data = output
  408. return
  409. }
  410. // Creates a new Amazon Redshift subnet group. You must provide a list of one
  411. // or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC)
  412. // when creating Amazon Redshift subnet group.
  413. //
  414. // For information about subnet groups, go to Amazon Redshift Cluster Subnet
  415. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html)
  416. // in the Amazon Redshift Cluster Management Guide.
  417. func (c *Redshift) CreateClusterSubnetGroup(input *CreateClusterSubnetGroupInput) (*CreateClusterSubnetGroupOutput, error) {
  418. req, out := c.CreateClusterSubnetGroupRequest(input)
  419. err := req.Send()
  420. return out, err
  421. }
  422. const opCreateEventSubscription = "CreateEventSubscription"
  423. // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
  424. // client's request for the CreateEventSubscription operation. The "output" return
  425. // value can be used to capture response data after the request's "Send" method
  426. // is called.
  427. //
  428. // Creating a request object using this method should be used when you want to inject
  429. // custom logic into the request's lifecycle using a custom handler, or if you want to
  430. // access properties on the request object before or after sending the request. If
  431. // you just want the service response, call the CreateEventSubscription method directly
  432. // instead.
  433. //
  434. // Note: You must call the "Send" method on the returned request object in order
  435. // to execute the request.
  436. //
  437. // // Example sending a request using the CreateEventSubscriptionRequest method.
  438. // req, resp := client.CreateEventSubscriptionRequest(params)
  439. //
  440. // err := req.Send()
  441. // if err == nil { // resp is now filled
  442. // fmt.Println(resp)
  443. // }
  444. //
  445. func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
  446. op := &request.Operation{
  447. Name: opCreateEventSubscription,
  448. HTTPMethod: "POST",
  449. HTTPPath: "/",
  450. }
  451. if input == nil {
  452. input = &CreateEventSubscriptionInput{}
  453. }
  454. req = c.newRequest(op, input, output)
  455. output = &CreateEventSubscriptionOutput{}
  456. req.Data = output
  457. return
  458. }
  459. // Creates an Amazon Redshift event notification subscription. This action requires
  460. // an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the
  461. // Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To
  462. // obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and
  463. // subscribe to the topic. The ARN is displayed in the SNS console.
  464. //
  465. // You can specify the source type, and lists of Amazon Redshift source IDs,
  466. // event categories, and event severities. Notifications will be sent for all
  467. // events you want that match those criteria. For example, you can specify source
  468. // type = cluster, source ID = my-cluster-1 and mycluster2, event categories
  469. // = Availability, Backup, and severity = ERROR. The subscription will only
  470. // send notifications for those ERROR events in the Availability and Backup
  471. // categories for the specified clusters.
  472. //
  473. // If you specify both the source type and source IDs, such as source type
  474. // = cluster and source identifier = my-cluster-1, notifications will be sent
  475. // for all the cluster events for my-cluster-1. If you specify a source type
  476. // but do not specify a source identifier, you will receive notice of the events
  477. // for the objects of that type in your AWS account. If you do not specify either
  478. // the SourceType nor the SourceIdentifier, you will be notified of events generated
  479. // from all Amazon Redshift sources belonging to your AWS account. You must
  480. // specify a source type if you specify a source ID.
  481. func (c *Redshift) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
  482. req, out := c.CreateEventSubscriptionRequest(input)
  483. err := req.Send()
  484. return out, err
  485. }
  486. const opCreateHsmClientCertificate = "CreateHsmClientCertificate"
  487. // CreateHsmClientCertificateRequest generates a "aws/request.Request" representing the
  488. // client's request for the CreateHsmClientCertificate operation. The "output" return
  489. // value can be used to capture response data after the request's "Send" method
  490. // is called.
  491. //
  492. // Creating a request object using this method should be used when you want to inject
  493. // custom logic into the request's lifecycle using a custom handler, or if you want to
  494. // access properties on the request object before or after sending the request. If
  495. // you just want the service response, call the CreateHsmClientCertificate method directly
  496. // instead.
  497. //
  498. // Note: You must call the "Send" method on the returned request object in order
  499. // to execute the request.
  500. //
  501. // // Example sending a request using the CreateHsmClientCertificateRequest method.
  502. // req, resp := client.CreateHsmClientCertificateRequest(params)
  503. //
  504. // err := req.Send()
  505. // if err == nil { // resp is now filled
  506. // fmt.Println(resp)
  507. // }
  508. //
  509. func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCertificateInput) (req *request.Request, output *CreateHsmClientCertificateOutput) {
  510. op := &request.Operation{
  511. Name: opCreateHsmClientCertificate,
  512. HTTPMethod: "POST",
  513. HTTPPath: "/",
  514. }
  515. if input == nil {
  516. input = &CreateHsmClientCertificateInput{}
  517. }
  518. req = c.newRequest(op, input, output)
  519. output = &CreateHsmClientCertificateOutput{}
  520. req.Data = output
  521. return
  522. }
  523. // Creates an HSM client certificate that an Amazon Redshift cluster will use
  524. // to connect to the client's HSM in order to store and retrieve the keys used
  525. // to encrypt the cluster databases.
  526. //
  527. // The command returns a public key, which you must store in the HSM. In addition
  528. // to creating the HSM certificate, you must create an Amazon Redshift HSM configuration
  529. // that provides a cluster the information needed to store and use encryption
  530. // keys in the HSM. For more information, go to Hardware Security Modules (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html)
  531. // in the Amazon Redshift Cluster Management Guide.
  532. func (c *Redshift) CreateHsmClientCertificate(input *CreateHsmClientCertificateInput) (*CreateHsmClientCertificateOutput, error) {
  533. req, out := c.CreateHsmClientCertificateRequest(input)
  534. err := req.Send()
  535. return out, err
  536. }
  537. const opCreateHsmConfiguration = "CreateHsmConfiguration"
  538. // CreateHsmConfigurationRequest generates a "aws/request.Request" representing the
  539. // client's request for the CreateHsmConfiguration operation. The "output" return
  540. // value can be used to capture response data after the request's "Send" method
  541. // is called.
  542. //
  543. // Creating a request object using this method should be used when you want to inject
  544. // custom logic into the request's lifecycle using a custom handler, or if you want to
  545. // access properties on the request object before or after sending the request. If
  546. // you just want the service response, call the CreateHsmConfiguration method directly
  547. // instead.
  548. //
  549. // Note: You must call the "Send" method on the returned request object in order
  550. // to execute the request.
  551. //
  552. // // Example sending a request using the CreateHsmConfigurationRequest method.
  553. // req, resp := client.CreateHsmConfigurationRequest(params)
  554. //
  555. // err := req.Send()
  556. // if err == nil { // resp is now filled
  557. // fmt.Println(resp)
  558. // }
  559. //
  560. func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationInput) (req *request.Request, output *CreateHsmConfigurationOutput) {
  561. op := &request.Operation{
  562. Name: opCreateHsmConfiguration,
  563. HTTPMethod: "POST",
  564. HTTPPath: "/",
  565. }
  566. if input == nil {
  567. input = &CreateHsmConfigurationInput{}
  568. }
  569. req = c.newRequest(op, input, output)
  570. output = &CreateHsmConfigurationOutput{}
  571. req.Data = output
  572. return
  573. }
  574. // Creates an HSM configuration that contains the information required by an
  575. // Amazon Redshift cluster to store and use database encryption keys in a Hardware
  576. // Security Module (HSM). After creating the HSM configuration, you can specify
  577. // it as a parameter when creating a cluster. The cluster will then store its
  578. // encryption keys in the HSM.
  579. //
  580. // In addition to creating an HSM configuration, you must also create an HSM
  581. // client certificate. For more information, go to Hardware Security Modules
  582. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) in
  583. // the Amazon Redshift Cluster Management Guide.
  584. func (c *Redshift) CreateHsmConfiguration(input *CreateHsmConfigurationInput) (*CreateHsmConfigurationOutput, error) {
  585. req, out := c.CreateHsmConfigurationRequest(input)
  586. err := req.Send()
  587. return out, err
  588. }
  589. const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant"
  590. // CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the
  591. // client's request for the CreateSnapshotCopyGrant operation. The "output" return
  592. // value can be used to capture response data after the request's "Send" method
  593. // is called.
  594. //
  595. // Creating a request object using this method should be used when you want to inject
  596. // custom logic into the request's lifecycle using a custom handler, or if you want to
  597. // access properties on the request object before or after sending the request. If
  598. // you just want the service response, call the CreateSnapshotCopyGrant method directly
  599. // instead.
  600. //
  601. // Note: You must call the "Send" method on the returned request object in order
  602. // to execute the request.
  603. //
  604. // // Example sending a request using the CreateSnapshotCopyGrantRequest method.
  605. // req, resp := client.CreateSnapshotCopyGrantRequest(params)
  606. //
  607. // err := req.Send()
  608. // if err == nil { // resp is now filled
  609. // fmt.Println(resp)
  610. // }
  611. //
  612. func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrantInput) (req *request.Request, output *CreateSnapshotCopyGrantOutput) {
  613. op := &request.Operation{
  614. Name: opCreateSnapshotCopyGrant,
  615. HTTPMethod: "POST",
  616. HTTPPath: "/",
  617. }
  618. if input == nil {
  619. input = &CreateSnapshotCopyGrantInput{}
  620. }
  621. req = c.newRequest(op, input, output)
  622. output = &CreateSnapshotCopyGrantOutput{}
  623. req.Data = output
  624. return
  625. }
  626. // Creates a snapshot copy grant that permits Amazon Redshift to use a customer
  627. // master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied
  628. // snapshots in a destination region.
  629. //
  630. // For more information about managing snapshot copy grants, go to Amazon
  631. // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  632. // in the Amazon Redshift Cluster Management Guide.
  633. func (c *Redshift) CreateSnapshotCopyGrant(input *CreateSnapshotCopyGrantInput) (*CreateSnapshotCopyGrantOutput, error) {
  634. req, out := c.CreateSnapshotCopyGrantRequest(input)
  635. err := req.Send()
  636. return out, err
  637. }
  638. const opCreateTags = "CreateTags"
  639. // CreateTagsRequest generates a "aws/request.Request" representing the
  640. // client's request for the CreateTags operation. The "output" return
  641. // value can be used to capture response data after the request's "Send" method
  642. // is called.
  643. //
  644. // Creating a request object using this method should be used when you want to inject
  645. // custom logic into the request's lifecycle using a custom handler, or if you want to
  646. // access properties on the request object before or after sending the request. If
  647. // you just want the service response, call the CreateTags method directly
  648. // instead.
  649. //
  650. // Note: You must call the "Send" method on the returned request object in order
  651. // to execute the request.
  652. //
  653. // // Example sending a request using the CreateTagsRequest method.
  654. // req, resp := client.CreateTagsRequest(params)
  655. //
  656. // err := req.Send()
  657. // if err == nil { // resp is now filled
  658. // fmt.Println(resp)
  659. // }
  660. //
  661. func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  662. op := &request.Operation{
  663. Name: opCreateTags,
  664. HTTPMethod: "POST",
  665. HTTPPath: "/",
  666. }
  667. if input == nil {
  668. input = &CreateTagsInput{}
  669. }
  670. req = c.newRequest(op, input, output)
  671. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  672. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  673. output = &CreateTagsOutput{}
  674. req.Data = output
  675. return
  676. }
  677. // Adds one or more tags to a specified resource.
  678. //
  679. // A resource can have up to 10 tags. If you try to create more than 10 tags
  680. // for a resource, you will receive an error and the attempt will fail.
  681. //
  682. // If you specify a key that already exists for the resource, the value for
  683. // that key will be updated with the new value.
  684. func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  685. req, out := c.CreateTagsRequest(input)
  686. err := req.Send()
  687. return out, err
  688. }
  689. const opDeleteCluster = "DeleteCluster"
  690. // DeleteClusterRequest generates a "aws/request.Request" representing the
  691. // client's request for the DeleteCluster operation. The "output" return
  692. // value can be used to capture response data after the request's "Send" method
  693. // is called.
  694. //
  695. // Creating a request object using this method should be used when you want to inject
  696. // custom logic into the request's lifecycle using a custom handler, or if you want to
  697. // access properties on the request object before or after sending the request. If
  698. // you just want the service response, call the DeleteCluster method directly
  699. // instead.
  700. //
  701. // Note: You must call the "Send" method on the returned request object in order
  702. // to execute the request.
  703. //
  704. // // Example sending a request using the DeleteClusterRequest method.
  705. // req, resp := client.DeleteClusterRequest(params)
  706. //
  707. // err := req.Send()
  708. // if err == nil { // resp is now filled
  709. // fmt.Println(resp)
  710. // }
  711. //
  712. func (c *Redshift) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
  713. op := &request.Operation{
  714. Name: opDeleteCluster,
  715. HTTPMethod: "POST",
  716. HTTPPath: "/",
  717. }
  718. if input == nil {
  719. input = &DeleteClusterInput{}
  720. }
  721. req = c.newRequest(op, input, output)
  722. output = &DeleteClusterOutput{}
  723. req.Data = output
  724. return
  725. }
  726. // Deletes a previously provisioned cluster. A successful response from the
  727. // web service indicates that the request was received correctly. Use DescribeClusters
  728. // to monitor the status of the deletion. The delete operation cannot be canceled
  729. // or reverted once submitted. For more information about managing clusters,
  730. // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  731. // in the Amazon Redshift Cluster Management Guide .
  732. //
  733. // If you want to shut down the cluster and retain it for future use, set
  734. // SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier.
  735. // You can later restore this snapshot to resume using the cluster. If a final
  736. // cluster snapshot is requested, the status of the cluster will be "final-snapshot"
  737. // while the snapshot is being taken, then it's "deleting" once Amazon Redshift
  738. // begins deleting the cluster.
  739. //
  740. // For more information about managing clusters, go to Amazon Redshift Clusters
  741. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  742. // in the Amazon Redshift Cluster Management Guide .
  743. func (c *Redshift) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
  744. req, out := c.DeleteClusterRequest(input)
  745. err := req.Send()
  746. return out, err
  747. }
  748. const opDeleteClusterParameterGroup = "DeleteClusterParameterGroup"
  749. // DeleteClusterParameterGroupRequest generates a "aws/request.Request" representing the
  750. // client's request for the DeleteClusterParameterGroup operation. The "output" return
  751. // value can be used to capture response data after the request's "Send" method
  752. // is called.
  753. //
  754. // Creating a request object using this method should be used when you want to inject
  755. // custom logic into the request's lifecycle using a custom handler, or if you want to
  756. // access properties on the request object before or after sending the request. If
  757. // you just want the service response, call the DeleteClusterParameterGroup method directly
  758. // instead.
  759. //
  760. // Note: You must call the "Send" method on the returned request object in order
  761. // to execute the request.
  762. //
  763. // // Example sending a request using the DeleteClusterParameterGroupRequest method.
  764. // req, resp := client.DeleteClusterParameterGroupRequest(params)
  765. //
  766. // err := req.Send()
  767. // if err == nil { // resp is now filled
  768. // fmt.Println(resp)
  769. // }
  770. //
  771. func (c *Redshift) DeleteClusterParameterGroupRequest(input *DeleteClusterParameterGroupInput) (req *request.Request, output *DeleteClusterParameterGroupOutput) {
  772. op := &request.Operation{
  773. Name: opDeleteClusterParameterGroup,
  774. HTTPMethod: "POST",
  775. HTTPPath: "/",
  776. }
  777. if input == nil {
  778. input = &DeleteClusterParameterGroupInput{}
  779. }
  780. req = c.newRequest(op, input, output)
  781. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  782. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  783. output = &DeleteClusterParameterGroupOutput{}
  784. req.Data = output
  785. return
  786. }
  787. // Deletes a specified Amazon Redshift parameter group. You cannot delete a
  788. // parameter group if it is associated with a cluster.
  789. func (c *Redshift) DeleteClusterParameterGroup(input *DeleteClusterParameterGroupInput) (*DeleteClusterParameterGroupOutput, error) {
  790. req, out := c.DeleteClusterParameterGroupRequest(input)
  791. err := req.Send()
  792. return out, err
  793. }
  794. const opDeleteClusterSecurityGroup = "DeleteClusterSecurityGroup"
  795. // DeleteClusterSecurityGroupRequest generates a "aws/request.Request" representing the
  796. // client's request for the DeleteClusterSecurityGroup operation. The "output" return
  797. // value can be used to capture response data after the request's "Send" method
  798. // is called.
  799. //
  800. // Creating a request object using this method should be used when you want to inject
  801. // custom logic into the request's lifecycle using a custom handler, or if you want to
  802. // access properties on the request object before or after sending the request. If
  803. // you just want the service response, call the DeleteClusterSecurityGroup method directly
  804. // instead.
  805. //
  806. // Note: You must call the "Send" method on the returned request object in order
  807. // to execute the request.
  808. //
  809. // // Example sending a request using the DeleteClusterSecurityGroupRequest method.
  810. // req, resp := client.DeleteClusterSecurityGroupRequest(params)
  811. //
  812. // err := req.Send()
  813. // if err == nil { // resp is now filled
  814. // fmt.Println(resp)
  815. // }
  816. //
  817. func (c *Redshift) DeleteClusterSecurityGroupRequest(input *DeleteClusterSecurityGroupInput) (req *request.Request, output *DeleteClusterSecurityGroupOutput) {
  818. op := &request.Operation{
  819. Name: opDeleteClusterSecurityGroup,
  820. HTTPMethod: "POST",
  821. HTTPPath: "/",
  822. }
  823. if input == nil {
  824. input = &DeleteClusterSecurityGroupInput{}
  825. }
  826. req = c.newRequest(op, input, output)
  827. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  828. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  829. output = &DeleteClusterSecurityGroupOutput{}
  830. req.Data = output
  831. return
  832. }
  833. // Deletes an Amazon Redshift security group.
  834. //
  835. // You cannot delete a security group that is associated with any clusters.
  836. // You cannot delete the default security group. For information about managing
  837. // security groups, go to Amazon Redshift Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  838. // in the Amazon Redshift Cluster Management Guide.
  839. func (c *Redshift) DeleteClusterSecurityGroup(input *DeleteClusterSecurityGroupInput) (*DeleteClusterSecurityGroupOutput, error) {
  840. req, out := c.DeleteClusterSecurityGroupRequest(input)
  841. err := req.Send()
  842. return out, err
  843. }
  844. const opDeleteClusterSnapshot = "DeleteClusterSnapshot"
  845. // DeleteClusterSnapshotRequest generates a "aws/request.Request" representing the
  846. // client's request for the DeleteClusterSnapshot operation. The "output" return
  847. // value can be used to capture response data after the request's "Send" method
  848. // is called.
  849. //
  850. // Creating a request object using this method should be used when you want to inject
  851. // custom logic into the request's lifecycle using a custom handler, or if you want to
  852. // access properties on the request object before or after sending the request. If
  853. // you just want the service response, call the DeleteClusterSnapshot method directly
  854. // instead.
  855. //
  856. // Note: You must call the "Send" method on the returned request object in order
  857. // to execute the request.
  858. //
  859. // // Example sending a request using the DeleteClusterSnapshotRequest method.
  860. // req, resp := client.DeleteClusterSnapshotRequest(params)
  861. //
  862. // err := req.Send()
  863. // if err == nil { // resp is now filled
  864. // fmt.Println(resp)
  865. // }
  866. //
  867. func (c *Redshift) DeleteClusterSnapshotRequest(input *DeleteClusterSnapshotInput) (req *request.Request, output *DeleteClusterSnapshotOutput) {
  868. op := &request.Operation{
  869. Name: opDeleteClusterSnapshot,
  870. HTTPMethod: "POST",
  871. HTTPPath: "/",
  872. }
  873. if input == nil {
  874. input = &DeleteClusterSnapshotInput{}
  875. }
  876. req = c.newRequest(op, input, output)
  877. output = &DeleteClusterSnapshotOutput{}
  878. req.Data = output
  879. return
  880. }
  881. // Deletes the specified manual snapshot. The snapshot must be in the available
  882. // state, with no other users authorized to access the snapshot.
  883. //
  884. // Unlike automated snapshots, manual snapshots are retained even after you
  885. // delete your cluster. Amazon Redshift does not delete your manual snapshots.
  886. // You must delete manual snapshot explicitly to avoid getting charged. If other
  887. // accounts are authorized to access the snapshot, you must revoke all of the
  888. // authorizations before you can delete the snapshot.
  889. func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*DeleteClusterSnapshotOutput, error) {
  890. req, out := c.DeleteClusterSnapshotRequest(input)
  891. err := req.Send()
  892. return out, err
  893. }
  894. const opDeleteClusterSubnetGroup = "DeleteClusterSubnetGroup"
  895. // DeleteClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  896. // client's request for the DeleteClusterSubnetGroup operation. The "output" return
  897. // value can be used to capture response data after the request's "Send" method
  898. // is called.
  899. //
  900. // Creating a request object using this method should be used when you want to inject
  901. // custom logic into the request's lifecycle using a custom handler, or if you want to
  902. // access properties on the request object before or after sending the request. If
  903. // you just want the service response, call the DeleteClusterSubnetGroup method directly
  904. // instead.
  905. //
  906. // Note: You must call the "Send" method on the returned request object in order
  907. // to execute the request.
  908. //
  909. // // Example sending a request using the DeleteClusterSubnetGroupRequest method.
  910. // req, resp := client.DeleteClusterSubnetGroupRequest(params)
  911. //
  912. // err := req.Send()
  913. // if err == nil { // resp is now filled
  914. // fmt.Println(resp)
  915. // }
  916. //
  917. func (c *Redshift) DeleteClusterSubnetGroupRequest(input *DeleteClusterSubnetGroupInput) (req *request.Request, output *DeleteClusterSubnetGroupOutput) {
  918. op := &request.Operation{
  919. Name: opDeleteClusterSubnetGroup,
  920. HTTPMethod: "POST",
  921. HTTPPath: "/",
  922. }
  923. if input == nil {
  924. input = &DeleteClusterSubnetGroupInput{}
  925. }
  926. req = c.newRequest(op, input, output)
  927. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  928. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  929. output = &DeleteClusterSubnetGroupOutput{}
  930. req.Data = output
  931. return
  932. }
  933. // Deletes the specified cluster subnet group.
  934. func (c *Redshift) DeleteClusterSubnetGroup(input *DeleteClusterSubnetGroupInput) (*DeleteClusterSubnetGroupOutput, error) {
  935. req, out := c.DeleteClusterSubnetGroupRequest(input)
  936. err := req.Send()
  937. return out, err
  938. }
  939. const opDeleteEventSubscription = "DeleteEventSubscription"
  940. // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
  941. // client's request for the DeleteEventSubscription operation. The "output" return
  942. // value can be used to capture response data after the request's "Send" method
  943. // is called.
  944. //
  945. // Creating a request object using this method should be used when you want to inject
  946. // custom logic into the request's lifecycle using a custom handler, or if you want to
  947. // access properties on the request object before or after sending the request. If
  948. // you just want the service response, call the DeleteEventSubscription method directly
  949. // instead.
  950. //
  951. // Note: You must call the "Send" method on the returned request object in order
  952. // to execute the request.
  953. //
  954. // // Example sending a request using the DeleteEventSubscriptionRequest method.
  955. // req, resp := client.DeleteEventSubscriptionRequest(params)
  956. //
  957. // err := req.Send()
  958. // if err == nil { // resp is now filled
  959. // fmt.Println(resp)
  960. // }
  961. //
  962. func (c *Redshift) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
  963. op := &request.Operation{
  964. Name: opDeleteEventSubscription,
  965. HTTPMethod: "POST",
  966. HTTPPath: "/",
  967. }
  968. if input == nil {
  969. input = &DeleteEventSubscriptionInput{}
  970. }
  971. req = c.newRequest(op, input, output)
  972. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  973. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  974. output = &DeleteEventSubscriptionOutput{}
  975. req.Data = output
  976. return
  977. }
  978. // Deletes an Amazon Redshift event notification subscription.
  979. func (c *Redshift) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
  980. req, out := c.DeleteEventSubscriptionRequest(input)
  981. err := req.Send()
  982. return out, err
  983. }
  984. const opDeleteHsmClientCertificate = "DeleteHsmClientCertificate"
  985. // DeleteHsmClientCertificateRequest generates a "aws/request.Request" representing the
  986. // client's request for the DeleteHsmClientCertificate operation. The "output" return
  987. // value can be used to capture response data after the request's "Send" method
  988. // is called.
  989. //
  990. // Creating a request object using this method should be used when you want to inject
  991. // custom logic into the request's lifecycle using a custom handler, or if you want to
  992. // access properties on the request object before or after sending the request. If
  993. // you just want the service response, call the DeleteHsmClientCertificate method directly
  994. // instead.
  995. //
  996. // Note: You must call the "Send" method on the returned request object in order
  997. // to execute the request.
  998. //
  999. // // Example sending a request using the DeleteHsmClientCertificateRequest method.
  1000. // req, resp := client.DeleteHsmClientCertificateRequest(params)
  1001. //
  1002. // err := req.Send()
  1003. // if err == nil { // resp is now filled
  1004. // fmt.Println(resp)
  1005. // }
  1006. //
  1007. func (c *Redshift) DeleteHsmClientCertificateRequest(input *DeleteHsmClientCertificateInput) (req *request.Request, output *DeleteHsmClientCertificateOutput) {
  1008. op := &request.Operation{
  1009. Name: opDeleteHsmClientCertificate,
  1010. HTTPMethod: "POST",
  1011. HTTPPath: "/",
  1012. }
  1013. if input == nil {
  1014. input = &DeleteHsmClientCertificateInput{}
  1015. }
  1016. req = c.newRequest(op, input, output)
  1017. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1018. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1019. output = &DeleteHsmClientCertificateOutput{}
  1020. req.Data = output
  1021. return
  1022. }
  1023. // Deletes the specified HSM client certificate.
  1024. func (c *Redshift) DeleteHsmClientCertificate(input *DeleteHsmClientCertificateInput) (*DeleteHsmClientCertificateOutput, error) {
  1025. req, out := c.DeleteHsmClientCertificateRequest(input)
  1026. err := req.Send()
  1027. return out, err
  1028. }
  1029. const opDeleteHsmConfiguration = "DeleteHsmConfiguration"
  1030. // DeleteHsmConfigurationRequest generates a "aws/request.Request" representing the
  1031. // client's request for the DeleteHsmConfiguration operation. The "output" return
  1032. // value can be used to capture response data after the request's "Send" method
  1033. // is called.
  1034. //
  1035. // Creating a request object using this method should be used when you want to inject
  1036. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1037. // access properties on the request object before or after sending the request. If
  1038. // you just want the service response, call the DeleteHsmConfiguration method directly
  1039. // instead.
  1040. //
  1041. // Note: You must call the "Send" method on the returned request object in order
  1042. // to execute the request.
  1043. //
  1044. // // Example sending a request using the DeleteHsmConfigurationRequest method.
  1045. // req, resp := client.DeleteHsmConfigurationRequest(params)
  1046. //
  1047. // err := req.Send()
  1048. // if err == nil { // resp is now filled
  1049. // fmt.Println(resp)
  1050. // }
  1051. //
  1052. func (c *Redshift) DeleteHsmConfigurationRequest(input *DeleteHsmConfigurationInput) (req *request.Request, output *DeleteHsmConfigurationOutput) {
  1053. op := &request.Operation{
  1054. Name: opDeleteHsmConfiguration,
  1055. HTTPMethod: "POST",
  1056. HTTPPath: "/",
  1057. }
  1058. if input == nil {
  1059. input = &DeleteHsmConfigurationInput{}
  1060. }
  1061. req = c.newRequest(op, input, output)
  1062. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1063. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1064. output = &DeleteHsmConfigurationOutput{}
  1065. req.Data = output
  1066. return
  1067. }
  1068. // Deletes the specified Amazon Redshift HSM configuration.
  1069. func (c *Redshift) DeleteHsmConfiguration(input *DeleteHsmConfigurationInput) (*DeleteHsmConfigurationOutput, error) {
  1070. req, out := c.DeleteHsmConfigurationRequest(input)
  1071. err := req.Send()
  1072. return out, err
  1073. }
  1074. const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant"
  1075. // DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the
  1076. // client's request for the DeleteSnapshotCopyGrant operation. The "output" return
  1077. // value can be used to capture response data after the request's "Send" method
  1078. // is called.
  1079. //
  1080. // Creating a request object using this method should be used when you want to inject
  1081. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1082. // access properties on the request object before or after sending the request. If
  1083. // you just want the service response, call the DeleteSnapshotCopyGrant method directly
  1084. // instead.
  1085. //
  1086. // Note: You must call the "Send" method on the returned request object in order
  1087. // to execute the request.
  1088. //
  1089. // // Example sending a request using the DeleteSnapshotCopyGrantRequest method.
  1090. // req, resp := client.DeleteSnapshotCopyGrantRequest(params)
  1091. //
  1092. // err := req.Send()
  1093. // if err == nil { // resp is now filled
  1094. // fmt.Println(resp)
  1095. // }
  1096. //
  1097. func (c *Redshift) DeleteSnapshotCopyGrantRequest(input *DeleteSnapshotCopyGrantInput) (req *request.Request, output *DeleteSnapshotCopyGrantOutput) {
  1098. op := &request.Operation{
  1099. Name: opDeleteSnapshotCopyGrant,
  1100. HTTPMethod: "POST",
  1101. HTTPPath: "/",
  1102. }
  1103. if input == nil {
  1104. input = &DeleteSnapshotCopyGrantInput{}
  1105. }
  1106. req = c.newRequest(op, input, output)
  1107. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1108. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1109. output = &DeleteSnapshotCopyGrantOutput{}
  1110. req.Data = output
  1111. return
  1112. }
  1113. // Deletes the specified snapshot copy grant.
  1114. func (c *Redshift) DeleteSnapshotCopyGrant(input *DeleteSnapshotCopyGrantInput) (*DeleteSnapshotCopyGrantOutput, error) {
  1115. req, out := c.DeleteSnapshotCopyGrantRequest(input)
  1116. err := req.Send()
  1117. return out, err
  1118. }
  1119. const opDeleteTags = "DeleteTags"
  1120. // DeleteTagsRequest generates a "aws/request.Request" representing the
  1121. // client's request for the DeleteTags operation. The "output" return
  1122. // value can be used to capture response data after the request's "Send" method
  1123. // is called.
  1124. //
  1125. // Creating a request object using this method should be used when you want to inject
  1126. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1127. // access properties on the request object before or after sending the request. If
  1128. // you just want the service response, call the DeleteTags method directly
  1129. // instead.
  1130. //
  1131. // Note: You must call the "Send" method on the returned request object in order
  1132. // to execute the request.
  1133. //
  1134. // // Example sending a request using the DeleteTagsRequest method.
  1135. // req, resp := client.DeleteTagsRequest(params)
  1136. //
  1137. // err := req.Send()
  1138. // if err == nil { // resp is now filled
  1139. // fmt.Println(resp)
  1140. // }
  1141. //
  1142. func (c *Redshift) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  1143. op := &request.Operation{
  1144. Name: opDeleteTags,
  1145. HTTPMethod: "POST",
  1146. HTTPPath: "/",
  1147. }
  1148. if input == nil {
  1149. input = &DeleteTagsInput{}
  1150. }
  1151. req = c.newRequest(op, input, output)
  1152. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1153. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1154. output = &DeleteTagsOutput{}
  1155. req.Data = output
  1156. return
  1157. }
  1158. // Deletes a tag or tags from a resource. You must provide the ARN of the resource
  1159. // from which you want to delete the tag or tags.
  1160. func (c *Redshift) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  1161. req, out := c.DeleteTagsRequest(input)
  1162. err := req.Send()
  1163. return out, err
  1164. }
  1165. const opDescribeClusterParameterGroups = "DescribeClusterParameterGroups"
  1166. // DescribeClusterParameterGroupsRequest generates a "aws/request.Request" representing the
  1167. // client's request for the DescribeClusterParameterGroups operation. The "output" return
  1168. // value can be used to capture response data after the request's "Send" method
  1169. // is called.
  1170. //
  1171. // Creating a request object using this method should be used when you want to inject
  1172. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1173. // access properties on the request object before or after sending the request. If
  1174. // you just want the service response, call the DescribeClusterParameterGroups method directly
  1175. // instead.
  1176. //
  1177. // Note: You must call the "Send" method on the returned request object in order
  1178. // to execute the request.
  1179. //
  1180. // // Example sending a request using the DescribeClusterParameterGroupsRequest method.
  1181. // req, resp := client.DescribeClusterParameterGroupsRequest(params)
  1182. //
  1183. // err := req.Send()
  1184. // if err == nil { // resp is now filled
  1185. // fmt.Println(resp)
  1186. // }
  1187. //
  1188. func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterParameterGroupsInput) (req *request.Request, output *DescribeClusterParameterGroupsOutput) {
  1189. op := &request.Operation{
  1190. Name: opDescribeClusterParameterGroups,
  1191. HTTPMethod: "POST",
  1192. HTTPPath: "/",
  1193. Paginator: &request.Paginator{
  1194. InputTokens: []string{"Marker"},
  1195. OutputTokens: []string{"Marker"},
  1196. LimitToken: "MaxRecords",
  1197. TruncationToken: "",
  1198. },
  1199. }
  1200. if input == nil {
  1201. input = &DescribeClusterParameterGroupsInput{}
  1202. }
  1203. req = c.newRequest(op, input, output)
  1204. output = &DescribeClusterParameterGroupsOutput{}
  1205. req.Data = output
  1206. return
  1207. }
  1208. // Returns a list of Amazon Redshift parameter groups, including parameter groups
  1209. // you created and the default parameter group. For each parameter group, the
  1210. // response includes the parameter group name, description, and parameter group
  1211. // family name. You can optionally specify a name to retrieve the description
  1212. // of a specific parameter group.
  1213. //
  1214. // For more information about parameters and parameter groups, go to Amazon
  1215. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  1216. // in the Amazon Redshift Cluster Management Guide.
  1217. //
  1218. // If you specify both tag keys and tag values in the same request, Amazon
  1219. // Redshift returns all parameter groups that match any combination of the specified
  1220. // keys and values. For example, if you have owner and environment for tag keys,
  1221. // and admin and test for tag values, all parameter groups that have any combination
  1222. // of those values are returned.
  1223. //
  1224. // If both tag keys and values are omitted from the request, parameter groups
  1225. // are returned regardless of whether they have tag keys or values associated
  1226. // with them.
  1227. func (c *Redshift) DescribeClusterParameterGroups(input *DescribeClusterParameterGroupsInput) (*DescribeClusterParameterGroupsOutput, error) {
  1228. req, out := c.DescribeClusterParameterGroupsRequest(input)
  1229. err := req.Send()
  1230. return out, err
  1231. }
  1232. // DescribeClusterParameterGroupsPages iterates over the pages of a DescribeClusterParameterGroups operation,
  1233. // calling the "fn" function with the response data for each page. To stop
  1234. // iterating, return false from the fn function.
  1235. //
  1236. // See DescribeClusterParameterGroups method for more information on how to use this operation.
  1237. //
  1238. // Note: This operation can generate multiple requests to a service.
  1239. //
  1240. // // Example iterating over at most 3 pages of a DescribeClusterParameterGroups operation.
  1241. // pageNum := 0
  1242. // err := client.DescribeClusterParameterGroupsPages(params,
  1243. // func(page *DescribeClusterParameterGroupsOutput, lastPage bool) bool {
  1244. // pageNum++
  1245. // fmt.Println(page)
  1246. // return pageNum <= 3
  1247. // })
  1248. //
  1249. func (c *Redshift) DescribeClusterParameterGroupsPages(input *DescribeClusterParameterGroupsInput, fn func(p *DescribeClusterParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1250. page, _ := c.DescribeClusterParameterGroupsRequest(input)
  1251. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1252. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1253. return fn(p.(*DescribeClusterParameterGroupsOutput), lastPage)
  1254. })
  1255. }
  1256. const opDescribeClusterParameters = "DescribeClusterParameters"
  1257. // DescribeClusterParametersRequest generates a "aws/request.Request" representing the
  1258. // client's request for the DescribeClusterParameters operation. The "output" return
  1259. // value can be used to capture response data after the request's "Send" method
  1260. // is called.
  1261. //
  1262. // Creating a request object using this method should be used when you want to inject
  1263. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1264. // access properties on the request object before or after sending the request. If
  1265. // you just want the service response, call the DescribeClusterParameters method directly
  1266. // instead.
  1267. //
  1268. // Note: You must call the "Send" method on the returned request object in order
  1269. // to execute the request.
  1270. //
  1271. // // Example sending a request using the DescribeClusterParametersRequest method.
  1272. // req, resp := client.DescribeClusterParametersRequest(params)
  1273. //
  1274. // err := req.Send()
  1275. // if err == nil { // resp is now filled
  1276. // fmt.Println(resp)
  1277. // }
  1278. //
  1279. func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParametersInput) (req *request.Request, output *DescribeClusterParametersOutput) {
  1280. op := &request.Operation{
  1281. Name: opDescribeClusterParameters,
  1282. HTTPMethod: "POST",
  1283. HTTPPath: "/",
  1284. Paginator: &request.Paginator{
  1285. InputTokens: []string{"Marker"},
  1286. OutputTokens: []string{"Marker"},
  1287. LimitToken: "MaxRecords",
  1288. TruncationToken: "",
  1289. },
  1290. }
  1291. if input == nil {
  1292. input = &DescribeClusterParametersInput{}
  1293. }
  1294. req = c.newRequest(op, input, output)
  1295. output = &DescribeClusterParametersOutput{}
  1296. req.Data = output
  1297. return
  1298. }
  1299. // Returns a detailed list of parameters contained within the specified Amazon
  1300. // Redshift parameter group. For each parameter the response includes information
  1301. // such as parameter name, description, data type, value, whether the parameter
  1302. // value is modifiable, and so on.
  1303. //
  1304. // You can specify source filter to retrieve parameters of only specific type.
  1305. // For example, to retrieve parameters that were modified by a user action such
  1306. // as from ModifyClusterParameterGroup, you can specify source equal to user.
  1307. //
  1308. // For more information about parameters and parameter groups, go to Amazon
  1309. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  1310. // in the Amazon Redshift Cluster Management Guide.
  1311. func (c *Redshift) DescribeClusterParameters(input *DescribeClusterParametersInput) (*DescribeClusterParametersOutput, error) {
  1312. req, out := c.DescribeClusterParametersRequest(input)
  1313. err := req.Send()
  1314. return out, err
  1315. }
  1316. // DescribeClusterParametersPages iterates over the pages of a DescribeClusterParameters operation,
  1317. // calling the "fn" function with the response data for each page. To stop
  1318. // iterating, return false from the fn function.
  1319. //
  1320. // See DescribeClusterParameters method for more information on how to use this operation.
  1321. //
  1322. // Note: This operation can generate multiple requests to a service.
  1323. //
  1324. // // Example iterating over at most 3 pages of a DescribeClusterParameters operation.
  1325. // pageNum := 0
  1326. // err := client.DescribeClusterParametersPages(params,
  1327. // func(page *DescribeClusterParametersOutput, lastPage bool) bool {
  1328. // pageNum++
  1329. // fmt.Println(page)
  1330. // return pageNum <= 3
  1331. // })
  1332. //
  1333. func (c *Redshift) DescribeClusterParametersPages(input *DescribeClusterParametersInput, fn func(p *DescribeClusterParametersOutput, lastPage bool) (shouldContinue bool)) error {
  1334. page, _ := c.DescribeClusterParametersRequest(input)
  1335. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1336. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1337. return fn(p.(*DescribeClusterParametersOutput), lastPage)
  1338. })
  1339. }
  1340. const opDescribeClusterSecurityGroups = "DescribeClusterSecurityGroups"
  1341. // DescribeClusterSecurityGroupsRequest generates a "aws/request.Request" representing the
  1342. // client's request for the DescribeClusterSecurityGroups operation. The "output" return
  1343. // value can be used to capture response data after the request's "Send" method
  1344. // is called.
  1345. //
  1346. // Creating a request object using this method should be used when you want to inject
  1347. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1348. // access properties on the request object before or after sending the request. If
  1349. // you just want the service response, call the DescribeClusterSecurityGroups method directly
  1350. // instead.
  1351. //
  1352. // Note: You must call the "Send" method on the returned request object in order
  1353. // to execute the request.
  1354. //
  1355. // // Example sending a request using the DescribeClusterSecurityGroupsRequest method.
  1356. // req, resp := client.DescribeClusterSecurityGroupsRequest(params)
  1357. //
  1358. // err := req.Send()
  1359. // if err == nil { // resp is now filled
  1360. // fmt.Println(resp)
  1361. // }
  1362. //
  1363. func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSecurityGroupsInput) (req *request.Request, output *DescribeClusterSecurityGroupsOutput) {
  1364. op := &request.Operation{
  1365. Name: opDescribeClusterSecurityGroups,
  1366. HTTPMethod: "POST",
  1367. HTTPPath: "/",
  1368. Paginator: &request.Paginator{
  1369. InputTokens: []string{"Marker"},
  1370. OutputTokens: []string{"Marker"},
  1371. LimitToken: "MaxRecords",
  1372. TruncationToken: "",
  1373. },
  1374. }
  1375. if input == nil {
  1376. input = &DescribeClusterSecurityGroupsInput{}
  1377. }
  1378. req = c.newRequest(op, input, output)
  1379. output = &DescribeClusterSecurityGroupsOutput{}
  1380. req.Data = output
  1381. return
  1382. }
  1383. // Returns information about Amazon Redshift security groups. If the name of
  1384. // a security group is specified, the response will contain only information
  1385. // about only that security group.
  1386. //
  1387. // For information about managing security groups, go to Amazon Redshift Cluster
  1388. // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  1389. // in the Amazon Redshift Cluster Management Guide.
  1390. //
  1391. // If you specify both tag keys and tag values in the same request, Amazon
  1392. // Redshift returns all security groups that match any combination of the specified
  1393. // keys and values. For example, if you have owner and environment for tag keys,
  1394. // and admin and test for tag values, all security groups that have any combination
  1395. // of those values are returned.
  1396. //
  1397. // If both tag keys and values are omitted from the request, security groups
  1398. // are returned regardless of whether they have tag keys or values associated
  1399. // with them.
  1400. func (c *Redshift) DescribeClusterSecurityGroups(input *DescribeClusterSecurityGroupsInput) (*DescribeClusterSecurityGroupsOutput, error) {
  1401. req, out := c.DescribeClusterSecurityGroupsRequest(input)
  1402. err := req.Send()
  1403. return out, err
  1404. }
  1405. // DescribeClusterSecurityGroupsPages iterates over the pages of a DescribeClusterSecurityGroups operation,
  1406. // calling the "fn" function with the response data for each page. To stop
  1407. // iterating, return false from the fn function.
  1408. //
  1409. // See DescribeClusterSecurityGroups method for more information on how to use this operation.
  1410. //
  1411. // Note: This operation can generate multiple requests to a service.
  1412. //
  1413. // // Example iterating over at most 3 pages of a DescribeClusterSecurityGroups operation.
  1414. // pageNum := 0
  1415. // err := client.DescribeClusterSecurityGroupsPages(params,
  1416. // func(page *DescribeClusterSecurityGroupsOutput, lastPage bool) bool {
  1417. // pageNum++
  1418. // fmt.Println(page)
  1419. // return pageNum <= 3
  1420. // })
  1421. //
  1422. func (c *Redshift) DescribeClusterSecurityGroupsPages(input *DescribeClusterSecurityGroupsInput, fn func(p *DescribeClusterSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1423. page, _ := c.DescribeClusterSecurityGroupsRequest(input)
  1424. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1425. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1426. return fn(p.(*DescribeClusterSecurityGroupsOutput), lastPage)
  1427. })
  1428. }
  1429. const opDescribeClusterSnapshots = "DescribeClusterSnapshots"
  1430. // DescribeClusterSnapshotsRequest generates a "aws/request.Request" representing the
  1431. // client's request for the DescribeClusterSnapshots operation. The "output" return
  1432. // value can be used to capture response data after the request's "Send" method
  1433. // is called.
  1434. //
  1435. // Creating a request object using this method should be used when you want to inject
  1436. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1437. // access properties on the request object before or after sending the request. If
  1438. // you just want the service response, call the DescribeClusterSnapshots method directly
  1439. // instead.
  1440. //
  1441. // Note: You must call the "Send" method on the returned request object in order
  1442. // to execute the request.
  1443. //
  1444. // // Example sending a request using the DescribeClusterSnapshotsRequest method.
  1445. // req, resp := client.DescribeClusterSnapshotsRequest(params)
  1446. //
  1447. // err := req.Send()
  1448. // if err == nil { // resp is now filled
  1449. // fmt.Println(resp)
  1450. // }
  1451. //
  1452. func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapshotsInput) (req *request.Request, output *DescribeClusterSnapshotsOutput) {
  1453. op := &request.Operation{
  1454. Name: opDescribeClusterSnapshots,
  1455. HTTPMethod: "POST",
  1456. HTTPPath: "/",
  1457. Paginator: &request.Paginator{
  1458. InputTokens: []string{"Marker"},
  1459. OutputTokens: []string{"Marker"},
  1460. LimitToken: "MaxRecords",
  1461. TruncationToken: "",
  1462. },
  1463. }
  1464. if input == nil {
  1465. input = &DescribeClusterSnapshotsInput{}
  1466. }
  1467. req = c.newRequest(op, input, output)
  1468. output = &DescribeClusterSnapshotsOutput{}
  1469. req.Data = output
  1470. return
  1471. }
  1472. // Returns one or more snapshot objects, which contain metadata about your cluster
  1473. // snapshots. By default, this operation returns information about all snapshots
  1474. // of all clusters that are owned by you AWS customer account. No information
  1475. // is returned for snapshots owned by inactive AWS customer accounts.
  1476. //
  1477. // If you specify both tag keys and tag values in the same request, Amazon
  1478. // Redshift returns all snapshots that match any combination of the specified
  1479. // keys and values. For example, if you have owner and environment for tag keys,
  1480. // and admin and test for tag values, all snapshots that have any combination
  1481. // of those values are returned. Only snapshots that you own are returned in
  1482. // the response; shared snapshots are not returned with the tag key and tag
  1483. // value request parameters.
  1484. //
  1485. // If both tag keys and values are omitted from the request, snapshots are
  1486. // returned regardless of whether they have tag keys or values associated with
  1487. // them.
  1488. func (c *Redshift) DescribeClusterSnapshots(input *DescribeClusterSnapshotsInput) (*DescribeClusterSnapshotsOutput, error) {
  1489. req, out := c.DescribeClusterSnapshotsRequest(input)
  1490. err := req.Send()
  1491. return out, err
  1492. }
  1493. // DescribeClusterSnapshotsPages iterates over the pages of a DescribeClusterSnapshots operation,
  1494. // calling the "fn" function with the response data for each page. To stop
  1495. // iterating, return false from the fn function.
  1496. //
  1497. // See DescribeClusterSnapshots method for more information on how to use this operation.
  1498. //
  1499. // Note: This operation can generate multiple requests to a service.
  1500. //
  1501. // // Example iterating over at most 3 pages of a DescribeClusterSnapshots operation.
  1502. // pageNum := 0
  1503. // err := client.DescribeClusterSnapshotsPages(params,
  1504. // func(page *DescribeClusterSnapshotsOutput, lastPage bool) bool {
  1505. // pageNum++
  1506. // fmt.Println(page)
  1507. // return pageNum <= 3
  1508. // })
  1509. //
  1510. func (c *Redshift) DescribeClusterSnapshotsPages(input *DescribeClusterSnapshotsInput, fn func(p *DescribeClusterSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  1511. page, _ := c.DescribeClusterSnapshotsRequest(input)
  1512. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1513. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1514. return fn(p.(*DescribeClusterSnapshotsOutput), lastPage)
  1515. })
  1516. }
  1517. const opDescribeClusterSubnetGroups = "DescribeClusterSubnetGroups"
  1518. // DescribeClusterSubnetGroupsRequest generates a "aws/request.Request" representing the
  1519. // client's request for the DescribeClusterSubnetGroups operation. The "output" return
  1520. // value can be used to capture response data after the request's "Send" method
  1521. // is called.
  1522. //
  1523. // Creating a request object using this method should be used when you want to inject
  1524. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1525. // access properties on the request object before or after sending the request. If
  1526. // you just want the service response, call the DescribeClusterSubnetGroups method directly
  1527. // instead.
  1528. //
  1529. // Note: You must call the "Send" method on the returned request object in order
  1530. // to execute the request.
  1531. //
  1532. // // Example sending a request using the DescribeClusterSubnetGroupsRequest method.
  1533. // req, resp := client.DescribeClusterSubnetGroupsRequest(params)
  1534. //
  1535. // err := req.Send()
  1536. // if err == nil { // resp is now filled
  1537. // fmt.Println(resp)
  1538. // }
  1539. //
  1540. func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubnetGroupsInput) (req *request.Request, output *DescribeClusterSubnetGroupsOutput) {
  1541. op := &request.Operation{
  1542. Name: opDescribeClusterSubnetGroups,
  1543. HTTPMethod: "POST",
  1544. HTTPPath: "/",
  1545. Paginator: &request.Paginator{
  1546. InputTokens: []string{"Marker"},
  1547. OutputTokens: []string{"Marker"},
  1548. LimitToken: "MaxRecords",
  1549. TruncationToken: "",
  1550. },
  1551. }
  1552. if input == nil {
  1553. input = &DescribeClusterSubnetGroupsInput{}
  1554. }
  1555. req = c.newRequest(op, input, output)
  1556. output = &DescribeClusterSubnetGroupsOutput{}
  1557. req.Data = output
  1558. return
  1559. }
  1560. // Returns one or more cluster subnet group objects, which contain metadata
  1561. // about your cluster subnet groups. By default, this operation returns information
  1562. // about all cluster subnet groups that are defined in you AWS account.
  1563. //
  1564. // If you specify both tag keys and tag values in the same request, Amazon
  1565. // Redshift returns all subnet groups that match any combination of the specified
  1566. // keys and values. For example, if you have owner and environment for tag keys,
  1567. // and admin and test for tag values, all subnet groups that have any combination
  1568. // of those values are returned.
  1569. //
  1570. // If both tag keys and values are omitted from the request, subnet groups
  1571. // are returned regardless of whether they have tag keys or values associated
  1572. // with them.
  1573. func (c *Redshift) DescribeClusterSubnetGroups(input *DescribeClusterSubnetGroupsInput) (*DescribeClusterSubnetGroupsOutput, error) {
  1574. req, out := c.DescribeClusterSubnetGroupsRequest(input)
  1575. err := req.Send()
  1576. return out, err
  1577. }
  1578. // DescribeClusterSubnetGroupsPages iterates over the pages of a DescribeClusterSubnetGroups operation,
  1579. // calling the "fn" function with the response data for each page. To stop
  1580. // iterating, return false from the fn function.
  1581. //
  1582. // See DescribeClusterSubnetGroups method for more information on how to use this operation.
  1583. //
  1584. // Note: This operation can generate multiple requests to a service.
  1585. //
  1586. // // Example iterating over at most 3 pages of a DescribeClusterSubnetGroups operation.
  1587. // pageNum := 0
  1588. // err := client.DescribeClusterSubnetGroupsPages(params,
  1589. // func(page *DescribeClusterSubnetGroupsOutput, lastPage bool) bool {
  1590. // pageNum++
  1591. // fmt.Println(page)
  1592. // return pageNum <= 3
  1593. // })
  1594. //
  1595. func (c *Redshift) DescribeClusterSubnetGroupsPages(input *DescribeClusterSubnetGroupsInput, fn func(p *DescribeClusterSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1596. page, _ := c.DescribeClusterSubnetGroupsRequest(input)
  1597. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1598. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1599. return fn(p.(*DescribeClusterSubnetGroupsOutput), lastPage)
  1600. })
  1601. }
  1602. const opDescribeClusterVersions = "DescribeClusterVersions"
  1603. // DescribeClusterVersionsRequest generates a "aws/request.Request" representing the
  1604. // client's request for the DescribeClusterVersions operation. The "output" return
  1605. // value can be used to capture response data after the request's "Send" method
  1606. // is called.
  1607. //
  1608. // Creating a request object using this method should be used when you want to inject
  1609. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1610. // access properties on the request object before or after sending the request. If
  1611. // you just want the service response, call the DescribeClusterVersions method directly
  1612. // instead.
  1613. //
  1614. // Note: You must call the "Send" method on the returned request object in order
  1615. // to execute the request.
  1616. //
  1617. // // Example sending a request using the DescribeClusterVersionsRequest method.
  1618. // req, resp := client.DescribeClusterVersionsRequest(params)
  1619. //
  1620. // err := req.Send()
  1621. // if err == nil { // resp is now filled
  1622. // fmt.Println(resp)
  1623. // }
  1624. //
  1625. func (c *Redshift) DescribeClusterVersionsRequest(input *DescribeClusterVersionsInput) (req *request.Request, output *DescribeClusterVersionsOutput) {
  1626. op := &request.Operation{
  1627. Name: opDescribeClusterVersions,
  1628. HTTPMethod: "POST",
  1629. HTTPPath: "/",
  1630. Paginator: &request.Paginator{
  1631. InputTokens: []string{"Marker"},
  1632. OutputTokens: []string{"Marker"},
  1633. LimitToken: "MaxRecords",
  1634. TruncationToken: "",
  1635. },
  1636. }
  1637. if input == nil {
  1638. input = &DescribeClusterVersionsInput{}
  1639. }
  1640. req = c.newRequest(op, input, output)
  1641. output = &DescribeClusterVersionsOutput{}
  1642. req.Data = output
  1643. return
  1644. }
  1645. // Returns descriptions of the available Amazon Redshift cluster versions. You
  1646. // can call this operation even before creating any clusters to learn more about
  1647. // the Amazon Redshift versions. For more information about managing clusters,
  1648. // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  1649. // in the Amazon Redshift Cluster Management Guide
  1650. func (c *Redshift) DescribeClusterVersions(input *DescribeClusterVersionsInput) (*DescribeClusterVersionsOutput, error) {
  1651. req, out := c.DescribeClusterVersionsRequest(input)
  1652. err := req.Send()
  1653. return out, err
  1654. }
  1655. // DescribeClusterVersionsPages iterates over the pages of a DescribeClusterVersions operation,
  1656. // calling the "fn" function with the response data for each page. To stop
  1657. // iterating, return false from the fn function.
  1658. //
  1659. // See DescribeClusterVersions method for more information on how to use this operation.
  1660. //
  1661. // Note: This operation can generate multiple requests to a service.
  1662. //
  1663. // // Example iterating over at most 3 pages of a DescribeClusterVersions operation.
  1664. // pageNum := 0
  1665. // err := client.DescribeClusterVersionsPages(params,
  1666. // func(page *DescribeClusterVersionsOutput, lastPage bool) bool {
  1667. // pageNum++
  1668. // fmt.Println(page)
  1669. // return pageNum <= 3
  1670. // })
  1671. //
  1672. func (c *Redshift) DescribeClusterVersionsPages(input *DescribeClusterVersionsInput, fn func(p *DescribeClusterVersionsOutput, lastPage bool) (shouldContinue bool)) error {
  1673. page, _ := c.DescribeClusterVersionsRequest(input)
  1674. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1675. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1676. return fn(p.(*DescribeClusterVersionsOutput), lastPage)
  1677. })
  1678. }
  1679. const opDescribeClusters = "DescribeClusters"
  1680. // DescribeClustersRequest generates a "aws/request.Request" representing the
  1681. // client's request for the DescribeClusters operation. The "output" return
  1682. // value can be used to capture response data after the request's "Send" method
  1683. // is called.
  1684. //
  1685. // Creating a request object using this method should be used when you want to inject
  1686. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1687. // access properties on the request object before or after sending the request. If
  1688. // you just want the service response, call the DescribeClusters method directly
  1689. // instead.
  1690. //
  1691. // Note: You must call the "Send" method on the returned request object in order
  1692. // to execute the request.
  1693. //
  1694. // // Example sending a request using the DescribeClustersRequest method.
  1695. // req, resp := client.DescribeClustersRequest(params)
  1696. //
  1697. // err := req.Send()
  1698. // if err == nil { // resp is now filled
  1699. // fmt.Println(resp)
  1700. // }
  1701. //
  1702. func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
  1703. op := &request.Operation{
  1704. Name: opDescribeClusters,
  1705. HTTPMethod: "POST",
  1706. HTTPPath: "/",
  1707. Paginator: &request.Paginator{
  1708. InputTokens: []string{"Marker"},
  1709. OutputTokens: []string{"Marker"},
  1710. LimitToken: "MaxRecords",
  1711. TruncationToken: "",
  1712. },
  1713. }
  1714. if input == nil {
  1715. input = &DescribeClustersInput{}
  1716. }
  1717. req = c.newRequest(op, input, output)
  1718. output = &DescribeClustersOutput{}
  1719. req.Data = output
  1720. return
  1721. }
  1722. // Returns properties of provisioned clusters including general cluster properties,
  1723. // cluster database properties, maintenance and backup properties, and security
  1724. // and access properties. This operation supports pagination. For more information
  1725. // about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  1726. // in the Amazon Redshift Cluster Management Guide .
  1727. //
  1728. // If you specify both tag keys and tag values in the same request, Amazon
  1729. // Redshift returns all clusters that match any combination of the specified
  1730. // keys and values. For example, if you have owner and environment for tag keys,
  1731. // and admin and test for tag values, all clusters that have any combination
  1732. // of those values are returned.
  1733. //
  1734. // If both tag keys and values are omitted from the request, clusters are returned
  1735. // regardless of whether they have tag keys or values associated with them.
  1736. func (c *Redshift) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
  1737. req, out := c.DescribeClustersRequest(input)
  1738. err := req.Send()
  1739. return out, err
  1740. }
  1741. // DescribeClustersPages iterates over the pages of a DescribeClusters operation,
  1742. // calling the "fn" function with the response data for each page. To stop
  1743. // iterating, return false from the fn function.
  1744. //
  1745. // See DescribeClusters method for more information on how to use this operation.
  1746. //
  1747. // Note: This operation can generate multiple requests to a service.
  1748. //
  1749. // // Example iterating over at most 3 pages of a DescribeClusters operation.
  1750. // pageNum := 0
  1751. // err := client.DescribeClustersPages(params,
  1752. // func(page *DescribeClustersOutput, lastPage bool) bool {
  1753. // pageNum++
  1754. // fmt.Println(page)
  1755. // return pageNum <= 3
  1756. // })
  1757. //
  1758. func (c *Redshift) DescribeClustersPages(input *DescribeClustersInput, fn func(p *DescribeClustersOutput, lastPage bool) (shouldContinue bool)) error {
  1759. page, _ := c.DescribeClustersRequest(input)
  1760. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1761. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1762. return fn(p.(*DescribeClustersOutput), lastPage)
  1763. })
  1764. }
  1765. const opDescribeDefaultClusterParameters = "DescribeDefaultClusterParameters"
  1766. // DescribeDefaultClusterParametersRequest generates a "aws/request.Request" representing the
  1767. // client's request for the DescribeDefaultClusterParameters operation. The "output" return
  1768. // value can be used to capture response data after the request's "Send" method
  1769. // is called.
  1770. //
  1771. // Creating a request object using this method should be used when you want to inject
  1772. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1773. // access properties on the request object before or after sending the request. If
  1774. // you just want the service response, call the DescribeDefaultClusterParameters method directly
  1775. // instead.
  1776. //
  1777. // Note: You must call the "Send" method on the returned request object in order
  1778. // to execute the request.
  1779. //
  1780. // // Example sending a request using the DescribeDefaultClusterParametersRequest method.
  1781. // req, resp := client.DescribeDefaultClusterParametersRequest(params)
  1782. //
  1783. // err := req.Send()
  1784. // if err == nil { // resp is now filled
  1785. // fmt.Println(resp)
  1786. // }
  1787. //
  1788. func (c *Redshift) DescribeDefaultClusterParametersRequest(input *DescribeDefaultClusterParametersInput) (req *request.Request, output *DescribeDefaultClusterParametersOutput) {
  1789. op := &request.Operation{
  1790. Name: opDescribeDefaultClusterParameters,
  1791. HTTPMethod: "POST",
  1792. HTTPPath: "/",
  1793. Paginator: &request.Paginator{
  1794. InputTokens: []string{"Marker"},
  1795. OutputTokens: []string{"DefaultClusterParameters.Marker"},
  1796. LimitToken: "MaxRecords",
  1797. TruncationToken: "",
  1798. },
  1799. }
  1800. if input == nil {
  1801. input = &DescribeDefaultClusterParametersInput{}
  1802. }
  1803. req = c.newRequest(op, input, output)
  1804. output = &DescribeDefaultClusterParametersOutput{}
  1805. req.Data = output
  1806. return
  1807. }
  1808. // Returns a list of parameter settings for the specified parameter group family.
  1809. //
  1810. // For more information about parameters and parameter groups, go to Amazon
  1811. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  1812. // in the Amazon Redshift Cluster Management Guide.
  1813. func (c *Redshift) DescribeDefaultClusterParameters(input *DescribeDefaultClusterParametersInput) (*DescribeDefaultClusterParametersOutput, error) {
  1814. req, out := c.DescribeDefaultClusterParametersRequest(input)
  1815. err := req.Send()
  1816. return out, err
  1817. }
  1818. // DescribeDefaultClusterParametersPages iterates over the pages of a DescribeDefaultClusterParameters operation,
  1819. // calling the "fn" function with the response data for each page. To stop
  1820. // iterating, return false from the fn function.
  1821. //
  1822. // See DescribeDefaultClusterParameters method for more information on how to use this operation.
  1823. //
  1824. // Note: This operation can generate multiple requests to a service.
  1825. //
  1826. // // Example iterating over at most 3 pages of a DescribeDefaultClusterParameters operation.
  1827. // pageNum := 0
  1828. // err := client.DescribeDefaultClusterParametersPages(params,
  1829. // func(page *DescribeDefaultClusterParametersOutput, lastPage bool) bool {
  1830. // pageNum++
  1831. // fmt.Println(page)
  1832. // return pageNum <= 3
  1833. // })
  1834. //
  1835. func (c *Redshift) DescribeDefaultClusterParametersPages(input *DescribeDefaultClusterParametersInput, fn func(p *DescribeDefaultClusterParametersOutput, lastPage bool) (shouldContinue bool)) error {
  1836. page, _ := c.DescribeDefaultClusterParametersRequest(input)
  1837. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1838. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1839. return fn(p.(*DescribeDefaultClusterParametersOutput), lastPage)
  1840. })
  1841. }
  1842. const opDescribeEventCategories = "DescribeEventCategories"
  1843. // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
  1844. // client's request for the DescribeEventCategories operation. The "output" return
  1845. // value can be used to capture response data after the request's "Send" method
  1846. // is called.
  1847. //
  1848. // Creating a request object using this method should be used when you want to inject
  1849. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1850. // access properties on the request object before or after sending the request. If
  1851. // you just want the service response, call the DescribeEventCategories method directly
  1852. // instead.
  1853. //
  1854. // Note: You must call the "Send" method on the returned request object in order
  1855. // to execute the request.
  1856. //
  1857. // // Example sending a request using the DescribeEventCategoriesRequest method.
  1858. // req, resp := client.DescribeEventCategoriesRequest(params)
  1859. //
  1860. // err := req.Send()
  1861. // if err == nil { // resp is now filled
  1862. // fmt.Println(resp)
  1863. // }
  1864. //
  1865. func (c *Redshift) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
  1866. op := &request.Operation{
  1867. Name: opDescribeEventCategories,
  1868. HTTPMethod: "POST",
  1869. HTTPPath: "/",
  1870. }
  1871. if input == nil {
  1872. input = &DescribeEventCategoriesInput{}
  1873. }
  1874. req = c.newRequest(op, input, output)
  1875. output = &DescribeEventCategoriesOutput{}
  1876. req.Data = output
  1877. return
  1878. }
  1879. // Displays a list of event categories for all event source types, or for a
  1880. // specified source type. For a list of the event categories and source types,
  1881. // go to Amazon Redshift Event Notifications (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html).
  1882. func (c *Redshift) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
  1883. req, out := c.DescribeEventCategoriesRequest(input)
  1884. err := req.Send()
  1885. return out, err
  1886. }
  1887. const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
  1888. // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
  1889. // client's request for the DescribeEventSubscriptions operation. The "output" return
  1890. // value can be used to capture response data after the request's "Send" method
  1891. // is called.
  1892. //
  1893. // Creating a request object using this method should be used when you want to inject
  1894. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1895. // access properties on the request object before or after sending the request. If
  1896. // you just want the service response, call the DescribeEventSubscriptions method directly
  1897. // instead.
  1898. //
  1899. // Note: You must call the "Send" method on the returned request object in order
  1900. // to execute the request.
  1901. //
  1902. // // Example sending a request using the DescribeEventSubscriptionsRequest method.
  1903. // req, resp := client.DescribeEventSubscriptionsRequest(params)
  1904. //
  1905. // err := req.Send()
  1906. // if err == nil { // resp is now filled
  1907. // fmt.Println(resp)
  1908. // }
  1909. //
  1910. func (c *Redshift) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
  1911. op := &request.Operation{
  1912. Name: opDescribeEventSubscriptions,
  1913. HTTPMethod: "POST",
  1914. HTTPPath: "/",
  1915. Paginator: &request.Paginator{
  1916. InputTokens: []string{"Marker"},
  1917. OutputTokens: []string{"Marker"},
  1918. LimitToken: "MaxRecords",
  1919. TruncationToken: "",
  1920. },
  1921. }
  1922. if input == nil {
  1923. input = &DescribeEventSubscriptionsInput{}
  1924. }
  1925. req = c.newRequest(op, input, output)
  1926. output = &DescribeEventSubscriptionsOutput{}
  1927. req.Data = output
  1928. return
  1929. }
  1930. // Lists descriptions of all the Amazon Redshift event notifications subscription
  1931. // for a customer account. If you specify a subscription name, lists the description
  1932. // for that subscription.
  1933. func (c *Redshift) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
  1934. req, out := c.DescribeEventSubscriptionsRequest(input)
  1935. err := req.Send()
  1936. return out, err
  1937. }
  1938. // DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
  1939. // calling the "fn" function with the response data for each page. To stop
  1940. // iterating, return false from the fn function.
  1941. //
  1942. // See DescribeEventSubscriptions method for more information on how to use this operation.
  1943. //
  1944. // Note: This operation can generate multiple requests to a service.
  1945. //
  1946. // // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
  1947. // pageNum := 0
  1948. // err := client.DescribeEventSubscriptionsPages(params,
  1949. // func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool {
  1950. // pageNum++
  1951. // fmt.Println(page)
  1952. // return pageNum <= 3
  1953. // })
  1954. //
  1955. func (c *Redshift) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(p *DescribeEventSubscriptionsOutput, lastPage bool) (shouldContinue bool)) error {
  1956. page, _ := c.DescribeEventSubscriptionsRequest(input)
  1957. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1958. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1959. return fn(p.(*DescribeEventSubscriptionsOutput), lastPage)
  1960. })
  1961. }
  1962. const opDescribeEvents = "DescribeEvents"
  1963. // DescribeEventsRequest generates a "aws/request.Request" representing the
  1964. // client's request for the DescribeEvents operation. The "output" return
  1965. // value can be used to capture response data after the request's "Send" method
  1966. // is called.
  1967. //
  1968. // Creating a request object using this method should be used when you want to inject
  1969. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1970. // access properties on the request object before or after sending the request. If
  1971. // you just want the service response, call the DescribeEvents method directly
  1972. // instead.
  1973. //
  1974. // Note: You must call the "Send" method on the returned request object in order
  1975. // to execute the request.
  1976. //
  1977. // // Example sending a request using the DescribeEventsRequest method.
  1978. // req, resp := client.DescribeEventsRequest(params)
  1979. //
  1980. // err := req.Send()
  1981. // if err == nil { // resp is now filled
  1982. // fmt.Println(resp)
  1983. // }
  1984. //
  1985. func (c *Redshift) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  1986. op := &request.Operation{
  1987. Name: opDescribeEvents,
  1988. HTTPMethod: "POST",
  1989. HTTPPath: "/",
  1990. Paginator: &request.Paginator{
  1991. InputTokens: []string{"Marker"},
  1992. OutputTokens: []string{"Marker"},
  1993. LimitToken: "MaxRecords",
  1994. TruncationToken: "",
  1995. },
  1996. }
  1997. if input == nil {
  1998. input = &DescribeEventsInput{}
  1999. }
  2000. req = c.newRequest(op, input, output)
  2001. output = &DescribeEventsOutput{}
  2002. req.Data = output
  2003. return
  2004. }
  2005. // Returns events related to clusters, security groups, snapshots, and parameter
  2006. // groups for the past 14 days. Events specific to a particular cluster, security
  2007. // group, snapshot or parameter group can be obtained by providing the name
  2008. // as a parameter. By default, the past hour of events are returned.
  2009. func (c *Redshift) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  2010. req, out := c.DescribeEventsRequest(input)
  2011. err := req.Send()
  2012. return out, err
  2013. }
  2014. // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  2015. // calling the "fn" function with the response data for each page. To stop
  2016. // iterating, return false from the fn function.
  2017. //
  2018. // See DescribeEvents method for more information on how to use this operation.
  2019. //
  2020. // Note: This operation can generate multiple requests to a service.
  2021. //
  2022. // // Example iterating over at most 3 pages of a DescribeEvents operation.
  2023. // pageNum := 0
  2024. // err := client.DescribeEventsPages(params,
  2025. // func(page *DescribeEventsOutput, lastPage bool) bool {
  2026. // pageNum++
  2027. // fmt.Println(page)
  2028. // return pageNum <= 3
  2029. // })
  2030. //
  2031. func (c *Redshift) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error {
  2032. page, _ := c.DescribeEventsRequest(input)
  2033. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2034. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2035. return fn(p.(*DescribeEventsOutput), lastPage)
  2036. })
  2037. }
  2038. const opDescribeHsmClientCertificates = "DescribeHsmClientCertificates"
  2039. // DescribeHsmClientCertificatesRequest generates a "aws/request.Request" representing the
  2040. // client's request for the DescribeHsmClientCertificates operation. The "output" return
  2041. // value can be used to capture response data after the request's "Send" method
  2042. // is called.
  2043. //
  2044. // Creating a request object using this method should be used when you want to inject
  2045. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2046. // access properties on the request object before or after sending the request. If
  2047. // you just want the service response, call the DescribeHsmClientCertificates method directly
  2048. // instead.
  2049. //
  2050. // Note: You must call the "Send" method on the returned request object in order
  2051. // to execute the request.
  2052. //
  2053. // // Example sending a request using the DescribeHsmClientCertificatesRequest method.
  2054. // req, resp := client.DescribeHsmClientCertificatesRequest(params)
  2055. //
  2056. // err := req.Send()
  2057. // if err == nil { // resp is now filled
  2058. // fmt.Println(resp)
  2059. // }
  2060. //
  2061. func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClientCertificatesInput) (req *request.Request, output *DescribeHsmClientCertificatesOutput) {
  2062. op := &request.Operation{
  2063. Name: opDescribeHsmClientCertificates,
  2064. HTTPMethod: "POST",
  2065. HTTPPath: "/",
  2066. Paginator: &request.Paginator{
  2067. InputTokens: []string{"Marker"},
  2068. OutputTokens: []string{"Marker"},
  2069. LimitToken: "MaxRecords",
  2070. TruncationToken: "",
  2071. },
  2072. }
  2073. if input == nil {
  2074. input = &DescribeHsmClientCertificatesInput{}
  2075. }
  2076. req = c.newRequest(op, input, output)
  2077. output = &DescribeHsmClientCertificatesOutput{}
  2078. req.Data = output
  2079. return
  2080. }
  2081. // Returns information about the specified HSM client certificate. If no certificate
  2082. // ID is specified, returns information about all the HSM certificates owned
  2083. // by your AWS customer account.
  2084. //
  2085. // If you specify both tag keys and tag values in the same request, Amazon
  2086. // Redshift returns all HSM client certificates that match any combination of
  2087. // the specified keys and values. For example, if you have owner and environment
  2088. // for tag keys, and admin and test for tag values, all HSM client certificates
  2089. // that have any combination of those values are returned.
  2090. //
  2091. // If both tag keys and values are omitted from the request, HSM client certificates
  2092. // are returned regardless of whether they have tag keys or values associated
  2093. // with them.
  2094. func (c *Redshift) DescribeHsmClientCertificates(input *DescribeHsmClientCertificatesInput) (*DescribeHsmClientCertificatesOutput, error) {
  2095. req, out := c.DescribeHsmClientCertificatesRequest(input)
  2096. err := req.Send()
  2097. return out, err
  2098. }
  2099. // DescribeHsmClientCertificatesPages iterates over the pages of a DescribeHsmClientCertificates operation,
  2100. // calling the "fn" function with the response data for each page. To stop
  2101. // iterating, return false from the fn function.
  2102. //
  2103. // See DescribeHsmClientCertificates method for more information on how to use this operation.
  2104. //
  2105. // Note: This operation can generate multiple requests to a service.
  2106. //
  2107. // // Example iterating over at most 3 pages of a DescribeHsmClientCertificates operation.
  2108. // pageNum := 0
  2109. // err := client.DescribeHsmClientCertificatesPages(params,
  2110. // func(page *DescribeHsmClientCertificatesOutput, lastPage bool) bool {
  2111. // pageNum++
  2112. // fmt.Println(page)
  2113. // return pageNum <= 3
  2114. // })
  2115. //
  2116. func (c *Redshift) DescribeHsmClientCertificatesPages(input *DescribeHsmClientCertificatesInput, fn func(p *DescribeHsmClientCertificatesOutput, lastPage bool) (shouldContinue bool)) error {
  2117. page, _ := c.DescribeHsmClientCertificatesRequest(input)
  2118. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2119. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2120. return fn(p.(*DescribeHsmClientCertificatesOutput), lastPage)
  2121. })
  2122. }
  2123. const opDescribeHsmConfigurations = "DescribeHsmConfigurations"
  2124. // DescribeHsmConfigurationsRequest generates a "aws/request.Request" representing the
  2125. // client's request for the DescribeHsmConfigurations operation. The "output" return
  2126. // value can be used to capture response data after the request's "Send" method
  2127. // is called.
  2128. //
  2129. // Creating a request object using this method should be used when you want to inject
  2130. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2131. // access properties on the request object before or after sending the request. If
  2132. // you just want the service response, call the DescribeHsmConfigurations method directly
  2133. // instead.
  2134. //
  2135. // Note: You must call the "Send" method on the returned request object in order
  2136. // to execute the request.
  2137. //
  2138. // // Example sending a request using the DescribeHsmConfigurationsRequest method.
  2139. // req, resp := client.DescribeHsmConfigurationsRequest(params)
  2140. //
  2141. // err := req.Send()
  2142. // if err == nil { // resp is now filled
  2143. // fmt.Println(resp)
  2144. // }
  2145. //
  2146. func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurationsInput) (req *request.Request, output *DescribeHsmConfigurationsOutput) {
  2147. op := &request.Operation{
  2148. Name: opDescribeHsmConfigurations,
  2149. HTTPMethod: "POST",
  2150. HTTPPath: "/",
  2151. Paginator: &request.Paginator{
  2152. InputTokens: []string{"Marker"},
  2153. OutputTokens: []string{"Marker"},
  2154. LimitToken: "MaxRecords",
  2155. TruncationToken: "",
  2156. },
  2157. }
  2158. if input == nil {
  2159. input = &DescribeHsmConfigurationsInput{}
  2160. }
  2161. req = c.newRequest(op, input, output)
  2162. output = &DescribeHsmConfigurationsOutput{}
  2163. req.Data = output
  2164. return
  2165. }
  2166. // Returns information about the specified Amazon Redshift HSM configuration.
  2167. // If no configuration ID is specified, returns information about all the HSM
  2168. // configurations owned by your AWS customer account.
  2169. //
  2170. // If you specify both tag keys and tag values in the same request, Amazon
  2171. // Redshift returns all HSM connections that match any combination of the specified
  2172. // keys and values. For example, if you have owner and environment for tag keys,
  2173. // and admin and test for tag values, all HSM connections that have any combination
  2174. // of those values are returned.
  2175. //
  2176. // If both tag keys and values are omitted from the request, HSM connections
  2177. // are returned regardless of whether they have tag keys or values associated
  2178. // with them.
  2179. func (c *Redshift) DescribeHsmConfigurations(input *DescribeHsmConfigurationsInput) (*DescribeHsmConfigurationsOutput, error) {
  2180. req, out := c.DescribeHsmConfigurationsRequest(input)
  2181. err := req.Send()
  2182. return out, err
  2183. }
  2184. // DescribeHsmConfigurationsPages iterates over the pages of a DescribeHsmConfigurations operation,
  2185. // calling the "fn" function with the response data for each page. To stop
  2186. // iterating, return false from the fn function.
  2187. //
  2188. // See DescribeHsmConfigurations method for more information on how to use this operation.
  2189. //
  2190. // Note: This operation can generate multiple requests to a service.
  2191. //
  2192. // // Example iterating over at most 3 pages of a DescribeHsmConfigurations operation.
  2193. // pageNum := 0
  2194. // err := client.DescribeHsmConfigurationsPages(params,
  2195. // func(page *DescribeHsmConfigurationsOutput, lastPage bool) bool {
  2196. // pageNum++
  2197. // fmt.Println(page)
  2198. // return pageNum <= 3
  2199. // })
  2200. //
  2201. func (c *Redshift) DescribeHsmConfigurationsPages(input *DescribeHsmConfigurationsInput, fn func(p *DescribeHsmConfigurationsOutput, lastPage bool) (shouldContinue bool)) error {
  2202. page, _ := c.DescribeHsmConfigurationsRequest(input)
  2203. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2204. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2205. return fn(p.(*DescribeHsmConfigurationsOutput), lastPage)
  2206. })
  2207. }
  2208. const opDescribeLoggingStatus = "DescribeLoggingStatus"
  2209. // DescribeLoggingStatusRequest generates a "aws/request.Request" representing the
  2210. // client's request for the DescribeLoggingStatus operation. The "output" return
  2211. // value can be used to capture response data after the request's "Send" method
  2212. // is called.
  2213. //
  2214. // Creating a request object using this method should be used when you want to inject
  2215. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2216. // access properties on the request object before or after sending the request. If
  2217. // you just want the service response, call the DescribeLoggingStatus method directly
  2218. // instead.
  2219. //
  2220. // Note: You must call the "Send" method on the returned request object in order
  2221. // to execute the request.
  2222. //
  2223. // // Example sending a request using the DescribeLoggingStatusRequest method.
  2224. // req, resp := client.DescribeLoggingStatusRequest(params)
  2225. //
  2226. // err := req.Send()
  2227. // if err == nil { // resp is now filled
  2228. // fmt.Println(resp)
  2229. // }
  2230. //
  2231. func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInput) (req *request.Request, output *LoggingStatus) {
  2232. op := &request.Operation{
  2233. Name: opDescribeLoggingStatus,
  2234. HTTPMethod: "POST",
  2235. HTTPPath: "/",
  2236. }
  2237. if input == nil {
  2238. input = &DescribeLoggingStatusInput{}
  2239. }
  2240. req = c.newRequest(op, input, output)
  2241. output = &LoggingStatus{}
  2242. req.Data = output
  2243. return
  2244. }
  2245. // Describes whether information, such as queries and connection attempts, is
  2246. // being logged for the specified Amazon Redshift cluster.
  2247. func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*LoggingStatus, error) {
  2248. req, out := c.DescribeLoggingStatusRequest(input)
  2249. err := req.Send()
  2250. return out, err
  2251. }
  2252. const opDescribeOrderableClusterOptions = "DescribeOrderableClusterOptions"
  2253. // DescribeOrderableClusterOptionsRequest generates a "aws/request.Request" representing the
  2254. // client's request for the DescribeOrderableClusterOptions operation. The "output" return
  2255. // value can be used to capture response data after the request's "Send" method
  2256. // is called.
  2257. //
  2258. // Creating a request object using this method should be used when you want to inject
  2259. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2260. // access properties on the request object before or after sending the request. If
  2261. // you just want the service response, call the DescribeOrderableClusterOptions method directly
  2262. // instead.
  2263. //
  2264. // Note: You must call the "Send" method on the returned request object in order
  2265. // to execute the request.
  2266. //
  2267. // // Example sending a request using the DescribeOrderableClusterOptionsRequest method.
  2268. // req, resp := client.DescribeOrderableClusterOptionsRequest(params)
  2269. //
  2270. // err := req.Send()
  2271. // if err == nil { // resp is now filled
  2272. // fmt.Println(resp)
  2273. // }
  2274. //
  2275. func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderableClusterOptionsInput) (req *request.Request, output *DescribeOrderableClusterOptionsOutput) {
  2276. op := &request.Operation{
  2277. Name: opDescribeOrderableClusterOptions,
  2278. HTTPMethod: "POST",
  2279. HTTPPath: "/",
  2280. Paginator: &request.Paginator{
  2281. InputTokens: []string{"Marker"},
  2282. OutputTokens: []string{"Marker"},
  2283. LimitToken: "MaxRecords",
  2284. TruncationToken: "",
  2285. },
  2286. }
  2287. if input == nil {
  2288. input = &DescribeOrderableClusterOptionsInput{}
  2289. }
  2290. req = c.newRequest(op, input, output)
  2291. output = &DescribeOrderableClusterOptionsOutput{}
  2292. req.Data = output
  2293. return
  2294. }
  2295. // Returns a list of orderable cluster options. Before you create a new cluster
  2296. // you can use this operation to find what options are available, such as the
  2297. // EC2 Availability Zones (AZ) in the specific AWS region that you can specify,
  2298. // and the node types you can request. The node types differ by available storage,
  2299. // memory, CPU and price. With the cost involved you might want to obtain a
  2300. // list of cluster options in the specific region and specify values when creating
  2301. // a cluster. For more information about managing clusters, go to Amazon Redshift
  2302. // Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  2303. // in the Amazon Redshift Cluster Management Guide
  2304. func (c *Redshift) DescribeOrderableClusterOptions(input *DescribeOrderableClusterOptionsInput) (*DescribeOrderableClusterOptionsOutput, error) {
  2305. req, out := c.DescribeOrderableClusterOptionsRequest(input)
  2306. err := req.Send()
  2307. return out, err
  2308. }
  2309. // DescribeOrderableClusterOptionsPages iterates over the pages of a DescribeOrderableClusterOptions operation,
  2310. // calling the "fn" function with the response data for each page. To stop
  2311. // iterating, return false from the fn function.
  2312. //
  2313. // See DescribeOrderableClusterOptions method for more information on how to use this operation.
  2314. //
  2315. // Note: This operation can generate multiple requests to a service.
  2316. //
  2317. // // Example iterating over at most 3 pages of a DescribeOrderableClusterOptions operation.
  2318. // pageNum := 0
  2319. // err := client.DescribeOrderableClusterOptionsPages(params,
  2320. // func(page *DescribeOrderableClusterOptionsOutput, lastPage bool) bool {
  2321. // pageNum++
  2322. // fmt.Println(page)
  2323. // return pageNum <= 3
  2324. // })
  2325. //
  2326. func (c *Redshift) DescribeOrderableClusterOptionsPages(input *DescribeOrderableClusterOptionsInput, fn func(p *DescribeOrderableClusterOptionsOutput, lastPage bool) (shouldContinue bool)) error {
  2327. page, _ := c.DescribeOrderableClusterOptionsRequest(input)
  2328. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2329. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2330. return fn(p.(*DescribeOrderableClusterOptionsOutput), lastPage)
  2331. })
  2332. }
  2333. const opDescribeReservedNodeOfferings = "DescribeReservedNodeOfferings"
  2334. // DescribeReservedNodeOfferingsRequest generates a "aws/request.Request" representing the
  2335. // client's request for the DescribeReservedNodeOfferings operation. The "output" return
  2336. // value can be used to capture response data after the request's "Send" method
  2337. // is called.
  2338. //
  2339. // Creating a request object using this method should be used when you want to inject
  2340. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2341. // access properties on the request object before or after sending the request. If
  2342. // you just want the service response, call the DescribeReservedNodeOfferings method directly
  2343. // instead.
  2344. //
  2345. // Note: You must call the "Send" method on the returned request object in order
  2346. // to execute the request.
  2347. //
  2348. // // Example sending a request using the DescribeReservedNodeOfferingsRequest method.
  2349. // req, resp := client.DescribeReservedNodeOfferingsRequest(params)
  2350. //
  2351. // err := req.Send()
  2352. // if err == nil { // resp is now filled
  2353. // fmt.Println(resp)
  2354. // }
  2355. //
  2356. func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedNodeOfferingsInput) (req *request.Request, output *DescribeReservedNodeOfferingsOutput) {
  2357. op := &request.Operation{
  2358. Name: opDescribeReservedNodeOfferings,
  2359. HTTPMethod: "POST",
  2360. HTTPPath: "/",
  2361. Paginator: &request.Paginator{
  2362. InputTokens: []string{"Marker"},
  2363. OutputTokens: []string{"Marker"},
  2364. LimitToken: "MaxRecords",
  2365. TruncationToken: "",
  2366. },
  2367. }
  2368. if input == nil {
  2369. input = &DescribeReservedNodeOfferingsInput{}
  2370. }
  2371. req = c.newRequest(op, input, output)
  2372. output = &DescribeReservedNodeOfferingsOutput{}
  2373. req.Data = output
  2374. return
  2375. }
  2376. // Returns a list of the available reserved node offerings by Amazon Redshift
  2377. // with their descriptions including the node type, the fixed and recurring
  2378. // costs of reserving the node and duration the node will be reserved for you.
  2379. // These descriptions help you determine which reserve node offering you want
  2380. // to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering
  2381. // to reserve one or more nodes for your Amazon Redshift cluster.
  2382. //
  2383. // For more information about reserved node offerings, go to Purchasing Reserved
  2384. // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
  2385. // in the Amazon Redshift Cluster Management Guide.
  2386. func (c *Redshift) DescribeReservedNodeOfferings(input *DescribeReservedNodeOfferingsInput) (*DescribeReservedNodeOfferingsOutput, error) {
  2387. req, out := c.DescribeReservedNodeOfferingsRequest(input)
  2388. err := req.Send()
  2389. return out, err
  2390. }
  2391. // DescribeReservedNodeOfferingsPages iterates over the pages of a DescribeReservedNodeOfferings operation,
  2392. // calling the "fn" function with the response data for each page. To stop
  2393. // iterating, return false from the fn function.
  2394. //
  2395. // See DescribeReservedNodeOfferings method for more information on how to use this operation.
  2396. //
  2397. // Note: This operation can generate multiple requests to a service.
  2398. //
  2399. // // Example iterating over at most 3 pages of a DescribeReservedNodeOfferings operation.
  2400. // pageNum := 0
  2401. // err := client.DescribeReservedNodeOfferingsPages(params,
  2402. // func(page *DescribeReservedNodeOfferingsOutput, lastPage bool) bool {
  2403. // pageNum++
  2404. // fmt.Println(page)
  2405. // return pageNum <= 3
  2406. // })
  2407. //
  2408. func (c *Redshift) DescribeReservedNodeOfferingsPages(input *DescribeReservedNodeOfferingsInput, fn func(p *DescribeReservedNodeOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  2409. page, _ := c.DescribeReservedNodeOfferingsRequest(input)
  2410. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2411. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2412. return fn(p.(*DescribeReservedNodeOfferingsOutput), lastPage)
  2413. })
  2414. }
  2415. const opDescribeReservedNodes = "DescribeReservedNodes"
  2416. // DescribeReservedNodesRequest generates a "aws/request.Request" representing the
  2417. // client's request for the DescribeReservedNodes operation. The "output" return
  2418. // value can be used to capture response data after the request's "Send" method
  2419. // is called.
  2420. //
  2421. // Creating a request object using this method should be used when you want to inject
  2422. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2423. // access properties on the request object before or after sending the request. If
  2424. // you just want the service response, call the DescribeReservedNodes method directly
  2425. // instead.
  2426. //
  2427. // Note: You must call the "Send" method on the returned request object in order
  2428. // to execute the request.
  2429. //
  2430. // // Example sending a request using the DescribeReservedNodesRequest method.
  2431. // req, resp := client.DescribeReservedNodesRequest(params)
  2432. //
  2433. // err := req.Send()
  2434. // if err == nil { // resp is now filled
  2435. // fmt.Println(resp)
  2436. // }
  2437. //
  2438. func (c *Redshift) DescribeReservedNodesRequest(input *DescribeReservedNodesInput) (req *request.Request, output *DescribeReservedNodesOutput) {
  2439. op := &request.Operation{
  2440. Name: opDescribeReservedNodes,
  2441. HTTPMethod: "POST",
  2442. HTTPPath: "/",
  2443. Paginator: &request.Paginator{
  2444. InputTokens: []string{"Marker"},
  2445. OutputTokens: []string{"Marker"},
  2446. LimitToken: "MaxRecords",
  2447. TruncationToken: "",
  2448. },
  2449. }
  2450. if input == nil {
  2451. input = &DescribeReservedNodesInput{}
  2452. }
  2453. req = c.newRequest(op, input, output)
  2454. output = &DescribeReservedNodesOutput{}
  2455. req.Data = output
  2456. return
  2457. }
  2458. // Returns the descriptions of the reserved nodes.
  2459. func (c *Redshift) DescribeReservedNodes(input *DescribeReservedNodesInput) (*DescribeReservedNodesOutput, error) {
  2460. req, out := c.DescribeReservedNodesRequest(input)
  2461. err := req.Send()
  2462. return out, err
  2463. }
  2464. // DescribeReservedNodesPages iterates over the pages of a DescribeReservedNodes operation,
  2465. // calling the "fn" function with the response data for each page. To stop
  2466. // iterating, return false from the fn function.
  2467. //
  2468. // See DescribeReservedNodes method for more information on how to use this operation.
  2469. //
  2470. // Note: This operation can generate multiple requests to a service.
  2471. //
  2472. // // Example iterating over at most 3 pages of a DescribeReservedNodes operation.
  2473. // pageNum := 0
  2474. // err := client.DescribeReservedNodesPages(params,
  2475. // func(page *DescribeReservedNodesOutput, lastPage bool) bool {
  2476. // pageNum++
  2477. // fmt.Println(page)
  2478. // return pageNum <= 3
  2479. // })
  2480. //
  2481. func (c *Redshift) DescribeReservedNodesPages(input *DescribeReservedNodesInput, fn func(p *DescribeReservedNodesOutput, lastPage bool) (shouldContinue bool)) error {
  2482. page, _ := c.DescribeReservedNodesRequest(input)
  2483. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  2484. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2485. return fn(p.(*DescribeReservedNodesOutput), lastPage)
  2486. })
  2487. }
  2488. const opDescribeResize = "DescribeResize"
  2489. // DescribeResizeRequest generates a "aws/request.Request" representing the
  2490. // client's request for the DescribeResize operation. The "output" return
  2491. // value can be used to capture response data after the request's "Send" method
  2492. // is called.
  2493. //
  2494. // Creating a request object using this method should be used when you want to inject
  2495. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2496. // access properties on the request object before or after sending the request. If
  2497. // you just want the service response, call the DescribeResize method directly
  2498. // instead.
  2499. //
  2500. // Note: You must call the "Send" method on the returned request object in order
  2501. // to execute the request.
  2502. //
  2503. // // Example sending a request using the DescribeResizeRequest method.
  2504. // req, resp := client.DescribeResizeRequest(params)
  2505. //
  2506. // err := req.Send()
  2507. // if err == nil { // resp is now filled
  2508. // fmt.Println(resp)
  2509. // }
  2510. //
  2511. func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *request.Request, output *DescribeResizeOutput) {
  2512. op := &request.Operation{
  2513. Name: opDescribeResize,
  2514. HTTPMethod: "POST",
  2515. HTTPPath: "/",
  2516. }
  2517. if input == nil {
  2518. input = &DescribeResizeInput{}
  2519. }
  2520. req = c.newRequest(op, input, output)
  2521. output = &DescribeResizeOutput{}
  2522. req.Data = output
  2523. return
  2524. }
  2525. // Returns information about the last resize operation for the specified cluster.
  2526. // If no resize operation has ever been initiated for the specified cluster,
  2527. // a HTTP 404 error is returned. If a resize operation was initiated and completed,
  2528. // the status of the resize remains as SUCCEEDED until the next resize.
  2529. //
  2530. // A resize operation can be requested using ModifyCluster and specifying
  2531. // a different number or type of nodes for the cluster.
  2532. func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOutput, error) {
  2533. req, out := c.DescribeResizeRequest(input)
  2534. err := req.Send()
  2535. return out, err
  2536. }
  2537. const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants"
  2538. // DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the
  2539. // client's request for the DescribeSnapshotCopyGrants operation. The "output" return
  2540. // value can be used to capture response data after the request's "Send" method
  2541. // is called.
  2542. //
  2543. // Creating a request object using this method should be used when you want to inject
  2544. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2545. // access properties on the request object before or after sending the request. If
  2546. // you just want the service response, call the DescribeSnapshotCopyGrants method directly
  2547. // instead.
  2548. //
  2549. // Note: You must call the "Send" method on the returned request object in order
  2550. // to execute the request.
  2551. //
  2552. // // Example sending a request using the DescribeSnapshotCopyGrantsRequest method.
  2553. // req, resp := client.DescribeSnapshotCopyGrantsRequest(params)
  2554. //
  2555. // err := req.Send()
  2556. // if err == nil { // resp is now filled
  2557. // fmt.Println(resp)
  2558. // }
  2559. //
  2560. func (c *Redshift) DescribeSnapshotCopyGrantsRequest(input *DescribeSnapshotCopyGrantsInput) (req *request.Request, output *DescribeSnapshotCopyGrantsOutput) {
  2561. op := &request.Operation{
  2562. Name: opDescribeSnapshotCopyGrants,
  2563. HTTPMethod: "POST",
  2564. HTTPPath: "/",
  2565. }
  2566. if input == nil {
  2567. input = &DescribeSnapshotCopyGrantsInput{}
  2568. }
  2569. req = c.newRequest(op, input, output)
  2570. output = &DescribeSnapshotCopyGrantsOutput{}
  2571. req.Data = output
  2572. return
  2573. }
  2574. // Returns a list of snapshot copy grants owned by the AWS account in the destination
  2575. // region.
  2576. //
  2577. // For more information about managing snapshot copy grants, go to Amazon
  2578. // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  2579. // in the Amazon Redshift Cluster Management Guide.
  2580. func (c *Redshift) DescribeSnapshotCopyGrants(input *DescribeSnapshotCopyGrantsInput) (*DescribeSnapshotCopyGrantsOutput, error) {
  2581. req, out := c.DescribeSnapshotCopyGrantsRequest(input)
  2582. err := req.Send()
  2583. return out, err
  2584. }
  2585. const opDescribeTableRestoreStatus = "DescribeTableRestoreStatus"
  2586. // DescribeTableRestoreStatusRequest generates a "aws/request.Request" representing the
  2587. // client's request for the DescribeTableRestoreStatus operation. The "output" return
  2588. // value can be used to capture response data after the request's "Send" method
  2589. // is called.
  2590. //
  2591. // Creating a request object using this method should be used when you want to inject
  2592. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2593. // access properties on the request object before or after sending the request. If
  2594. // you just want the service response, call the DescribeTableRestoreStatus method directly
  2595. // instead.
  2596. //
  2597. // Note: You must call the "Send" method on the returned request object in order
  2598. // to execute the request.
  2599. //
  2600. // // Example sending a request using the DescribeTableRestoreStatusRequest method.
  2601. // req, resp := client.DescribeTableRestoreStatusRequest(params)
  2602. //
  2603. // err := req.Send()
  2604. // if err == nil { // resp is now filled
  2605. // fmt.Println(resp)
  2606. // }
  2607. //
  2608. func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestoreStatusInput) (req *request.Request, output *DescribeTableRestoreStatusOutput) {
  2609. op := &request.Operation{
  2610. Name: opDescribeTableRestoreStatus,
  2611. HTTPMethod: "POST",
  2612. HTTPPath: "/",
  2613. }
  2614. if input == nil {
  2615. input = &DescribeTableRestoreStatusInput{}
  2616. }
  2617. req = c.newRequest(op, input, output)
  2618. output = &DescribeTableRestoreStatusOutput{}
  2619. req.Data = output
  2620. return
  2621. }
  2622. // Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot
  2623. // API action. If you don't specify a value for the TableRestoreRequestId parameter,
  2624. // then DescribeTableRestoreStatus returns the status of all table restore requests
  2625. // ordered by the date and time of the request in ascending order. Otherwise
  2626. // DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId.
  2627. func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusInput) (*DescribeTableRestoreStatusOutput, error) {
  2628. req, out := c.DescribeTableRestoreStatusRequest(input)
  2629. err := req.Send()
  2630. return out, err
  2631. }
  2632. const opDescribeTags = "DescribeTags"
  2633. // DescribeTagsRequest generates a "aws/request.Request" representing the
  2634. // client's request for the DescribeTags operation. The "output" return
  2635. // value can be used to capture response data after the request's "Send" method
  2636. // is called.
  2637. //
  2638. // Creating a request object using this method should be used when you want to inject
  2639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2640. // access properties on the request object before or after sending the request. If
  2641. // you just want the service response, call the DescribeTags method directly
  2642. // instead.
  2643. //
  2644. // Note: You must call the "Send" method on the returned request object in order
  2645. // to execute the request.
  2646. //
  2647. // // Example sending a request using the DescribeTagsRequest method.
  2648. // req, resp := client.DescribeTagsRequest(params)
  2649. //
  2650. // err := req.Send()
  2651. // if err == nil { // resp is now filled
  2652. // fmt.Println(resp)
  2653. // }
  2654. //
  2655. func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  2656. op := &request.Operation{
  2657. Name: opDescribeTags,
  2658. HTTPMethod: "POST",
  2659. HTTPPath: "/",
  2660. }
  2661. if input == nil {
  2662. input = &DescribeTagsInput{}
  2663. }
  2664. req = c.newRequest(op, input, output)
  2665. output = &DescribeTagsOutput{}
  2666. req.Data = output
  2667. return
  2668. }
  2669. // Returns a list of tags. You can return tags from a specific resource by specifying
  2670. // an ARN, or you can return all tags for a given type of resource, such as
  2671. // clusters, snapshots, and so on.
  2672. //
  2673. // The following are limitations for DescribeTags: You cannot specify an
  2674. // ARN and a resource-type value together in the same request. You cannot use
  2675. // the MaxRecords and Marker parameters together with the ARN parameter. The
  2676. // MaxRecords parameter can be a range from 10 to 50 results to return in a
  2677. // request.
  2678. //
  2679. // If you specify both tag keys and tag values in the same request, Amazon
  2680. // Redshift returns all resources that match any combination of the specified
  2681. // keys and values. For example, if you have owner and environment for tag keys,
  2682. // and admin and test for tag values, all resources that have any combination
  2683. // of those values are returned.
  2684. //
  2685. // If both tag keys and values are omitted from the request, resources are
  2686. // returned regardless of whether they have tag keys or values associated with
  2687. // them.
  2688. func (c *Redshift) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  2689. req, out := c.DescribeTagsRequest(input)
  2690. err := req.Send()
  2691. return out, err
  2692. }
  2693. const opDisableLogging = "DisableLogging"
  2694. // DisableLoggingRequest generates a "aws/request.Request" representing the
  2695. // client's request for the DisableLogging operation. The "output" return
  2696. // value can be used to capture response data after the request's "Send" method
  2697. // is called.
  2698. //
  2699. // Creating a request object using this method should be used when you want to inject
  2700. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2701. // access properties on the request object before or after sending the request. If
  2702. // you just want the service response, call the DisableLogging method directly
  2703. // instead.
  2704. //
  2705. // Note: You must call the "Send" method on the returned request object in order
  2706. // to execute the request.
  2707. //
  2708. // // Example sending a request using the DisableLoggingRequest method.
  2709. // req, resp := client.DisableLoggingRequest(params)
  2710. //
  2711. // err := req.Send()
  2712. // if err == nil { // resp is now filled
  2713. // fmt.Println(resp)
  2714. // }
  2715. //
  2716. func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *request.Request, output *LoggingStatus) {
  2717. op := &request.Operation{
  2718. Name: opDisableLogging,
  2719. HTTPMethod: "POST",
  2720. HTTPPath: "/",
  2721. }
  2722. if input == nil {
  2723. input = &DisableLoggingInput{}
  2724. }
  2725. req = c.newRequest(op, input, output)
  2726. output = &LoggingStatus{}
  2727. req.Data = output
  2728. return
  2729. }
  2730. // Stops logging information, such as queries and connection attempts, for the
  2731. // specified Amazon Redshift cluster.
  2732. func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, error) {
  2733. req, out := c.DisableLoggingRequest(input)
  2734. err := req.Send()
  2735. return out, err
  2736. }
  2737. const opDisableSnapshotCopy = "DisableSnapshotCopy"
  2738. // DisableSnapshotCopyRequest generates a "aws/request.Request" representing the
  2739. // client's request for the DisableSnapshotCopy operation. The "output" return
  2740. // value can be used to capture response data after the request's "Send" method
  2741. // is called.
  2742. //
  2743. // Creating a request object using this method should be used when you want to inject
  2744. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2745. // access properties on the request object before or after sending the request. If
  2746. // you just want the service response, call the DisableSnapshotCopy method directly
  2747. // instead.
  2748. //
  2749. // Note: You must call the "Send" method on the returned request object in order
  2750. // to execute the request.
  2751. //
  2752. // // Example sending a request using the DisableSnapshotCopyRequest method.
  2753. // req, resp := client.DisableSnapshotCopyRequest(params)
  2754. //
  2755. // err := req.Send()
  2756. // if err == nil { // resp is now filled
  2757. // fmt.Println(resp)
  2758. // }
  2759. //
  2760. func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) (req *request.Request, output *DisableSnapshotCopyOutput) {
  2761. op := &request.Operation{
  2762. Name: opDisableSnapshotCopy,
  2763. HTTPMethod: "POST",
  2764. HTTPPath: "/",
  2765. }
  2766. if input == nil {
  2767. input = &DisableSnapshotCopyInput{}
  2768. }
  2769. req = c.newRequest(op, input, output)
  2770. output = &DisableSnapshotCopyOutput{}
  2771. req.Data = output
  2772. return
  2773. }
  2774. // Disables the automatic copying of snapshots from one region to another region
  2775. // for a specified cluster.
  2776. //
  2777. // If your cluster and its snapshots are encrypted using a customer master
  2778. // key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that
  2779. // grants Amazon Redshift permission to the CMK in the destination region.
  2780. func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*DisableSnapshotCopyOutput, error) {
  2781. req, out := c.DisableSnapshotCopyRequest(input)
  2782. err := req.Send()
  2783. return out, err
  2784. }
  2785. const opEnableLogging = "EnableLogging"
  2786. // EnableLoggingRequest generates a "aws/request.Request" representing the
  2787. // client's request for the EnableLogging operation. The "output" return
  2788. // value can be used to capture response data after the request's "Send" method
  2789. // is called.
  2790. //
  2791. // Creating a request object using this method should be used when you want to inject
  2792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2793. // access properties on the request object before or after sending the request. If
  2794. // you just want the service response, call the EnableLogging method directly
  2795. // instead.
  2796. //
  2797. // Note: You must call the "Send" method on the returned request object in order
  2798. // to execute the request.
  2799. //
  2800. // // Example sending a request using the EnableLoggingRequest method.
  2801. // req, resp := client.EnableLoggingRequest(params)
  2802. //
  2803. // err := req.Send()
  2804. // if err == nil { // resp is now filled
  2805. // fmt.Println(resp)
  2806. // }
  2807. //
  2808. func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request.Request, output *LoggingStatus) {
  2809. op := &request.Operation{
  2810. Name: opEnableLogging,
  2811. HTTPMethod: "POST",
  2812. HTTPPath: "/",
  2813. }
  2814. if input == nil {
  2815. input = &EnableLoggingInput{}
  2816. }
  2817. req = c.newRequest(op, input, output)
  2818. output = &LoggingStatus{}
  2819. req.Data = output
  2820. return
  2821. }
  2822. // Starts logging information, such as queries and connection attempts, for
  2823. // the specified Amazon Redshift cluster.
  2824. func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, error) {
  2825. req, out := c.EnableLoggingRequest(input)
  2826. err := req.Send()
  2827. return out, err
  2828. }
  2829. const opEnableSnapshotCopy = "EnableSnapshotCopy"
  2830. // EnableSnapshotCopyRequest generates a "aws/request.Request" representing the
  2831. // client's request for the EnableSnapshotCopy operation. The "output" return
  2832. // value can be used to capture response data after the request's "Send" method
  2833. // is called.
  2834. //
  2835. // Creating a request object using this method should be used when you want to inject
  2836. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2837. // access properties on the request object before or after sending the request. If
  2838. // you just want the service response, call the EnableSnapshotCopy method directly
  2839. // instead.
  2840. //
  2841. // Note: You must call the "Send" method on the returned request object in order
  2842. // to execute the request.
  2843. //
  2844. // // Example sending a request using the EnableSnapshotCopyRequest method.
  2845. // req, resp := client.EnableSnapshotCopyRequest(params)
  2846. //
  2847. // err := req.Send()
  2848. // if err == nil { // resp is now filled
  2849. // fmt.Println(resp)
  2850. // }
  2851. //
  2852. func (c *Redshift) EnableSnapshotCopyRequest(input *EnableSnapshotCopyInput) (req *request.Request, output *EnableSnapshotCopyOutput) {
  2853. op := &request.Operation{
  2854. Name: opEnableSnapshotCopy,
  2855. HTTPMethod: "POST",
  2856. HTTPPath: "/",
  2857. }
  2858. if input == nil {
  2859. input = &EnableSnapshotCopyInput{}
  2860. }
  2861. req = c.newRequest(op, input, output)
  2862. output = &EnableSnapshotCopyOutput{}
  2863. req.Data = output
  2864. return
  2865. }
  2866. // Enables the automatic copy of snapshots from one region to another region
  2867. // for a specified cluster.
  2868. func (c *Redshift) EnableSnapshotCopy(input *EnableSnapshotCopyInput) (*EnableSnapshotCopyOutput, error) {
  2869. req, out := c.EnableSnapshotCopyRequest(input)
  2870. err := req.Send()
  2871. return out, err
  2872. }
  2873. const opModifyCluster = "ModifyCluster"
  2874. // ModifyClusterRequest generates a "aws/request.Request" representing the
  2875. // client's request for the ModifyCluster operation. The "output" return
  2876. // value can be used to capture response data after the request's "Send" method
  2877. // is called.
  2878. //
  2879. // Creating a request object using this method should be used when you want to inject
  2880. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2881. // access properties on the request object before or after sending the request. If
  2882. // you just want the service response, call the ModifyCluster method directly
  2883. // instead.
  2884. //
  2885. // Note: You must call the "Send" method on the returned request object in order
  2886. // to execute the request.
  2887. //
  2888. // // Example sending a request using the ModifyClusterRequest method.
  2889. // req, resp := client.ModifyClusterRequest(params)
  2890. //
  2891. // err := req.Send()
  2892. // if err == nil { // resp is now filled
  2893. // fmt.Println(resp)
  2894. // }
  2895. //
  2896. func (c *Redshift) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) {
  2897. op := &request.Operation{
  2898. Name: opModifyCluster,
  2899. HTTPMethod: "POST",
  2900. HTTPPath: "/",
  2901. }
  2902. if input == nil {
  2903. input = &ModifyClusterInput{}
  2904. }
  2905. req = c.newRequest(op, input, output)
  2906. output = &ModifyClusterOutput{}
  2907. req.Data = output
  2908. return
  2909. }
  2910. // Modifies the settings for a cluster. For example, you can add another security
  2911. // or parameter group, update the preferred maintenance window, or change the
  2912. // master user password. Resetting a cluster password or modifying the security
  2913. // groups associated with a cluster do not need a reboot. However, modifying
  2914. // a parameter group requires a reboot for parameters to take effect. For more
  2915. // information about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  2916. // in the Amazon Redshift Cluster Management Guide .
  2917. //
  2918. // You can also change node type and the number of nodes to scale up or down
  2919. // the cluster. When resizing a cluster, you must specify both the number of
  2920. // nodes and the node type even if one of the parameters does not change.
  2921. func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) {
  2922. req, out := c.ModifyClusterRequest(input)
  2923. err := req.Send()
  2924. return out, err
  2925. }
  2926. const opModifyClusterIamRoles = "ModifyClusterIamRoles"
  2927. // ModifyClusterIamRolesRequest generates a "aws/request.Request" representing the
  2928. // client's request for the ModifyClusterIamRoles operation. The "output" return
  2929. // value can be used to capture response data after the request's "Send" method
  2930. // is called.
  2931. //
  2932. // Creating a request object using this method should be used when you want to inject
  2933. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2934. // access properties on the request object before or after sending the request. If
  2935. // you just want the service response, call the ModifyClusterIamRoles method directly
  2936. // instead.
  2937. //
  2938. // Note: You must call the "Send" method on the returned request object in order
  2939. // to execute the request.
  2940. //
  2941. // // Example sending a request using the ModifyClusterIamRolesRequest method.
  2942. // req, resp := client.ModifyClusterIamRolesRequest(params)
  2943. //
  2944. // err := req.Send()
  2945. // if err == nil { // resp is now filled
  2946. // fmt.Println(resp)
  2947. // }
  2948. //
  2949. func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInput) (req *request.Request, output *ModifyClusterIamRolesOutput) {
  2950. op := &request.Operation{
  2951. Name: opModifyClusterIamRoles,
  2952. HTTPMethod: "POST",
  2953. HTTPPath: "/",
  2954. }
  2955. if input == nil {
  2956. input = &ModifyClusterIamRolesInput{}
  2957. }
  2958. req = c.newRequest(op, input, output)
  2959. output = &ModifyClusterIamRolesOutput{}
  2960. req.Data = output
  2961. return
  2962. }
  2963. // Modifies the list of AWS Identity and Access Management (IAM) roles that
  2964. // can be used by the cluster to access other AWS services.
  2965. //
  2966. // A cluster can have up to 10 IAM roles associated at any time.
  2967. func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*ModifyClusterIamRolesOutput, error) {
  2968. req, out := c.ModifyClusterIamRolesRequest(input)
  2969. err := req.Send()
  2970. return out, err
  2971. }
  2972. const opModifyClusterParameterGroup = "ModifyClusterParameterGroup"
  2973. // ModifyClusterParameterGroupRequest generates a "aws/request.Request" representing the
  2974. // client's request for the ModifyClusterParameterGroup operation. The "output" return
  2975. // value can be used to capture response data after the request's "Send" method
  2976. // is called.
  2977. //
  2978. // Creating a request object using this method should be used when you want to inject
  2979. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2980. // access properties on the request object before or after sending the request. If
  2981. // you just want the service response, call the ModifyClusterParameterGroup method directly
  2982. // instead.
  2983. //
  2984. // Note: You must call the "Send" method on the returned request object in order
  2985. // to execute the request.
  2986. //
  2987. // // Example sending a request using the ModifyClusterParameterGroupRequest method.
  2988. // req, resp := client.ModifyClusterParameterGroupRequest(params)
  2989. //
  2990. // err := req.Send()
  2991. // if err == nil { // resp is now filled
  2992. // fmt.Println(resp)
  2993. // }
  2994. //
  2995. func (c *Redshift) ModifyClusterParameterGroupRequest(input *ModifyClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) {
  2996. op := &request.Operation{
  2997. Name: opModifyClusterParameterGroup,
  2998. HTTPMethod: "POST",
  2999. HTTPPath: "/",
  3000. }
  3001. if input == nil {
  3002. input = &ModifyClusterParameterGroupInput{}
  3003. }
  3004. req = c.newRequest(op, input, output)
  3005. output = &ClusterParameterGroupNameMessage{}
  3006. req.Data = output
  3007. return
  3008. }
  3009. // Modifies the parameters of a parameter group.
  3010. //
  3011. // For more information about parameters and parameter groups, go to Amazon
  3012. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  3013. // in the Amazon Redshift Cluster Management Guide.
  3014. func (c *Redshift) ModifyClusterParameterGroup(input *ModifyClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) {
  3015. req, out := c.ModifyClusterParameterGroupRequest(input)
  3016. err := req.Send()
  3017. return out, err
  3018. }
  3019. const opModifyClusterSubnetGroup = "ModifyClusterSubnetGroup"
  3020. // ModifyClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  3021. // client's request for the ModifyClusterSubnetGroup operation. The "output" return
  3022. // value can be used to capture response data after the request's "Send" method
  3023. // is called.
  3024. //
  3025. // Creating a request object using this method should be used when you want to inject
  3026. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3027. // access properties on the request object before or after sending the request. If
  3028. // you just want the service response, call the ModifyClusterSubnetGroup method directly
  3029. // instead.
  3030. //
  3031. // Note: You must call the "Send" method on the returned request object in order
  3032. // to execute the request.
  3033. //
  3034. // // Example sending a request using the ModifyClusterSubnetGroupRequest method.
  3035. // req, resp := client.ModifyClusterSubnetGroupRequest(params)
  3036. //
  3037. // err := req.Send()
  3038. // if err == nil { // resp is now filled
  3039. // fmt.Println(resp)
  3040. // }
  3041. //
  3042. func (c *Redshift) ModifyClusterSubnetGroupRequest(input *ModifyClusterSubnetGroupInput) (req *request.Request, output *ModifyClusterSubnetGroupOutput) {
  3043. op := &request.Operation{
  3044. Name: opModifyClusterSubnetGroup,
  3045. HTTPMethod: "POST",
  3046. HTTPPath: "/",
  3047. }
  3048. if input == nil {
  3049. input = &ModifyClusterSubnetGroupInput{}
  3050. }
  3051. req = c.newRequest(op, input, output)
  3052. output = &ModifyClusterSubnetGroupOutput{}
  3053. req.Data = output
  3054. return
  3055. }
  3056. // Modifies a cluster subnet group to include the specified list of VPC subnets.
  3057. // The operation replaces the existing list of subnets with the new list of
  3058. // subnets.
  3059. func (c *Redshift) ModifyClusterSubnetGroup(input *ModifyClusterSubnetGroupInput) (*ModifyClusterSubnetGroupOutput, error) {
  3060. req, out := c.ModifyClusterSubnetGroupRequest(input)
  3061. err := req.Send()
  3062. return out, err
  3063. }
  3064. const opModifyEventSubscription = "ModifyEventSubscription"
  3065. // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
  3066. // client's request for the ModifyEventSubscription operation. The "output" return
  3067. // value can be used to capture response data after the request's "Send" method
  3068. // is called.
  3069. //
  3070. // Creating a request object using this method should be used when you want to inject
  3071. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3072. // access properties on the request object before or after sending the request. If
  3073. // you just want the service response, call the ModifyEventSubscription method directly
  3074. // instead.
  3075. //
  3076. // Note: You must call the "Send" method on the returned request object in order
  3077. // to execute the request.
  3078. //
  3079. // // Example sending a request using the ModifyEventSubscriptionRequest method.
  3080. // req, resp := client.ModifyEventSubscriptionRequest(params)
  3081. //
  3082. // err := req.Send()
  3083. // if err == nil { // resp is now filled
  3084. // fmt.Println(resp)
  3085. // }
  3086. //
  3087. func (c *Redshift) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
  3088. op := &request.Operation{
  3089. Name: opModifyEventSubscription,
  3090. HTTPMethod: "POST",
  3091. HTTPPath: "/",
  3092. }
  3093. if input == nil {
  3094. input = &ModifyEventSubscriptionInput{}
  3095. }
  3096. req = c.newRequest(op, input, output)
  3097. output = &ModifyEventSubscriptionOutput{}
  3098. req.Data = output
  3099. return
  3100. }
  3101. // Modifies an existing Amazon Redshift event notification subscription.
  3102. func (c *Redshift) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
  3103. req, out := c.ModifyEventSubscriptionRequest(input)
  3104. err := req.Send()
  3105. return out, err
  3106. }
  3107. const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod"
  3108. // ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the
  3109. // client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return
  3110. // value can be used to capture response data after the request's "Send" method
  3111. // is called.
  3112. //
  3113. // Creating a request object using this method should be used when you want to inject
  3114. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3115. // access properties on the request object before or after sending the request. If
  3116. // you just want the service response, call the ModifySnapshotCopyRetentionPeriod method directly
  3117. // instead.
  3118. //
  3119. // Note: You must call the "Send" method on the returned request object in order
  3120. // to execute the request.
  3121. //
  3122. // // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method.
  3123. // req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params)
  3124. //
  3125. // err := req.Send()
  3126. // if err == nil { // resp is now filled
  3127. // fmt.Println(resp)
  3128. // }
  3129. //
  3130. func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) {
  3131. op := &request.Operation{
  3132. Name: opModifySnapshotCopyRetentionPeriod,
  3133. HTTPMethod: "POST",
  3134. HTTPPath: "/",
  3135. }
  3136. if input == nil {
  3137. input = &ModifySnapshotCopyRetentionPeriodInput{}
  3138. }
  3139. req = c.newRequest(op, input, output)
  3140. output = &ModifySnapshotCopyRetentionPeriodOutput{}
  3141. req.Data = output
  3142. return
  3143. }
  3144. // Modifies the number of days to retain automated snapshots in the destination
  3145. // region after they are copied from the source region.
  3146. func (c *Redshift) ModifySnapshotCopyRetentionPeriod(input *ModifySnapshotCopyRetentionPeriodInput) (*ModifySnapshotCopyRetentionPeriodOutput, error) {
  3147. req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input)
  3148. err := req.Send()
  3149. return out, err
  3150. }
  3151. const opPurchaseReservedNodeOffering = "PurchaseReservedNodeOffering"
  3152. // PurchaseReservedNodeOfferingRequest generates a "aws/request.Request" representing the
  3153. // client's request for the PurchaseReservedNodeOffering operation. The "output" return
  3154. // value can be used to capture response data after the request's "Send" method
  3155. // is called.
  3156. //
  3157. // Creating a request object using this method should be used when you want to inject
  3158. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3159. // access properties on the request object before or after sending the request. If
  3160. // you just want the service response, call the PurchaseReservedNodeOffering method directly
  3161. // instead.
  3162. //
  3163. // Note: You must call the "Send" method on the returned request object in order
  3164. // to execute the request.
  3165. //
  3166. // // Example sending a request using the PurchaseReservedNodeOfferingRequest method.
  3167. // req, resp := client.PurchaseReservedNodeOfferingRequest(params)
  3168. //
  3169. // err := req.Send()
  3170. // if err == nil { // resp is now filled
  3171. // fmt.Println(resp)
  3172. // }
  3173. //
  3174. func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNodeOfferingInput) (req *request.Request, output *PurchaseReservedNodeOfferingOutput) {
  3175. op := &request.Operation{
  3176. Name: opPurchaseReservedNodeOffering,
  3177. HTTPMethod: "POST",
  3178. HTTPPath: "/",
  3179. }
  3180. if input == nil {
  3181. input = &PurchaseReservedNodeOfferingInput{}
  3182. }
  3183. req = c.newRequest(op, input, output)
  3184. output = &PurchaseReservedNodeOfferingOutput{}
  3185. req.Data = output
  3186. return
  3187. }
  3188. // Allows you to purchase reserved nodes. Amazon Redshift offers a predefined
  3189. // set of reserved node offerings. You can purchase one or more of the offerings.
  3190. // You can call the DescribeReservedNodeOfferings API to obtain the available
  3191. // reserved node offerings. You can call this API by providing a specific reserved
  3192. // node offering and the number of nodes you want to reserve.
  3193. //
  3194. // For more information about reserved node offerings, go to Purchasing Reserved
  3195. // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
  3196. // in the Amazon Redshift Cluster Management Guide.
  3197. func (c *Redshift) PurchaseReservedNodeOffering(input *PurchaseReservedNodeOfferingInput) (*PurchaseReservedNodeOfferingOutput, error) {
  3198. req, out := c.PurchaseReservedNodeOfferingRequest(input)
  3199. err := req.Send()
  3200. return out, err
  3201. }
  3202. const opRebootCluster = "RebootCluster"
  3203. // RebootClusterRequest generates a "aws/request.Request" representing the
  3204. // client's request for the RebootCluster operation. The "output" return
  3205. // value can be used to capture response data after the request's "Send" method
  3206. // is called.
  3207. //
  3208. // Creating a request object using this method should be used when you want to inject
  3209. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3210. // access properties on the request object before or after sending the request. If
  3211. // you just want the service response, call the RebootCluster method directly
  3212. // instead.
  3213. //
  3214. // Note: You must call the "Send" method on the returned request object in order
  3215. // to execute the request.
  3216. //
  3217. // // Example sending a request using the RebootClusterRequest method.
  3218. // req, resp := client.RebootClusterRequest(params)
  3219. //
  3220. // err := req.Send()
  3221. // if err == nil { // resp is now filled
  3222. // fmt.Println(resp)
  3223. // }
  3224. //
  3225. func (c *Redshift) RebootClusterRequest(input *RebootClusterInput) (req *request.Request, output *RebootClusterOutput) {
  3226. op := &request.Operation{
  3227. Name: opRebootCluster,
  3228. HTTPMethod: "POST",
  3229. HTTPPath: "/",
  3230. }
  3231. if input == nil {
  3232. input = &RebootClusterInput{}
  3233. }
  3234. req = c.newRequest(op, input, output)
  3235. output = &RebootClusterOutput{}
  3236. req.Data = output
  3237. return
  3238. }
  3239. // Reboots a cluster. This action is taken as soon as possible. It results in
  3240. // a momentary outage to the cluster, during which the cluster status is set
  3241. // to rebooting. A cluster event is created when the reboot is completed. Any
  3242. // pending cluster modifications (see ModifyCluster) are applied at this reboot.
  3243. // For more information about managing clusters, go to Amazon Redshift Clusters
  3244. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  3245. // in the Amazon Redshift Cluster Management Guide
  3246. func (c *Redshift) RebootCluster(input *RebootClusterInput) (*RebootClusterOutput, error) {
  3247. req, out := c.RebootClusterRequest(input)
  3248. err := req.Send()
  3249. return out, err
  3250. }
  3251. const opResetClusterParameterGroup = "ResetClusterParameterGroup"
  3252. // ResetClusterParameterGroupRequest generates a "aws/request.Request" representing the
  3253. // client's request for the ResetClusterParameterGroup operation. The "output" return
  3254. // value can be used to capture response data after the request's "Send" method
  3255. // is called.
  3256. //
  3257. // Creating a request object using this method should be used when you want to inject
  3258. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3259. // access properties on the request object before or after sending the request. If
  3260. // you just want the service response, call the ResetClusterParameterGroup method directly
  3261. // instead.
  3262. //
  3263. // Note: You must call the "Send" method on the returned request object in order
  3264. // to execute the request.
  3265. //
  3266. // // Example sending a request using the ResetClusterParameterGroupRequest method.
  3267. // req, resp := client.ResetClusterParameterGroupRequest(params)
  3268. //
  3269. // err := req.Send()
  3270. // if err == nil { // resp is now filled
  3271. // fmt.Println(resp)
  3272. // }
  3273. //
  3274. func (c *Redshift) ResetClusterParameterGroupRequest(input *ResetClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) {
  3275. op := &request.Operation{
  3276. Name: opResetClusterParameterGroup,
  3277. HTTPMethod: "POST",
  3278. HTTPPath: "/",
  3279. }
  3280. if input == nil {
  3281. input = &ResetClusterParameterGroupInput{}
  3282. }
  3283. req = c.newRequest(op, input, output)
  3284. output = &ClusterParameterGroupNameMessage{}
  3285. req.Data = output
  3286. return
  3287. }
  3288. // Sets one or more parameters of the specified parameter group to their default
  3289. // values and sets the source values of the parameters to "engine-default".
  3290. // To reset the entire parameter group specify the ResetAllParameters parameter.
  3291. // For parameter changes to take effect you must reboot any associated clusters.
  3292. func (c *Redshift) ResetClusterParameterGroup(input *ResetClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) {
  3293. req, out := c.ResetClusterParameterGroupRequest(input)
  3294. err := req.Send()
  3295. return out, err
  3296. }
  3297. const opRestoreFromClusterSnapshot = "RestoreFromClusterSnapshot"
  3298. // RestoreFromClusterSnapshotRequest generates a "aws/request.Request" representing the
  3299. // client's request for the RestoreFromClusterSnapshot operation. The "output" return
  3300. // value can be used to capture response data after the request's "Send" method
  3301. // is called.
  3302. //
  3303. // Creating a request object using this method should be used when you want to inject
  3304. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3305. // access properties on the request object before or after sending the request. If
  3306. // you just want the service response, call the RestoreFromClusterSnapshot method directly
  3307. // instead.
  3308. //
  3309. // Note: You must call the "Send" method on the returned request object in order
  3310. // to execute the request.
  3311. //
  3312. // // Example sending a request using the RestoreFromClusterSnapshotRequest method.
  3313. // req, resp := client.RestoreFromClusterSnapshotRequest(params)
  3314. //
  3315. // err := req.Send()
  3316. // if err == nil { // resp is now filled
  3317. // fmt.Println(resp)
  3318. // }
  3319. //
  3320. func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSnapshotInput) (req *request.Request, output *RestoreFromClusterSnapshotOutput) {
  3321. op := &request.Operation{
  3322. Name: opRestoreFromClusterSnapshot,
  3323. HTTPMethod: "POST",
  3324. HTTPPath: "/",
  3325. }
  3326. if input == nil {
  3327. input = &RestoreFromClusterSnapshotInput{}
  3328. }
  3329. req = c.newRequest(op, input, output)
  3330. output = &RestoreFromClusterSnapshotOutput{}
  3331. req.Data = output
  3332. return
  3333. }
  3334. // Creates a new cluster from a snapshot. By default, Amazon Redshift creates
  3335. // the resulting cluster with the same configuration as the original cluster
  3336. // from which the snapshot was created, except that the new cluster is created
  3337. // with the default cluster security and parameter groups. After Amazon Redshift
  3338. // creates the cluster, you can use the ModifyCluster API to associate a different
  3339. // security group and different parameter group with the restored cluster. If
  3340. // you are using a DS node type, you can also choose to change to another DS
  3341. // node type of the same size during restore.
  3342. //
  3343. // If you restore a cluster into a VPC, you must provide a cluster subnet
  3344. // group where you want the cluster restored.
  3345. //
  3346. // For more information about working with snapshots, go to Amazon Redshift
  3347. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  3348. // in the Amazon Redshift Cluster Management Guide.
  3349. func (c *Redshift) RestoreFromClusterSnapshot(input *RestoreFromClusterSnapshotInput) (*RestoreFromClusterSnapshotOutput, error) {
  3350. req, out := c.RestoreFromClusterSnapshotRequest(input)
  3351. err := req.Send()
  3352. return out, err
  3353. }
  3354. const opRestoreTableFromClusterSnapshot = "RestoreTableFromClusterSnapshot"
  3355. // RestoreTableFromClusterSnapshotRequest generates a "aws/request.Request" representing the
  3356. // client's request for the RestoreTableFromClusterSnapshot operation. The "output" return
  3357. // value can be used to capture response data after the request's "Send" method
  3358. // is called.
  3359. //
  3360. // Creating a request object using this method should be used when you want to inject
  3361. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3362. // access properties on the request object before or after sending the request. If
  3363. // you just want the service response, call the RestoreTableFromClusterSnapshot method directly
  3364. // instead.
  3365. //
  3366. // Note: You must call the "Send" method on the returned request object in order
  3367. // to execute the request.
  3368. //
  3369. // // Example sending a request using the RestoreTableFromClusterSnapshotRequest method.
  3370. // req, resp := client.RestoreTableFromClusterSnapshotRequest(params)
  3371. //
  3372. // err := req.Send()
  3373. // if err == nil { // resp is now filled
  3374. // fmt.Println(resp)
  3375. // }
  3376. //
  3377. func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFromClusterSnapshotInput) (req *request.Request, output *RestoreTableFromClusterSnapshotOutput) {
  3378. op := &request.Operation{
  3379. Name: opRestoreTableFromClusterSnapshot,
  3380. HTTPMethod: "POST",
  3381. HTTPPath: "/",
  3382. }
  3383. if input == nil {
  3384. input = &RestoreTableFromClusterSnapshotInput{}
  3385. }
  3386. req = c.newRequest(op, input, output)
  3387. output = &RestoreTableFromClusterSnapshotOutput{}
  3388. req.Data = output
  3389. return
  3390. }
  3391. // Creates a new table from a table in an Amazon Redshift cluster snapshot.
  3392. // You must create the new table within the Amazon Redshift cluster that the
  3393. // snapshot was taken from.
  3394. //
  3395. // You cannot use RestoreTableFromClusterSnapshot to restore a table with the
  3396. // same name as an existing table in an Amazon Redshift cluster. That is, you
  3397. // cannot overwrite an existing table in a cluster with a restored table. If
  3398. // you want to replace your original table with a new, restored table, then
  3399. // rename or drop your original table before you call RestoreTableFromClusterSnapshot.
  3400. // When you have renamed your original table, then you can pass the original
  3401. // name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot.
  3402. // This way, you can replace the original table with the table created from
  3403. // the snapshot.
  3404. func (c *Redshift) RestoreTableFromClusterSnapshot(input *RestoreTableFromClusterSnapshotInput) (*RestoreTableFromClusterSnapshotOutput, error) {
  3405. req, out := c.RestoreTableFromClusterSnapshotRequest(input)
  3406. err := req.Send()
  3407. return out, err
  3408. }
  3409. const opRevokeClusterSecurityGroupIngress = "RevokeClusterSecurityGroupIngress"
  3410. // RevokeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  3411. // client's request for the RevokeClusterSecurityGroupIngress operation. The "output" return
  3412. // value can be used to capture response data after the request's "Send" method
  3413. // is called.
  3414. //
  3415. // Creating a request object using this method should be used when you want to inject
  3416. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3417. // access properties on the request object before or after sending the request. If
  3418. // you just want the service response, call the RevokeClusterSecurityGroupIngress method directly
  3419. // instead.
  3420. //
  3421. // Note: You must call the "Send" method on the returned request object in order
  3422. // to execute the request.
  3423. //
  3424. // // Example sending a request using the RevokeClusterSecurityGroupIngressRequest method.
  3425. // req, resp := client.RevokeClusterSecurityGroupIngressRequest(params)
  3426. //
  3427. // err := req.Send()
  3428. // if err == nil { // resp is now filled
  3429. // fmt.Println(resp)
  3430. // }
  3431. //
  3432. func (c *Redshift) RevokeClusterSecurityGroupIngressRequest(input *RevokeClusterSecurityGroupIngressInput) (req *request.Request, output *RevokeClusterSecurityGroupIngressOutput) {
  3433. op := &request.Operation{
  3434. Name: opRevokeClusterSecurityGroupIngress,
  3435. HTTPMethod: "POST",
  3436. HTTPPath: "/",
  3437. }
  3438. if input == nil {
  3439. input = &RevokeClusterSecurityGroupIngressInput{}
  3440. }
  3441. req = c.newRequest(op, input, output)
  3442. output = &RevokeClusterSecurityGroupIngressOutput{}
  3443. req.Data = output
  3444. return
  3445. }
  3446. // Revokes an ingress rule in an Amazon Redshift security group for a previously
  3447. // authorized IP range or Amazon EC2 security group. To add an ingress rule,
  3448. // see AuthorizeClusterSecurityGroupIngress. For information about managing
  3449. // security groups, go to Amazon Redshift Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  3450. // in the Amazon Redshift Cluster Management Guide.
  3451. func (c *Redshift) RevokeClusterSecurityGroupIngress(input *RevokeClusterSecurityGroupIngressInput) (*RevokeClusterSecurityGroupIngressOutput, error) {
  3452. req, out := c.RevokeClusterSecurityGroupIngressRequest(input)
  3453. err := req.Send()
  3454. return out, err
  3455. }
  3456. const opRevokeSnapshotAccess = "RevokeSnapshotAccess"
  3457. // RevokeSnapshotAccessRequest generates a "aws/request.Request" representing the
  3458. // client's request for the RevokeSnapshotAccess operation. The "output" return
  3459. // value can be used to capture response data after the request's "Send" method
  3460. // is called.
  3461. //
  3462. // Creating a request object using this method should be used when you want to inject
  3463. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3464. // access properties on the request object before or after sending the request. If
  3465. // you just want the service response, call the RevokeSnapshotAccess method directly
  3466. // instead.
  3467. //
  3468. // Note: You must call the "Send" method on the returned request object in order
  3469. // to execute the request.
  3470. //
  3471. // // Example sending a request using the RevokeSnapshotAccessRequest method.
  3472. // req, resp := client.RevokeSnapshotAccessRequest(params)
  3473. //
  3474. // err := req.Send()
  3475. // if err == nil { // resp is now filled
  3476. // fmt.Println(resp)
  3477. // }
  3478. //
  3479. func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) (req *request.Request, output *RevokeSnapshotAccessOutput) {
  3480. op := &request.Operation{
  3481. Name: opRevokeSnapshotAccess,
  3482. HTTPMethod: "POST",
  3483. HTTPPath: "/",
  3484. }
  3485. if input == nil {
  3486. input = &RevokeSnapshotAccessInput{}
  3487. }
  3488. req = c.newRequest(op, input, output)
  3489. output = &RevokeSnapshotAccessOutput{}
  3490. req.Data = output
  3491. return
  3492. }
  3493. // Removes the ability of the specified AWS customer account to restore the
  3494. // specified snapshot. If the account is currently restoring the snapshot, the
  3495. // restore will run to completion.
  3496. //
  3497. // For more information about working with snapshots, go to Amazon Redshift
  3498. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  3499. // in the Amazon Redshift Cluster Management Guide.
  3500. func (c *Redshift) RevokeSnapshotAccess(input *RevokeSnapshotAccessInput) (*RevokeSnapshotAccessOutput, error) {
  3501. req, out := c.RevokeSnapshotAccessRequest(input)
  3502. err := req.Send()
  3503. return out, err
  3504. }
  3505. const opRotateEncryptionKey = "RotateEncryptionKey"
  3506. // RotateEncryptionKeyRequest generates a "aws/request.Request" representing the
  3507. // client's request for the RotateEncryptionKey operation. The "output" return
  3508. // value can be used to capture response data after the request's "Send" method
  3509. // is called.
  3510. //
  3511. // Creating a request object using this method should be used when you want to inject
  3512. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3513. // access properties on the request object before or after sending the request. If
  3514. // you just want the service response, call the RotateEncryptionKey method directly
  3515. // instead.
  3516. //
  3517. // Note: You must call the "Send" method on the returned request object in order
  3518. // to execute the request.
  3519. //
  3520. // // Example sending a request using the RotateEncryptionKeyRequest method.
  3521. // req, resp := client.RotateEncryptionKeyRequest(params)
  3522. //
  3523. // err := req.Send()
  3524. // if err == nil { // resp is now filled
  3525. // fmt.Println(resp)
  3526. // }
  3527. //
  3528. func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) (req *request.Request, output *RotateEncryptionKeyOutput) {
  3529. op := &request.Operation{
  3530. Name: opRotateEncryptionKey,
  3531. HTTPMethod: "POST",
  3532. HTTPPath: "/",
  3533. }
  3534. if input == nil {
  3535. input = &RotateEncryptionKeyInput{}
  3536. }
  3537. req = c.newRequest(op, input, output)
  3538. output = &RotateEncryptionKeyOutput{}
  3539. req.Data = output
  3540. return
  3541. }
  3542. // Rotates the encryption keys for a cluster.
  3543. func (c *Redshift) RotateEncryptionKey(input *RotateEncryptionKeyInput) (*RotateEncryptionKeyOutput, error) {
  3544. req, out := c.RotateEncryptionKeyRequest(input)
  3545. err := req.Send()
  3546. return out, err
  3547. }
  3548. // Describes an AWS customer account authorized to restore a snapshot.
  3549. type AccountWithRestoreAccess struct {
  3550. _ struct{} `type:"structure"`
  3551. // The identifier of an AWS customer account authorized to restore a snapshot.
  3552. AccountId *string `type:"string"`
  3553. }
  3554. // String returns the string representation
  3555. func (s AccountWithRestoreAccess) String() string {
  3556. return awsutil.Prettify(s)
  3557. }
  3558. // GoString returns the string representation
  3559. func (s AccountWithRestoreAccess) GoString() string {
  3560. return s.String()
  3561. }
  3562. type AuthorizeClusterSecurityGroupIngressInput struct {
  3563. _ struct{} `type:"structure"`
  3564. // The IP range to be added the Amazon Redshift security group.
  3565. CIDRIP *string `type:"string"`
  3566. // The name of the security group to which the ingress rule is added.
  3567. ClusterSecurityGroupName *string `type:"string" required:"true"`
  3568. // The EC2 security group to be added the Amazon Redshift security group.
  3569. EC2SecurityGroupName *string `type:"string"`
  3570. // The AWS account number of the owner of the security group specified by the
  3571. // EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
  3572. // value.
  3573. //
  3574. // Example: 111122223333
  3575. EC2SecurityGroupOwnerId *string `type:"string"`
  3576. }
  3577. // String returns the string representation
  3578. func (s AuthorizeClusterSecurityGroupIngressInput) String() string {
  3579. return awsutil.Prettify(s)
  3580. }
  3581. // GoString returns the string representation
  3582. func (s AuthorizeClusterSecurityGroupIngressInput) GoString() string {
  3583. return s.String()
  3584. }
  3585. // Validate inspects the fields of the type to determine if they are valid.
  3586. func (s *AuthorizeClusterSecurityGroupIngressInput) Validate() error {
  3587. invalidParams := request.ErrInvalidParams{Context: "AuthorizeClusterSecurityGroupIngressInput"}
  3588. if s.ClusterSecurityGroupName == nil {
  3589. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  3590. }
  3591. if invalidParams.Len() > 0 {
  3592. return invalidParams
  3593. }
  3594. return nil
  3595. }
  3596. type AuthorizeClusterSecurityGroupIngressOutput struct {
  3597. _ struct{} `type:"structure"`
  3598. // Describes a security group.
  3599. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  3600. }
  3601. // String returns the string representation
  3602. func (s AuthorizeClusterSecurityGroupIngressOutput) String() string {
  3603. return awsutil.Prettify(s)
  3604. }
  3605. // GoString returns the string representation
  3606. func (s AuthorizeClusterSecurityGroupIngressOutput) GoString() string {
  3607. return s.String()
  3608. }
  3609. type AuthorizeSnapshotAccessInput struct {
  3610. _ struct{} `type:"structure"`
  3611. // The identifier of the AWS customer account authorized to restore the specified
  3612. // snapshot.
  3613. AccountWithRestoreAccess *string `type:"string" required:"true"`
  3614. // The identifier of the cluster the snapshot was created from. This parameter
  3615. // is required if your IAM user has a policy containing a snapshot resource
  3616. // element that specifies anything other than * for the cluster name.
  3617. SnapshotClusterIdentifier *string `type:"string"`
  3618. // The identifier of the snapshot the account is authorized to restore.
  3619. SnapshotIdentifier *string `type:"string" required:"true"`
  3620. }
  3621. // String returns the string representation
  3622. func (s AuthorizeSnapshotAccessInput) String() string {
  3623. return awsutil.Prettify(s)
  3624. }
  3625. // GoString returns the string representation
  3626. func (s AuthorizeSnapshotAccessInput) GoString() string {
  3627. return s.String()
  3628. }
  3629. // Validate inspects the fields of the type to determine if they are valid.
  3630. func (s *AuthorizeSnapshotAccessInput) Validate() error {
  3631. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSnapshotAccessInput"}
  3632. if s.AccountWithRestoreAccess == nil {
  3633. invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess"))
  3634. }
  3635. if s.SnapshotIdentifier == nil {
  3636. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  3637. }
  3638. if invalidParams.Len() > 0 {
  3639. return invalidParams
  3640. }
  3641. return nil
  3642. }
  3643. type AuthorizeSnapshotAccessOutput struct {
  3644. _ struct{} `type:"structure"`
  3645. // Describes a snapshot.
  3646. Snapshot *Snapshot `type:"structure"`
  3647. }
  3648. // String returns the string representation
  3649. func (s AuthorizeSnapshotAccessOutput) String() string {
  3650. return awsutil.Prettify(s)
  3651. }
  3652. // GoString returns the string representation
  3653. func (s AuthorizeSnapshotAccessOutput) GoString() string {
  3654. return s.String()
  3655. }
  3656. // Describes an availability zone.
  3657. type AvailabilityZone struct {
  3658. _ struct{} `type:"structure"`
  3659. // The name of the availability zone.
  3660. Name *string `type:"string"`
  3661. }
  3662. // String returns the string representation
  3663. func (s AvailabilityZone) String() string {
  3664. return awsutil.Prettify(s)
  3665. }
  3666. // GoString returns the string representation
  3667. func (s AvailabilityZone) GoString() string {
  3668. return s.String()
  3669. }
  3670. // Describes a cluster.
  3671. type Cluster struct {
  3672. _ struct{} `type:"structure"`
  3673. // If true, major version upgrades will be applied automatically to the cluster
  3674. // during the maintenance window.
  3675. AllowVersionUpgrade *bool `type:"boolean"`
  3676. // The number of days that automatic cluster snapshots are retained.
  3677. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  3678. // The name of the Availability Zone in which the cluster is located.
  3679. AvailabilityZone *string `type:"string"`
  3680. // The date and time that the cluster was created.
  3681. ClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3682. // The unique identifier of the cluster.
  3683. ClusterIdentifier *string `type:"string"`
  3684. // The nodes in a cluster.
  3685. ClusterNodes []*ClusterNode `type:"list"`
  3686. // The list of cluster parameter groups that are associated with this cluster.
  3687. // Each parameter group in the list is returned with its status.
  3688. ClusterParameterGroups []*ClusterParameterGroupStatus `locationNameList:"ClusterParameterGroup" type:"list"`
  3689. // The public key for the cluster.
  3690. ClusterPublicKey *string `type:"string"`
  3691. // The specific revision number of the database in the cluster.
  3692. ClusterRevisionNumber *string `type:"string"`
  3693. // A list of cluster security group that are associated with the cluster. Each
  3694. // security group is represented by an element that contains ClusterSecurityGroup.Name
  3695. // and ClusterSecurityGroup.Status subelements.
  3696. //
  3697. // Cluster security groups are used when the cluster is not created in a VPC.
  3698. // Clusters that are created in a VPC use VPC security groups, which are listed
  3699. // by the VpcSecurityGroups parameter.
  3700. ClusterSecurityGroups []*ClusterSecurityGroupMembership `locationNameList:"ClusterSecurityGroup" type:"list"`
  3701. // Returns the destination region and retention period that are configured for
  3702. // cross-region snapshot copy.
  3703. ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus `type:"structure"`
  3704. // The current state of the cluster. Possible values are: available creating
  3705. // deleting final-snapshot hardware-failure incompatible-hsm incompatible-network
  3706. // incompatible-parameters incompatible-restore modifying rebooting renaming
  3707. // resizing rotating-keys storage-full updating-hsm
  3708. ClusterStatus *string `type:"string"`
  3709. // The name of the subnet group that is associated with the cluster. This parameter
  3710. // is valid only when the cluster is in a VPC.
  3711. ClusterSubnetGroupName *string `type:"string"`
  3712. // The version ID of the Amazon Redshift engine that is running on the cluster.
  3713. ClusterVersion *string `type:"string"`
  3714. // The name of the initial database that was created when the cluster was created.
  3715. // This same name is returned for the life of the cluster. If an initial database
  3716. // was not specified, a database named "dev" was created by default.
  3717. DBName *string `type:"string"`
  3718. // The status of the elastic IP (EIP) address.
  3719. ElasticIpStatus *ElasticIpStatus `type:"structure"`
  3720. // If true, data in the cluster is encrypted at rest.
  3721. Encrypted *bool `type:"boolean"`
  3722. // The connection endpoint.
  3723. Endpoint *Endpoint `type:"structure"`
  3724. // Reports whether the Amazon Redshift cluster has finished applying any HSM
  3725. // settings changes specified in a modify cluster command.
  3726. //
  3727. // Values: active, applying
  3728. HsmStatus *HsmStatus `type:"structure"`
  3729. // A list of AWS Identity and Access Management (IAM) roles that can be used
  3730. // by the cluster to access other AWS services.
  3731. IamRoles []*ClusterIamRole `locationNameList:"ClusterIamRole" type:"list"`
  3732. // The AWS Key Management Service (KMS) key ID of the encryption key used to
  3733. // encrypt data in the cluster.
  3734. KmsKeyId *string `type:"string"`
  3735. // The master user name for the cluster. This name is used to connect to the
  3736. // database that is specified in DBName.
  3737. MasterUsername *string `type:"string"`
  3738. // The status of a modify operation, if any, initiated for the cluster.
  3739. ModifyStatus *string `type:"string"`
  3740. // The node type for the nodes in the cluster.
  3741. NodeType *string `type:"string"`
  3742. // The number of compute nodes in the cluster.
  3743. NumberOfNodes *int64 `type:"integer"`
  3744. // If present, changes to the cluster are pending. Specific pending changes
  3745. // are identified by subelements.
  3746. PendingModifiedValues *PendingModifiedValues `type:"structure"`
  3747. // The weekly time range (in UTC) during which system maintenance can occur.
  3748. PreferredMaintenanceWindow *string `type:"string"`
  3749. // If true, the cluster can be accessed from a public network.
  3750. PubliclyAccessible *bool `type:"boolean"`
  3751. // Describes the status of a cluster restore action. Returns null if the cluster
  3752. // was not created by restoring a snapshot.
  3753. RestoreStatus *RestoreStatus `type:"structure"`
  3754. // The list of tags for the cluster.
  3755. Tags []*Tag `locationNameList:"Tag" type:"list"`
  3756. // The identifier of the VPC the cluster is in, if the cluster is in a VPC.
  3757. VpcId *string `type:"string"`
  3758. // A list of Virtual Private Cloud (VPC) security groups that are associated
  3759. // with the cluster. This parameter is returned only if the cluster is in a
  3760. // VPC.
  3761. VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroup" type:"list"`
  3762. }
  3763. // String returns the string representation
  3764. func (s Cluster) String() string {
  3765. return awsutil.Prettify(s)
  3766. }
  3767. // GoString returns the string representation
  3768. func (s Cluster) GoString() string {
  3769. return s.String()
  3770. }
  3771. // An AWS Identity and Access Management (IAM) role that can be used by the
  3772. // associated Amazon Redshift cluster to access other AWS services.
  3773. type ClusterIamRole struct {
  3774. _ struct{} `type:"structure"`
  3775. // Describes the status of the IAM role's association with an Amazon Redshift
  3776. // cluster.
  3777. //
  3778. // The following are possible statuses and descriptions. in-sync: The role
  3779. // is available for use by the cluster. adding: The role is in the process of
  3780. // being associated with the cluster. removing: The role is in the process of
  3781. // being disassociated with the cluster.
  3782. ApplyStatus *string `type:"string"`
  3783. // The Amazon Resource Name (ARN) of the IAM role. For example, arn:aws:iam::123456789012:role/RedshiftCopyUnload.
  3784. IamRoleArn *string `type:"string"`
  3785. }
  3786. // String returns the string representation
  3787. func (s ClusterIamRole) String() string {
  3788. return awsutil.Prettify(s)
  3789. }
  3790. // GoString returns the string representation
  3791. func (s ClusterIamRole) GoString() string {
  3792. return s.String()
  3793. }
  3794. // The identifier of a node in a cluster.
  3795. type ClusterNode struct {
  3796. _ struct{} `type:"structure"`
  3797. // Whether the node is a leader node or a compute node.
  3798. NodeRole *string `type:"string"`
  3799. // The private IP address of a node within a cluster.
  3800. PrivateIPAddress *string `type:"string"`
  3801. // The public IP address of a node within a cluster.
  3802. PublicIPAddress *string `type:"string"`
  3803. }
  3804. // String returns the string representation
  3805. func (s ClusterNode) String() string {
  3806. return awsutil.Prettify(s)
  3807. }
  3808. // GoString returns the string representation
  3809. func (s ClusterNode) GoString() string {
  3810. return s.String()
  3811. }
  3812. // Describes a parameter group.
  3813. type ClusterParameterGroup struct {
  3814. _ struct{} `type:"structure"`
  3815. // The description of the parameter group.
  3816. Description *string `type:"string"`
  3817. // The name of the cluster parameter group family that this cluster parameter
  3818. // group is compatible with.
  3819. ParameterGroupFamily *string `type:"string"`
  3820. // The name of the cluster parameter group.
  3821. ParameterGroupName *string `type:"string"`
  3822. // The list of tags for the cluster parameter group.
  3823. Tags []*Tag `locationNameList:"Tag" type:"list"`
  3824. }
  3825. // String returns the string representation
  3826. func (s ClusterParameterGroup) String() string {
  3827. return awsutil.Prettify(s)
  3828. }
  3829. // GoString returns the string representation
  3830. func (s ClusterParameterGroup) GoString() string {
  3831. return s.String()
  3832. }
  3833. type ClusterParameterGroupNameMessage struct {
  3834. _ struct{} `type:"structure"`
  3835. // The name of the cluster parameter group.
  3836. ParameterGroupName *string `type:"string"`
  3837. // The status of the parameter group. For example, if you made a change to a
  3838. // parameter group name-value pair, then the change could be pending a reboot
  3839. // of an associated cluster.
  3840. ParameterGroupStatus *string `type:"string"`
  3841. }
  3842. // String returns the string representation
  3843. func (s ClusterParameterGroupNameMessage) String() string {
  3844. return awsutil.Prettify(s)
  3845. }
  3846. // GoString returns the string representation
  3847. func (s ClusterParameterGroupNameMessage) GoString() string {
  3848. return s.String()
  3849. }
  3850. // Describes the status of a parameter group.
  3851. type ClusterParameterGroupStatus struct {
  3852. _ struct{} `type:"structure"`
  3853. // The list of parameter statuses.
  3854. //
  3855. // For more information about parameters and parameter groups, go to Amazon
  3856. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  3857. // in the Amazon Redshift Cluster Management Guide.
  3858. ClusterParameterStatusList []*ClusterParameterStatus `type:"list"`
  3859. // The status of parameter updates.
  3860. ParameterApplyStatus *string `type:"string"`
  3861. // The name of the cluster parameter group.
  3862. ParameterGroupName *string `type:"string"`
  3863. }
  3864. // String returns the string representation
  3865. func (s ClusterParameterGroupStatus) String() string {
  3866. return awsutil.Prettify(s)
  3867. }
  3868. // GoString returns the string representation
  3869. func (s ClusterParameterGroupStatus) GoString() string {
  3870. return s.String()
  3871. }
  3872. // Describes the status of a parameter group.
  3873. type ClusterParameterStatus struct {
  3874. _ struct{} `type:"structure"`
  3875. // The error that prevented the parameter from being applied to the database.
  3876. ParameterApplyErrorDescription *string `type:"string"`
  3877. // The status of the parameter that indicates whether the parameter is in sync
  3878. // with the database, waiting for a cluster reboot, or encountered an error
  3879. // when being applied.
  3880. //
  3881. // The following are possible statuses and descriptions. in-sync: The parameter
  3882. // value is in sync with the database. pending-reboot: The parameter value will
  3883. // be applied after the cluster reboots. applying: The parameter value is being
  3884. // applied to the database. invalid-parameter: Cannot apply the parameter value
  3885. // because it has an invalid value or syntax. apply-deferred: The parameter
  3886. // contains static property changes. The changes are deferred until the cluster
  3887. // reboots. apply-error: Cannot connect to the cluster. The parameter change
  3888. // will be applied after the cluster reboots. unknown-error: Cannot apply the
  3889. // parameter change right now. The change will be applied after the cluster
  3890. // reboots.
  3891. ParameterApplyStatus *string `type:"string"`
  3892. // The name of the parameter.
  3893. ParameterName *string `type:"string"`
  3894. }
  3895. // String returns the string representation
  3896. func (s ClusterParameterStatus) String() string {
  3897. return awsutil.Prettify(s)
  3898. }
  3899. // GoString returns the string representation
  3900. func (s ClusterParameterStatus) GoString() string {
  3901. return s.String()
  3902. }
  3903. // Describes a security group.
  3904. type ClusterSecurityGroup struct {
  3905. _ struct{} `type:"structure"`
  3906. // The name of the cluster security group to which the operation was applied.
  3907. ClusterSecurityGroupName *string `type:"string"`
  3908. // A description of the security group.
  3909. Description *string `type:"string"`
  3910. // A list of EC2 security groups that are permitted to access clusters associated
  3911. // with this cluster security group.
  3912. EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
  3913. // A list of IP ranges (CIDR blocks) that are permitted to access clusters associated
  3914. // with this cluster security group.
  3915. IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
  3916. // The list of tags for the cluster security group.
  3917. Tags []*Tag `locationNameList:"Tag" type:"list"`
  3918. }
  3919. // String returns the string representation
  3920. func (s ClusterSecurityGroup) String() string {
  3921. return awsutil.Prettify(s)
  3922. }
  3923. // GoString returns the string representation
  3924. func (s ClusterSecurityGroup) GoString() string {
  3925. return s.String()
  3926. }
  3927. // Describes a cluster security group.
  3928. type ClusterSecurityGroupMembership struct {
  3929. _ struct{} `type:"structure"`
  3930. // The name of the cluster security group.
  3931. ClusterSecurityGroupName *string `type:"string"`
  3932. // The status of the cluster security group.
  3933. Status *string `type:"string"`
  3934. }
  3935. // String returns the string representation
  3936. func (s ClusterSecurityGroupMembership) String() string {
  3937. return awsutil.Prettify(s)
  3938. }
  3939. // GoString returns the string representation
  3940. func (s ClusterSecurityGroupMembership) GoString() string {
  3941. return s.String()
  3942. }
  3943. // Returns the destination region and retention period that are configured for
  3944. // cross-region snapshot copy.
  3945. type ClusterSnapshotCopyStatus struct {
  3946. _ struct{} `type:"structure"`
  3947. // The destination region that snapshots are automatically copied to when cross-region
  3948. // snapshot copy is enabled.
  3949. DestinationRegion *string `type:"string"`
  3950. // The number of days that automated snapshots are retained in the destination
  3951. // region after they are copied from a source region.
  3952. RetentionPeriod *int64 `type:"long"`
  3953. // The name of the snapshot copy grant.
  3954. SnapshotCopyGrantName *string `type:"string"`
  3955. }
  3956. // String returns the string representation
  3957. func (s ClusterSnapshotCopyStatus) String() string {
  3958. return awsutil.Prettify(s)
  3959. }
  3960. // GoString returns the string representation
  3961. func (s ClusterSnapshotCopyStatus) GoString() string {
  3962. return s.String()
  3963. }
  3964. // Describes a subnet group.
  3965. type ClusterSubnetGroup struct {
  3966. _ struct{} `type:"structure"`
  3967. // The name of the cluster subnet group.
  3968. ClusterSubnetGroupName *string `type:"string"`
  3969. // The description of the cluster subnet group.
  3970. Description *string `type:"string"`
  3971. // The status of the cluster subnet group. Possible values are Complete, Incomplete
  3972. // and Invalid.
  3973. SubnetGroupStatus *string `type:"string"`
  3974. // A list of the VPC Subnet elements.
  3975. Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
  3976. // The list of tags for the cluster subnet group.
  3977. Tags []*Tag `locationNameList:"Tag" type:"list"`
  3978. // The VPC ID of the cluster subnet group.
  3979. VpcId *string `type:"string"`
  3980. }
  3981. // String returns the string representation
  3982. func (s ClusterSubnetGroup) String() string {
  3983. return awsutil.Prettify(s)
  3984. }
  3985. // GoString returns the string representation
  3986. func (s ClusterSubnetGroup) GoString() string {
  3987. return s.String()
  3988. }
  3989. // Describes a cluster version, including the parameter group family and description
  3990. // of the version.
  3991. type ClusterVersion struct {
  3992. _ struct{} `type:"structure"`
  3993. // The name of the cluster parameter group family for the cluster.
  3994. ClusterParameterGroupFamily *string `type:"string"`
  3995. // The version number used by the cluster.
  3996. ClusterVersion *string `type:"string"`
  3997. // The description of the cluster version.
  3998. Description *string `type:"string"`
  3999. }
  4000. // String returns the string representation
  4001. func (s ClusterVersion) String() string {
  4002. return awsutil.Prettify(s)
  4003. }
  4004. // GoString returns the string representation
  4005. func (s ClusterVersion) GoString() string {
  4006. return s.String()
  4007. }
  4008. type CopyClusterSnapshotInput struct {
  4009. _ struct{} `type:"structure"`
  4010. // The identifier of the cluster the source snapshot was created from. This
  4011. // parameter is required if your IAM user has a policy containing a snapshot
  4012. // resource element that specifies anything other than * for the cluster name.
  4013. //
  4014. // Constraints:
  4015. //
  4016. // Must be the identifier for a valid cluster.
  4017. SourceSnapshotClusterIdentifier *string `type:"string"`
  4018. // The identifier for the source snapshot.
  4019. //
  4020. // Constraints:
  4021. //
  4022. // Must be the identifier for a valid automated snapshot whose state is available.
  4023. SourceSnapshotIdentifier *string `type:"string" required:"true"`
  4024. // The identifier given to the new manual snapshot.
  4025. //
  4026. // Constraints:
  4027. //
  4028. // Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric
  4029. // characters or hyphens. First character must be a letter. Cannot end with
  4030. // a hyphen or contain two consecutive hyphens. Must be unique for the AWS account
  4031. // that is making the request.
  4032. TargetSnapshotIdentifier *string `type:"string" required:"true"`
  4033. }
  4034. // String returns the string representation
  4035. func (s CopyClusterSnapshotInput) String() string {
  4036. return awsutil.Prettify(s)
  4037. }
  4038. // GoString returns the string representation
  4039. func (s CopyClusterSnapshotInput) GoString() string {
  4040. return s.String()
  4041. }
  4042. // Validate inspects the fields of the type to determine if they are valid.
  4043. func (s *CopyClusterSnapshotInput) Validate() error {
  4044. invalidParams := request.ErrInvalidParams{Context: "CopyClusterSnapshotInput"}
  4045. if s.SourceSnapshotIdentifier == nil {
  4046. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIdentifier"))
  4047. }
  4048. if s.TargetSnapshotIdentifier == nil {
  4049. invalidParams.Add(request.NewErrParamRequired("TargetSnapshotIdentifier"))
  4050. }
  4051. if invalidParams.Len() > 0 {
  4052. return invalidParams
  4053. }
  4054. return nil
  4055. }
  4056. type CopyClusterSnapshotOutput struct {
  4057. _ struct{} `type:"structure"`
  4058. // Describes a snapshot.
  4059. Snapshot *Snapshot `type:"structure"`
  4060. }
  4061. // String returns the string representation
  4062. func (s CopyClusterSnapshotOutput) String() string {
  4063. return awsutil.Prettify(s)
  4064. }
  4065. // GoString returns the string representation
  4066. func (s CopyClusterSnapshotOutput) GoString() string {
  4067. return s.String()
  4068. }
  4069. type CreateClusterInput struct {
  4070. _ struct{} `type:"structure"`
  4071. // Reserved.
  4072. AdditionalInfo *string `type:"string"`
  4073. // If true, major version upgrades can be applied during the maintenance window
  4074. // to the Amazon Redshift engine that is running on the cluster.
  4075. //
  4076. // When a new major version of the Amazon Redshift engine is released, you
  4077. // can request that the service automatically apply upgrades during the maintenance
  4078. // window to the Amazon Redshift engine that is running on your cluster.
  4079. //
  4080. // Default: true
  4081. AllowVersionUpgrade *bool `type:"boolean"`
  4082. // The number of days that automated snapshots are retained. If the value is
  4083. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  4084. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  4085. //
  4086. // Default: 1
  4087. //
  4088. // Constraints: Must be a value from 0 to 35.
  4089. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  4090. // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision
  4091. // the cluster. For example, if you have several EC2 instances running in a
  4092. // specific Availability Zone, then you might want the cluster to be provisioned
  4093. // in the same zone in order to decrease network latency.
  4094. //
  4095. // Default: A random, system-chosen Availability Zone in the region that is
  4096. // specified by the endpoint.
  4097. //
  4098. // Example: us-east-1d
  4099. //
  4100. // Constraint: The specified Availability Zone must be in the same region
  4101. // as the current endpoint.
  4102. AvailabilityZone *string `type:"string"`
  4103. // A unique identifier for the cluster. You use this identifier to refer to
  4104. // the cluster for any subsequent cluster operations such as deleting or modifying.
  4105. // The identifier also appears in the Amazon Redshift console.
  4106. //
  4107. // Constraints:
  4108. //
  4109. // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic
  4110. // characters must be lowercase. First character must be a letter. Cannot end
  4111. // with a hyphen or contain two consecutive hyphens. Must be unique for all
  4112. // clusters within an AWS account. Example: myexamplecluster
  4113. ClusterIdentifier *string `type:"string" required:"true"`
  4114. // The name of the parameter group to be associated with this cluster.
  4115. //
  4116. // Default: The default Amazon Redshift cluster parameter group. For information
  4117. // about the default parameter group, go to Working with Amazon Redshift Parameter
  4118. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  4119. //
  4120. // Constraints:
  4121. //
  4122. // Must be 1 to 255 alphanumeric characters or hyphens. First character must
  4123. // be a letter. Cannot end with a hyphen or contain two consecutive hyphens.
  4124. ClusterParameterGroupName *string `type:"string"`
  4125. // A list of security groups to be associated with this cluster.
  4126. //
  4127. // Default: The default cluster security group for Amazon Redshift.
  4128. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  4129. // The name of a cluster subnet group to be associated with this cluster.
  4130. //
  4131. // If this parameter is not provided the resulting cluster will be deployed
  4132. // outside virtual private cloud (VPC).
  4133. ClusterSubnetGroupName *string `type:"string"`
  4134. // The type of the cluster. When cluster type is specified as single-node,
  4135. // the NumberOfNodes parameter is not required. multi-node, the NumberOfNodes
  4136. // parameter is required.
  4137. //
  4138. // Valid Values: multi-node | single-node
  4139. //
  4140. // Default: multi-node
  4141. ClusterType *string `type:"string"`
  4142. // The version of the Amazon Redshift engine software that you want to deploy
  4143. // on the cluster.
  4144. //
  4145. // The version selected runs on all the nodes in the cluster.
  4146. //
  4147. // Constraints: Only version 1.0 is currently available.
  4148. //
  4149. // Example: 1.0
  4150. ClusterVersion *string `type:"string"`
  4151. // The name of the first database to be created when the cluster is created.
  4152. //
  4153. // To create additional databases after the cluster is created, connect to
  4154. // the cluster with a SQL client and use SQL commands to create a database.
  4155. // For more information, go to Create a Database (http://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html)
  4156. // in the Amazon Redshift Database Developer Guide.
  4157. //
  4158. // Default: dev
  4159. //
  4160. // Constraints:
  4161. //
  4162. // Must contain 1 to 64 alphanumeric characters. Must contain only lowercase
  4163. // letters. Cannot be a word that is reserved by the service. A list of reserved
  4164. // words can be found in Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  4165. // in the Amazon Redshift Database Developer Guide.
  4166. DBName *string `type:"string"`
  4167. // The Elastic IP (EIP) address for the cluster.
  4168. //
  4169. // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
  4170. // through an Internet gateway. For more information about provisioning clusters
  4171. // in EC2-VPC, go to Supported Platforms to Launch Your Cluster (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms)
  4172. // in the Amazon Redshift Cluster Management Guide.
  4173. ElasticIp *string `type:"string"`
  4174. // If true, the data in the cluster is encrypted at rest.
  4175. //
  4176. // Default: false
  4177. Encrypted *bool `type:"boolean"`
  4178. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  4179. // uses to retrieve the data encryption keys stored in an HSM.
  4180. HsmClientCertificateIdentifier *string `type:"string"`
  4181. // Specifies the name of the HSM configuration that contains the information
  4182. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  4183. HsmConfigurationIdentifier *string `type:"string"`
  4184. // A list of AWS Identity and Access Management (IAM) roles that can be used
  4185. // by the cluster to access other AWS services. You must supply the IAM roles
  4186. // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
  4187. // in a single request.
  4188. //
  4189. // A cluster can have up to 10 IAM roles associated at any time.
  4190. IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  4191. // The AWS Key Management Service (KMS) key ID of the encryption key that you
  4192. // want to use to encrypt data in the cluster.
  4193. KmsKeyId *string `type:"string"`
  4194. // The password associated with the master user account for the cluster that
  4195. // is being created.
  4196. //
  4197. // Constraints:
  4198. //
  4199. // Must be between 8 and 64 characters in length. Must contain at least one
  4200. // uppercase letter. Must contain at least one lowercase letter. Must contain
  4201. // one number. Can be any printable ASCII character (ASCII code 33 to 126) except
  4202. // ' (single quote), " (double quote), \, /, @, or space.
  4203. MasterUserPassword *string `type:"string" required:"true"`
  4204. // The user name associated with the master user account for the cluster that
  4205. // is being created.
  4206. //
  4207. // Constraints:
  4208. //
  4209. // Must be 1 - 128 alphanumeric characters. First character must be a letter.
  4210. // Cannot be a reserved word. A list of reserved words can be found in Reserved
  4211. // Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  4212. // in the Amazon Redshift Database Developer Guide.
  4213. MasterUsername *string `type:"string" required:"true"`
  4214. // The node type to be provisioned for the cluster. For information about node
  4215. // types, go to Working with Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
  4216. // in the Amazon Redshift Cluster Management Guide.
  4217. //
  4218. // Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large
  4219. // | dc1.8xlarge.
  4220. NodeType *string `type:"string" required:"true"`
  4221. // The number of compute nodes in the cluster. This parameter is required when
  4222. // the ClusterType parameter is specified as multi-node.
  4223. //
  4224. // For information about determining how many nodes you need, go to Working
  4225. // with Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
  4226. // in the Amazon Redshift Cluster Management Guide.
  4227. //
  4228. // If you don't specify this parameter, you get a single-node cluster. When
  4229. // requesting a multi-node cluster, you must specify the number of nodes that
  4230. // you want in the cluster.
  4231. //
  4232. // Default: 1
  4233. //
  4234. // Constraints: Value must be at least 1 and no more than 100.
  4235. NumberOfNodes *int64 `type:"integer"`
  4236. // The port number on which the cluster accepts incoming connections.
  4237. //
  4238. // The cluster is accessible only via the JDBC and ODBC connection strings.
  4239. // Part of the connection string requires the port on which the cluster will
  4240. // listen for incoming connections.
  4241. //
  4242. // Default: 5439
  4243. //
  4244. // Valid Values: 1150-65535
  4245. Port *int64 `type:"integer"`
  4246. // The weekly time range (in UTC) during which automated cluster maintenance
  4247. // can occur.
  4248. //
  4249. // Format: ddd:hh24:mi-ddd:hh24:mi
  4250. //
  4251. // Default: A 30-minute window selected at random from an 8-hour block of
  4252. // time per region, occurring on a random day of the week. For more information
  4253. // about the time blocks for each region, see Maintenance Windows (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
  4254. // in Amazon Redshift Cluster Management Guide.
  4255. //
  4256. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  4257. //
  4258. // Constraints: Minimum 30-minute window.
  4259. PreferredMaintenanceWindow *string `type:"string"`
  4260. // If true, the cluster can be accessed from a public network.
  4261. PubliclyAccessible *bool `type:"boolean"`
  4262. // A list of tag instances.
  4263. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4264. // A list of Virtual Private Cloud (VPC) security groups to be associated with
  4265. // the cluster.
  4266. //
  4267. // Default: The default VPC security group is associated with the cluster.
  4268. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  4269. }
  4270. // String returns the string representation
  4271. func (s CreateClusterInput) String() string {
  4272. return awsutil.Prettify(s)
  4273. }
  4274. // GoString returns the string representation
  4275. func (s CreateClusterInput) GoString() string {
  4276. return s.String()
  4277. }
  4278. // Validate inspects the fields of the type to determine if they are valid.
  4279. func (s *CreateClusterInput) Validate() error {
  4280. invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
  4281. if s.ClusterIdentifier == nil {
  4282. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  4283. }
  4284. if s.MasterUserPassword == nil {
  4285. invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
  4286. }
  4287. if s.MasterUsername == nil {
  4288. invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
  4289. }
  4290. if s.NodeType == nil {
  4291. invalidParams.Add(request.NewErrParamRequired("NodeType"))
  4292. }
  4293. if invalidParams.Len() > 0 {
  4294. return invalidParams
  4295. }
  4296. return nil
  4297. }
  4298. type CreateClusterOutput struct {
  4299. _ struct{} `type:"structure"`
  4300. // Describes a cluster.
  4301. Cluster *Cluster `type:"structure"`
  4302. }
  4303. // String returns the string representation
  4304. func (s CreateClusterOutput) String() string {
  4305. return awsutil.Prettify(s)
  4306. }
  4307. // GoString returns the string representation
  4308. func (s CreateClusterOutput) GoString() string {
  4309. return s.String()
  4310. }
  4311. type CreateClusterParameterGroupInput struct {
  4312. _ struct{} `type:"structure"`
  4313. // A description of the parameter group.
  4314. Description *string `type:"string" required:"true"`
  4315. // The Amazon Redshift engine version to which the cluster parameter group applies.
  4316. // The cluster engine version determines the set of parameters.
  4317. //
  4318. // To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups.
  4319. // By default, Amazon Redshift returns a list of all the parameter groups that
  4320. // are owned by your AWS account, including the default parameter groups for
  4321. // each Amazon Redshift engine version. The parameter group family names associated
  4322. // with the default parameter groups provide you the valid values. For example,
  4323. // a valid family name is "redshift-1.0".
  4324. ParameterGroupFamily *string `type:"string" required:"true"`
  4325. // The name of the cluster parameter group.
  4326. //
  4327. // Constraints:
  4328. //
  4329. // Must be 1 to 255 alphanumeric characters or hyphens First character must
  4330. // be a letter. Cannot end with a hyphen or contain two consecutive hyphens.
  4331. // Must be unique withing your AWS account. This value is stored as a lower-case
  4332. // string.
  4333. ParameterGroupName *string `type:"string" required:"true"`
  4334. // A list of tag instances.
  4335. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4336. }
  4337. // String returns the string representation
  4338. func (s CreateClusterParameterGroupInput) String() string {
  4339. return awsutil.Prettify(s)
  4340. }
  4341. // GoString returns the string representation
  4342. func (s CreateClusterParameterGroupInput) GoString() string {
  4343. return s.String()
  4344. }
  4345. // Validate inspects the fields of the type to determine if they are valid.
  4346. func (s *CreateClusterParameterGroupInput) Validate() error {
  4347. invalidParams := request.ErrInvalidParams{Context: "CreateClusterParameterGroupInput"}
  4348. if s.Description == nil {
  4349. invalidParams.Add(request.NewErrParamRequired("Description"))
  4350. }
  4351. if s.ParameterGroupFamily == nil {
  4352. invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily"))
  4353. }
  4354. if s.ParameterGroupName == nil {
  4355. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  4356. }
  4357. if invalidParams.Len() > 0 {
  4358. return invalidParams
  4359. }
  4360. return nil
  4361. }
  4362. type CreateClusterParameterGroupOutput struct {
  4363. _ struct{} `type:"structure"`
  4364. // Describes a parameter group.
  4365. ClusterParameterGroup *ClusterParameterGroup `type:"structure"`
  4366. }
  4367. // String returns the string representation
  4368. func (s CreateClusterParameterGroupOutput) String() string {
  4369. return awsutil.Prettify(s)
  4370. }
  4371. // GoString returns the string representation
  4372. func (s CreateClusterParameterGroupOutput) GoString() string {
  4373. return s.String()
  4374. }
  4375. type CreateClusterSecurityGroupInput struct {
  4376. _ struct{} `type:"structure"`
  4377. // The name for the security group. Amazon Redshift stores the value as a lowercase
  4378. // string.
  4379. //
  4380. // Constraints:
  4381. //
  4382. // Must contain no more than 255 alphanumeric characters or hyphens. Must
  4383. // not be "Default". Must be unique for all security groups that are created
  4384. // by your AWS account. Example: examplesecuritygroup
  4385. ClusterSecurityGroupName *string `type:"string" required:"true"`
  4386. // A description for the security group.
  4387. Description *string `type:"string" required:"true"`
  4388. // A list of tag instances.
  4389. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4390. }
  4391. // String returns the string representation
  4392. func (s CreateClusterSecurityGroupInput) String() string {
  4393. return awsutil.Prettify(s)
  4394. }
  4395. // GoString returns the string representation
  4396. func (s CreateClusterSecurityGroupInput) GoString() string {
  4397. return s.String()
  4398. }
  4399. // Validate inspects the fields of the type to determine if they are valid.
  4400. func (s *CreateClusterSecurityGroupInput) Validate() error {
  4401. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSecurityGroupInput"}
  4402. if s.ClusterSecurityGroupName == nil {
  4403. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  4404. }
  4405. if s.Description == nil {
  4406. invalidParams.Add(request.NewErrParamRequired("Description"))
  4407. }
  4408. if invalidParams.Len() > 0 {
  4409. return invalidParams
  4410. }
  4411. return nil
  4412. }
  4413. type CreateClusterSecurityGroupOutput struct {
  4414. _ struct{} `type:"structure"`
  4415. // Describes a security group.
  4416. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  4417. }
  4418. // String returns the string representation
  4419. func (s CreateClusterSecurityGroupOutput) String() string {
  4420. return awsutil.Prettify(s)
  4421. }
  4422. // GoString returns the string representation
  4423. func (s CreateClusterSecurityGroupOutput) GoString() string {
  4424. return s.String()
  4425. }
  4426. type CreateClusterSnapshotInput struct {
  4427. _ struct{} `type:"structure"`
  4428. // The cluster identifier for which you want a snapshot.
  4429. ClusterIdentifier *string `type:"string" required:"true"`
  4430. // A unique identifier for the snapshot that you are requesting. This identifier
  4431. // must be unique for all snapshots within the AWS account.
  4432. //
  4433. // Constraints:
  4434. //
  4435. // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric
  4436. // characters or hyphens First character must be a letter Cannot end with a
  4437. // hyphen or contain two consecutive hyphens Example: my-snapshot-id
  4438. SnapshotIdentifier *string `type:"string" required:"true"`
  4439. // A list of tag instances.
  4440. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4441. }
  4442. // String returns the string representation
  4443. func (s CreateClusterSnapshotInput) String() string {
  4444. return awsutil.Prettify(s)
  4445. }
  4446. // GoString returns the string representation
  4447. func (s CreateClusterSnapshotInput) GoString() string {
  4448. return s.String()
  4449. }
  4450. // Validate inspects the fields of the type to determine if they are valid.
  4451. func (s *CreateClusterSnapshotInput) Validate() error {
  4452. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSnapshotInput"}
  4453. if s.ClusterIdentifier == nil {
  4454. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  4455. }
  4456. if s.SnapshotIdentifier == nil {
  4457. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  4458. }
  4459. if invalidParams.Len() > 0 {
  4460. return invalidParams
  4461. }
  4462. return nil
  4463. }
  4464. type CreateClusterSnapshotOutput struct {
  4465. _ struct{} `type:"structure"`
  4466. // Describes a snapshot.
  4467. Snapshot *Snapshot `type:"structure"`
  4468. }
  4469. // String returns the string representation
  4470. func (s CreateClusterSnapshotOutput) String() string {
  4471. return awsutil.Prettify(s)
  4472. }
  4473. // GoString returns the string representation
  4474. func (s CreateClusterSnapshotOutput) GoString() string {
  4475. return s.String()
  4476. }
  4477. type CreateClusterSubnetGroupInput struct {
  4478. _ struct{} `type:"structure"`
  4479. // The name for the subnet group. Amazon Redshift stores the value as a lowercase
  4480. // string.
  4481. //
  4482. // Constraints:
  4483. //
  4484. // Must contain no more than 255 alphanumeric characters or hyphens. Must
  4485. // not be "Default". Must be unique for all subnet groups that are created by
  4486. // your AWS account. Example: examplesubnetgroup
  4487. ClusterSubnetGroupName *string `type:"string" required:"true"`
  4488. // A description for the subnet group.
  4489. Description *string `type:"string" required:"true"`
  4490. // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
  4491. // single request.
  4492. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  4493. // A list of tag instances.
  4494. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4495. }
  4496. // String returns the string representation
  4497. func (s CreateClusterSubnetGroupInput) String() string {
  4498. return awsutil.Prettify(s)
  4499. }
  4500. // GoString returns the string representation
  4501. func (s CreateClusterSubnetGroupInput) GoString() string {
  4502. return s.String()
  4503. }
  4504. // Validate inspects the fields of the type to determine if they are valid.
  4505. func (s *CreateClusterSubnetGroupInput) Validate() error {
  4506. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSubnetGroupInput"}
  4507. if s.ClusterSubnetGroupName == nil {
  4508. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  4509. }
  4510. if s.Description == nil {
  4511. invalidParams.Add(request.NewErrParamRequired("Description"))
  4512. }
  4513. if s.SubnetIds == nil {
  4514. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  4515. }
  4516. if invalidParams.Len() > 0 {
  4517. return invalidParams
  4518. }
  4519. return nil
  4520. }
  4521. type CreateClusterSubnetGroupOutput struct {
  4522. _ struct{} `type:"structure"`
  4523. // Describes a subnet group.
  4524. ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"`
  4525. }
  4526. // String returns the string representation
  4527. func (s CreateClusterSubnetGroupOutput) String() string {
  4528. return awsutil.Prettify(s)
  4529. }
  4530. // GoString returns the string representation
  4531. func (s CreateClusterSubnetGroupOutput) GoString() string {
  4532. return s.String()
  4533. }
  4534. type CreateEventSubscriptionInput struct {
  4535. _ struct{} `type:"structure"`
  4536. // A Boolean value; set to true to activate the subscription, set to false to
  4537. // create the subscription but not active it.
  4538. Enabled *bool `type:"boolean"`
  4539. // Specifies the Amazon Redshift event categories to be published by the event
  4540. // notification subscription.
  4541. //
  4542. // Values: Configuration, Management, Monitoring, Security
  4543. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  4544. // Specifies the Amazon Redshift event severity to be published by the event
  4545. // notification subscription.
  4546. //
  4547. // Values: ERROR, INFO
  4548. Severity *string `type:"string"`
  4549. // The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the
  4550. // event notifications. The ARN is created by Amazon SNS when you create a topic
  4551. // and subscribe to it.
  4552. SnsTopicArn *string `type:"string" required:"true"`
  4553. // A list of one or more identifiers of Amazon Redshift source objects. All
  4554. // of the objects must be of the same type as was specified in the source type
  4555. // parameter. The event subscription will return only events generated by the
  4556. // specified objects. If not specified, then events are returned for all objects
  4557. // within the source type specified.
  4558. //
  4559. // Example: my-cluster-1, my-cluster-2
  4560. //
  4561. // Example: my-snapshot-20131010
  4562. SourceIds []*string `locationNameList:"SourceId" type:"list"`
  4563. // The type of source that will be generating the events. For example, if you
  4564. // want to be notified of events generated by a cluster, you would set this
  4565. // parameter to cluster. If this value is not specified, events are returned
  4566. // for all Amazon Redshift objects in your AWS account. You must specify a source
  4567. // type in order to specify source IDs.
  4568. //
  4569. // Valid values: cluster, cluster-parameter-group, cluster-security-group,
  4570. // and cluster-snapshot.
  4571. SourceType *string `type:"string"`
  4572. // The name of the event subscription to be created.
  4573. //
  4574. // Constraints:
  4575. //
  4576. // Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric
  4577. // characters or hyphens. First character must be a letter. Cannot end with
  4578. // a hyphen or contain two consecutive hyphens.
  4579. SubscriptionName *string `type:"string" required:"true"`
  4580. // A list of tag instances.
  4581. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4582. }
  4583. // String returns the string representation
  4584. func (s CreateEventSubscriptionInput) String() string {
  4585. return awsutil.Prettify(s)
  4586. }
  4587. // GoString returns the string representation
  4588. func (s CreateEventSubscriptionInput) GoString() string {
  4589. return s.String()
  4590. }
  4591. // Validate inspects the fields of the type to determine if they are valid.
  4592. func (s *CreateEventSubscriptionInput) Validate() error {
  4593. invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
  4594. if s.SnsTopicArn == nil {
  4595. invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
  4596. }
  4597. if s.SubscriptionName == nil {
  4598. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  4599. }
  4600. if invalidParams.Len() > 0 {
  4601. return invalidParams
  4602. }
  4603. return nil
  4604. }
  4605. type CreateEventSubscriptionOutput struct {
  4606. _ struct{} `type:"structure"`
  4607. // Describes event subscriptions.
  4608. EventSubscription *EventSubscription `type:"structure"`
  4609. }
  4610. // String returns the string representation
  4611. func (s CreateEventSubscriptionOutput) String() string {
  4612. return awsutil.Prettify(s)
  4613. }
  4614. // GoString returns the string representation
  4615. func (s CreateEventSubscriptionOutput) GoString() string {
  4616. return s.String()
  4617. }
  4618. type CreateHsmClientCertificateInput struct {
  4619. _ struct{} `type:"structure"`
  4620. // The identifier to be assigned to the new HSM client certificate that the
  4621. // cluster will use to connect to the HSM to use the database encryption keys.
  4622. HsmClientCertificateIdentifier *string `type:"string" required:"true"`
  4623. // A list of tag instances.
  4624. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4625. }
  4626. // String returns the string representation
  4627. func (s CreateHsmClientCertificateInput) String() string {
  4628. return awsutil.Prettify(s)
  4629. }
  4630. // GoString returns the string representation
  4631. func (s CreateHsmClientCertificateInput) GoString() string {
  4632. return s.String()
  4633. }
  4634. // Validate inspects the fields of the type to determine if they are valid.
  4635. func (s *CreateHsmClientCertificateInput) Validate() error {
  4636. invalidParams := request.ErrInvalidParams{Context: "CreateHsmClientCertificateInput"}
  4637. if s.HsmClientCertificateIdentifier == nil {
  4638. invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier"))
  4639. }
  4640. if invalidParams.Len() > 0 {
  4641. return invalidParams
  4642. }
  4643. return nil
  4644. }
  4645. type CreateHsmClientCertificateOutput struct {
  4646. _ struct{} `type:"structure"`
  4647. // Returns information about an HSM client certificate. The certificate is stored
  4648. // in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift
  4649. // cluster to encrypt data files.
  4650. HsmClientCertificate *HsmClientCertificate `type:"structure"`
  4651. }
  4652. // String returns the string representation
  4653. func (s CreateHsmClientCertificateOutput) String() string {
  4654. return awsutil.Prettify(s)
  4655. }
  4656. // GoString returns the string representation
  4657. func (s CreateHsmClientCertificateOutput) GoString() string {
  4658. return s.String()
  4659. }
  4660. type CreateHsmConfigurationInput struct {
  4661. _ struct{} `type:"structure"`
  4662. // A text description of the HSM configuration to be created.
  4663. Description *string `type:"string" required:"true"`
  4664. // The identifier to be assigned to the new Amazon Redshift HSM configuration.
  4665. HsmConfigurationIdentifier *string `type:"string" required:"true"`
  4666. // The IP address that the Amazon Redshift cluster must use to access the HSM.
  4667. HsmIpAddress *string `type:"string" required:"true"`
  4668. // The name of the partition in the HSM where the Amazon Redshift clusters will
  4669. // store their database encryption keys.
  4670. HsmPartitionName *string `type:"string" required:"true"`
  4671. // The password required to access the HSM partition.
  4672. HsmPartitionPassword *string `type:"string" required:"true"`
  4673. // The HSMs public certificate file. When using Cloud HSM, the file name is
  4674. // server.pem.
  4675. HsmServerPublicCertificate *string `type:"string" required:"true"`
  4676. // A list of tag instances.
  4677. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4678. }
  4679. // String returns the string representation
  4680. func (s CreateHsmConfigurationInput) String() string {
  4681. return awsutil.Prettify(s)
  4682. }
  4683. // GoString returns the string representation
  4684. func (s CreateHsmConfigurationInput) GoString() string {
  4685. return s.String()
  4686. }
  4687. // Validate inspects the fields of the type to determine if they are valid.
  4688. func (s *CreateHsmConfigurationInput) Validate() error {
  4689. invalidParams := request.ErrInvalidParams{Context: "CreateHsmConfigurationInput"}
  4690. if s.Description == nil {
  4691. invalidParams.Add(request.NewErrParamRequired("Description"))
  4692. }
  4693. if s.HsmConfigurationIdentifier == nil {
  4694. invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier"))
  4695. }
  4696. if s.HsmIpAddress == nil {
  4697. invalidParams.Add(request.NewErrParamRequired("HsmIpAddress"))
  4698. }
  4699. if s.HsmPartitionName == nil {
  4700. invalidParams.Add(request.NewErrParamRequired("HsmPartitionName"))
  4701. }
  4702. if s.HsmPartitionPassword == nil {
  4703. invalidParams.Add(request.NewErrParamRequired("HsmPartitionPassword"))
  4704. }
  4705. if s.HsmServerPublicCertificate == nil {
  4706. invalidParams.Add(request.NewErrParamRequired("HsmServerPublicCertificate"))
  4707. }
  4708. if invalidParams.Len() > 0 {
  4709. return invalidParams
  4710. }
  4711. return nil
  4712. }
  4713. type CreateHsmConfigurationOutput struct {
  4714. _ struct{} `type:"structure"`
  4715. // Returns information about an HSM configuration, which is an object that describes
  4716. // to Amazon Redshift clusters the information they require to connect to an
  4717. // HSM where they can store database encryption keys.
  4718. HsmConfiguration *HsmConfiguration `type:"structure"`
  4719. }
  4720. // String returns the string representation
  4721. func (s CreateHsmConfigurationOutput) String() string {
  4722. return awsutil.Prettify(s)
  4723. }
  4724. // GoString returns the string representation
  4725. func (s CreateHsmConfigurationOutput) GoString() string {
  4726. return s.String()
  4727. }
  4728. // The result of the CreateSnapshotCopyGrant action.
  4729. type CreateSnapshotCopyGrantInput struct {
  4730. _ struct{} `type:"structure"`
  4731. // The unique identifier of the customer master key (CMK) to which to grant
  4732. // Amazon Redshift permission. If no key is specified, the default key is used.
  4733. KmsKeyId *string `type:"string"`
  4734. // The name of the snapshot copy grant. This name must be unique in the region
  4735. // for the AWS account.
  4736. //
  4737. // Constraints:
  4738. //
  4739. // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic
  4740. // characters must be lowercase. First character must be a letter. Cannot end
  4741. // with a hyphen or contain two consecutive hyphens. Must be unique for all
  4742. // clusters within an AWS account.
  4743. SnapshotCopyGrantName *string `type:"string" required:"true"`
  4744. // A list of tag instances.
  4745. Tags []*Tag `locationNameList:"Tag" type:"list"`
  4746. }
  4747. // String returns the string representation
  4748. func (s CreateSnapshotCopyGrantInput) String() string {
  4749. return awsutil.Prettify(s)
  4750. }
  4751. // GoString returns the string representation
  4752. func (s CreateSnapshotCopyGrantInput) GoString() string {
  4753. return s.String()
  4754. }
  4755. // Validate inspects the fields of the type to determine if they are valid.
  4756. func (s *CreateSnapshotCopyGrantInput) Validate() error {
  4757. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotCopyGrantInput"}
  4758. if s.SnapshotCopyGrantName == nil {
  4759. invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName"))
  4760. }
  4761. if invalidParams.Len() > 0 {
  4762. return invalidParams
  4763. }
  4764. return nil
  4765. }
  4766. type CreateSnapshotCopyGrantOutput struct {
  4767. _ struct{} `type:"structure"`
  4768. // The snapshot copy grant that grants Amazon Redshift permission to encrypt
  4769. // copied snapshots with the specified customer master key (CMK) from AWS KMS
  4770. // in the destination region.
  4771. //
  4772. // For more information about managing snapshot copy grants, go to Amazon
  4773. // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  4774. // in the Amazon Redshift Cluster Management Guide.
  4775. SnapshotCopyGrant *SnapshotCopyGrant `type:"structure"`
  4776. }
  4777. // String returns the string representation
  4778. func (s CreateSnapshotCopyGrantOutput) String() string {
  4779. return awsutil.Prettify(s)
  4780. }
  4781. // GoString returns the string representation
  4782. func (s CreateSnapshotCopyGrantOutput) GoString() string {
  4783. return s.String()
  4784. }
  4785. // Contains the output from the CreateTags action.
  4786. type CreateTagsInput struct {
  4787. _ struct{} `type:"structure"`
  4788. // The Amazon Resource Name (ARN) to which you want to add the tag or tags.
  4789. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  4790. ResourceName *string `type:"string" required:"true"`
  4791. // One or more name/value pairs to add as tags to the specified resource. Each
  4792. // tag name is passed in with the parameter Key and the corresponding value
  4793. // is passed in with the parameter Value. The Key and Value parameters are separated
  4794. // by a comma (,). Separate multiple tags with a space. For example, --tags
  4795. // "Key"="owner","Value"="admin" "Key"="environment","Value"="test" "Key"="version","Value"="1.0".
  4796. Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  4797. }
  4798. // String returns the string representation
  4799. func (s CreateTagsInput) String() string {
  4800. return awsutil.Prettify(s)
  4801. }
  4802. // GoString returns the string representation
  4803. func (s CreateTagsInput) GoString() string {
  4804. return s.String()
  4805. }
  4806. // Validate inspects the fields of the type to determine if they are valid.
  4807. func (s *CreateTagsInput) Validate() error {
  4808. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  4809. if s.ResourceName == nil {
  4810. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  4811. }
  4812. if s.Tags == nil {
  4813. invalidParams.Add(request.NewErrParamRequired("Tags"))
  4814. }
  4815. if invalidParams.Len() > 0 {
  4816. return invalidParams
  4817. }
  4818. return nil
  4819. }
  4820. type CreateTagsOutput struct {
  4821. _ struct{} `type:"structure"`
  4822. }
  4823. // String returns the string representation
  4824. func (s CreateTagsOutput) String() string {
  4825. return awsutil.Prettify(s)
  4826. }
  4827. // GoString returns the string representation
  4828. func (s CreateTagsOutput) GoString() string {
  4829. return s.String()
  4830. }
  4831. // Describes the default cluster parameters for a parameter group family.
  4832. type DefaultClusterParameters struct {
  4833. _ struct{} `type:"structure"`
  4834. // A value that indicates the starting point for the next set of response records
  4835. // in a subsequent request. If a value is returned in a response, you can retrieve
  4836. // the next set of records by providing this returned marker value in the Marker
  4837. // parameter and retrying the command. If the Marker field is empty, all response
  4838. // records have been retrieved for the request.
  4839. Marker *string `type:"string"`
  4840. // The name of the cluster parameter group family to which the engine default
  4841. // parameters apply.
  4842. ParameterGroupFamily *string `type:"string"`
  4843. // The list of cluster default parameters.
  4844. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  4845. }
  4846. // String returns the string representation
  4847. func (s DefaultClusterParameters) String() string {
  4848. return awsutil.Prettify(s)
  4849. }
  4850. // GoString returns the string representation
  4851. func (s DefaultClusterParameters) GoString() string {
  4852. return s.String()
  4853. }
  4854. type DeleteClusterInput struct {
  4855. _ struct{} `type:"structure"`
  4856. // The identifier of the cluster to be deleted.
  4857. //
  4858. // Constraints:
  4859. //
  4860. // Must contain lowercase characters. Must contain from 1 to 63 alphanumeric
  4861. // characters or hyphens. First character must be a letter. Cannot end with
  4862. // a hyphen or contain two consecutive hyphens.
  4863. ClusterIdentifier *string `type:"string" required:"true"`
  4864. // The identifier of the final snapshot that is to be created immediately before
  4865. // deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot
  4866. // must be false.
  4867. //
  4868. // Constraints:
  4869. //
  4870. // Must be 1 to 255 alphanumeric characters. First character must be a letter.
  4871. // Cannot end with a hyphen or contain two consecutive hyphens.
  4872. FinalClusterSnapshotIdentifier *string `type:"string"`
  4873. // Determines whether a final snapshot of the cluster is created before Amazon
  4874. // Redshift deletes the cluster. If true, a final cluster snapshot is not created.
  4875. // If false, a final cluster snapshot is created before the cluster is deleted.
  4876. //
  4877. // The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot
  4878. // is false. Default: false
  4879. SkipFinalClusterSnapshot *bool `type:"boolean"`
  4880. }
  4881. // String returns the string representation
  4882. func (s DeleteClusterInput) String() string {
  4883. return awsutil.Prettify(s)
  4884. }
  4885. // GoString returns the string representation
  4886. func (s DeleteClusterInput) GoString() string {
  4887. return s.String()
  4888. }
  4889. // Validate inspects the fields of the type to determine if they are valid.
  4890. func (s *DeleteClusterInput) Validate() error {
  4891. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
  4892. if s.ClusterIdentifier == nil {
  4893. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  4894. }
  4895. if invalidParams.Len() > 0 {
  4896. return invalidParams
  4897. }
  4898. return nil
  4899. }
  4900. type DeleteClusterOutput struct {
  4901. _ struct{} `type:"structure"`
  4902. // Describes a cluster.
  4903. Cluster *Cluster `type:"structure"`
  4904. }
  4905. // String returns the string representation
  4906. func (s DeleteClusterOutput) String() string {
  4907. return awsutil.Prettify(s)
  4908. }
  4909. // GoString returns the string representation
  4910. func (s DeleteClusterOutput) GoString() string {
  4911. return s.String()
  4912. }
  4913. type DeleteClusterParameterGroupInput struct {
  4914. _ struct{} `type:"structure"`
  4915. // The name of the parameter group to be deleted.
  4916. //
  4917. // Constraints:
  4918. //
  4919. // Must be the name of an existing cluster parameter group. Cannot delete
  4920. // a default cluster parameter group.
  4921. ParameterGroupName *string `type:"string" required:"true"`
  4922. }
  4923. // String returns the string representation
  4924. func (s DeleteClusterParameterGroupInput) String() string {
  4925. return awsutil.Prettify(s)
  4926. }
  4927. // GoString returns the string representation
  4928. func (s DeleteClusterParameterGroupInput) GoString() string {
  4929. return s.String()
  4930. }
  4931. // Validate inspects the fields of the type to determine if they are valid.
  4932. func (s *DeleteClusterParameterGroupInput) Validate() error {
  4933. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterParameterGroupInput"}
  4934. if s.ParameterGroupName == nil {
  4935. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  4936. }
  4937. if invalidParams.Len() > 0 {
  4938. return invalidParams
  4939. }
  4940. return nil
  4941. }
  4942. type DeleteClusterParameterGroupOutput struct {
  4943. _ struct{} `type:"structure"`
  4944. }
  4945. // String returns the string representation
  4946. func (s DeleteClusterParameterGroupOutput) String() string {
  4947. return awsutil.Prettify(s)
  4948. }
  4949. // GoString returns the string representation
  4950. func (s DeleteClusterParameterGroupOutput) GoString() string {
  4951. return s.String()
  4952. }
  4953. type DeleteClusterSecurityGroupInput struct {
  4954. _ struct{} `type:"structure"`
  4955. // The name of the cluster security group to be deleted.
  4956. ClusterSecurityGroupName *string `type:"string" required:"true"`
  4957. }
  4958. // String returns the string representation
  4959. func (s DeleteClusterSecurityGroupInput) String() string {
  4960. return awsutil.Prettify(s)
  4961. }
  4962. // GoString returns the string representation
  4963. func (s DeleteClusterSecurityGroupInput) GoString() string {
  4964. return s.String()
  4965. }
  4966. // Validate inspects the fields of the type to determine if they are valid.
  4967. func (s *DeleteClusterSecurityGroupInput) Validate() error {
  4968. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSecurityGroupInput"}
  4969. if s.ClusterSecurityGroupName == nil {
  4970. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  4971. }
  4972. if invalidParams.Len() > 0 {
  4973. return invalidParams
  4974. }
  4975. return nil
  4976. }
  4977. type DeleteClusterSecurityGroupOutput struct {
  4978. _ struct{} `type:"structure"`
  4979. }
  4980. // String returns the string representation
  4981. func (s DeleteClusterSecurityGroupOutput) String() string {
  4982. return awsutil.Prettify(s)
  4983. }
  4984. // GoString returns the string representation
  4985. func (s DeleteClusterSecurityGroupOutput) GoString() string {
  4986. return s.String()
  4987. }
  4988. type DeleteClusterSnapshotInput struct {
  4989. _ struct{} `type:"structure"`
  4990. // The unique identifier of the cluster the snapshot was created from. This
  4991. // parameter is required if your IAM user has a policy containing a snapshot
  4992. // resource element that specifies anything other than * for the cluster name.
  4993. //
  4994. // Constraints: Must be the name of valid cluster.
  4995. SnapshotClusterIdentifier *string `type:"string"`
  4996. // The unique identifier of the manual snapshot to be deleted.
  4997. //
  4998. // Constraints: Must be the name of an existing snapshot that is in the available
  4999. // state.
  5000. SnapshotIdentifier *string `type:"string" required:"true"`
  5001. }
  5002. // String returns the string representation
  5003. func (s DeleteClusterSnapshotInput) String() string {
  5004. return awsutil.Prettify(s)
  5005. }
  5006. // GoString returns the string representation
  5007. func (s DeleteClusterSnapshotInput) GoString() string {
  5008. return s.String()
  5009. }
  5010. // Validate inspects the fields of the type to determine if they are valid.
  5011. func (s *DeleteClusterSnapshotInput) Validate() error {
  5012. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSnapshotInput"}
  5013. if s.SnapshotIdentifier == nil {
  5014. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  5015. }
  5016. if invalidParams.Len() > 0 {
  5017. return invalidParams
  5018. }
  5019. return nil
  5020. }
  5021. type DeleteClusterSnapshotOutput struct {
  5022. _ struct{} `type:"structure"`
  5023. // Describes a snapshot.
  5024. Snapshot *Snapshot `type:"structure"`
  5025. }
  5026. // String returns the string representation
  5027. func (s DeleteClusterSnapshotOutput) String() string {
  5028. return awsutil.Prettify(s)
  5029. }
  5030. // GoString returns the string representation
  5031. func (s DeleteClusterSnapshotOutput) GoString() string {
  5032. return s.String()
  5033. }
  5034. type DeleteClusterSubnetGroupInput struct {
  5035. _ struct{} `type:"structure"`
  5036. // The name of the cluster subnet group name to be deleted.
  5037. ClusterSubnetGroupName *string `type:"string" required:"true"`
  5038. }
  5039. // String returns the string representation
  5040. func (s DeleteClusterSubnetGroupInput) String() string {
  5041. return awsutil.Prettify(s)
  5042. }
  5043. // GoString returns the string representation
  5044. func (s DeleteClusterSubnetGroupInput) GoString() string {
  5045. return s.String()
  5046. }
  5047. // Validate inspects the fields of the type to determine if they are valid.
  5048. func (s *DeleteClusterSubnetGroupInput) Validate() error {
  5049. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSubnetGroupInput"}
  5050. if s.ClusterSubnetGroupName == nil {
  5051. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  5052. }
  5053. if invalidParams.Len() > 0 {
  5054. return invalidParams
  5055. }
  5056. return nil
  5057. }
  5058. type DeleteClusterSubnetGroupOutput struct {
  5059. _ struct{} `type:"structure"`
  5060. }
  5061. // String returns the string representation
  5062. func (s DeleteClusterSubnetGroupOutput) String() string {
  5063. return awsutil.Prettify(s)
  5064. }
  5065. // GoString returns the string representation
  5066. func (s DeleteClusterSubnetGroupOutput) GoString() string {
  5067. return s.String()
  5068. }
  5069. type DeleteEventSubscriptionInput struct {
  5070. _ struct{} `type:"structure"`
  5071. // The name of the Amazon Redshift event notification subscription to be deleted.
  5072. SubscriptionName *string `type:"string" required:"true"`
  5073. }
  5074. // String returns the string representation
  5075. func (s DeleteEventSubscriptionInput) String() string {
  5076. return awsutil.Prettify(s)
  5077. }
  5078. // GoString returns the string representation
  5079. func (s DeleteEventSubscriptionInput) GoString() string {
  5080. return s.String()
  5081. }
  5082. // Validate inspects the fields of the type to determine if they are valid.
  5083. func (s *DeleteEventSubscriptionInput) Validate() error {
  5084. invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
  5085. if s.SubscriptionName == nil {
  5086. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  5087. }
  5088. if invalidParams.Len() > 0 {
  5089. return invalidParams
  5090. }
  5091. return nil
  5092. }
  5093. type DeleteEventSubscriptionOutput struct {
  5094. _ struct{} `type:"structure"`
  5095. }
  5096. // String returns the string representation
  5097. func (s DeleteEventSubscriptionOutput) String() string {
  5098. return awsutil.Prettify(s)
  5099. }
  5100. // GoString returns the string representation
  5101. func (s DeleteEventSubscriptionOutput) GoString() string {
  5102. return s.String()
  5103. }
  5104. type DeleteHsmClientCertificateInput struct {
  5105. _ struct{} `type:"structure"`
  5106. // The identifier of the HSM client certificate to be deleted.
  5107. HsmClientCertificateIdentifier *string `type:"string" required:"true"`
  5108. }
  5109. // String returns the string representation
  5110. func (s DeleteHsmClientCertificateInput) String() string {
  5111. return awsutil.Prettify(s)
  5112. }
  5113. // GoString returns the string representation
  5114. func (s DeleteHsmClientCertificateInput) GoString() string {
  5115. return s.String()
  5116. }
  5117. // Validate inspects the fields of the type to determine if they are valid.
  5118. func (s *DeleteHsmClientCertificateInput) Validate() error {
  5119. invalidParams := request.ErrInvalidParams{Context: "DeleteHsmClientCertificateInput"}
  5120. if s.HsmClientCertificateIdentifier == nil {
  5121. invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier"))
  5122. }
  5123. if invalidParams.Len() > 0 {
  5124. return invalidParams
  5125. }
  5126. return nil
  5127. }
  5128. type DeleteHsmClientCertificateOutput struct {
  5129. _ struct{} `type:"structure"`
  5130. }
  5131. // String returns the string representation
  5132. func (s DeleteHsmClientCertificateOutput) String() string {
  5133. return awsutil.Prettify(s)
  5134. }
  5135. // GoString returns the string representation
  5136. func (s DeleteHsmClientCertificateOutput) GoString() string {
  5137. return s.String()
  5138. }
  5139. type DeleteHsmConfigurationInput struct {
  5140. _ struct{} `type:"structure"`
  5141. // The identifier of the Amazon Redshift HSM configuration to be deleted.
  5142. HsmConfigurationIdentifier *string `type:"string" required:"true"`
  5143. }
  5144. // String returns the string representation
  5145. func (s DeleteHsmConfigurationInput) String() string {
  5146. return awsutil.Prettify(s)
  5147. }
  5148. // GoString returns the string representation
  5149. func (s DeleteHsmConfigurationInput) GoString() string {
  5150. return s.String()
  5151. }
  5152. // Validate inspects the fields of the type to determine if they are valid.
  5153. func (s *DeleteHsmConfigurationInput) Validate() error {
  5154. invalidParams := request.ErrInvalidParams{Context: "DeleteHsmConfigurationInput"}
  5155. if s.HsmConfigurationIdentifier == nil {
  5156. invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier"))
  5157. }
  5158. if invalidParams.Len() > 0 {
  5159. return invalidParams
  5160. }
  5161. return nil
  5162. }
  5163. type DeleteHsmConfigurationOutput struct {
  5164. _ struct{} `type:"structure"`
  5165. }
  5166. // String returns the string representation
  5167. func (s DeleteHsmConfigurationOutput) String() string {
  5168. return awsutil.Prettify(s)
  5169. }
  5170. // GoString returns the string representation
  5171. func (s DeleteHsmConfigurationOutput) GoString() string {
  5172. return s.String()
  5173. }
  5174. // The result of the DeleteSnapshotCopyGrant action.
  5175. type DeleteSnapshotCopyGrantInput struct {
  5176. _ struct{} `type:"structure"`
  5177. // The name of the snapshot copy grant to delete.
  5178. SnapshotCopyGrantName *string `type:"string" required:"true"`
  5179. }
  5180. // String returns the string representation
  5181. func (s DeleteSnapshotCopyGrantInput) String() string {
  5182. return awsutil.Prettify(s)
  5183. }
  5184. // GoString returns the string representation
  5185. func (s DeleteSnapshotCopyGrantInput) GoString() string {
  5186. return s.String()
  5187. }
  5188. // Validate inspects the fields of the type to determine if they are valid.
  5189. func (s *DeleteSnapshotCopyGrantInput) Validate() error {
  5190. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotCopyGrantInput"}
  5191. if s.SnapshotCopyGrantName == nil {
  5192. invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName"))
  5193. }
  5194. if invalidParams.Len() > 0 {
  5195. return invalidParams
  5196. }
  5197. return nil
  5198. }
  5199. type DeleteSnapshotCopyGrantOutput struct {
  5200. _ struct{} `type:"structure"`
  5201. }
  5202. // String returns the string representation
  5203. func (s DeleteSnapshotCopyGrantOutput) String() string {
  5204. return awsutil.Prettify(s)
  5205. }
  5206. // GoString returns the string representation
  5207. func (s DeleteSnapshotCopyGrantOutput) GoString() string {
  5208. return s.String()
  5209. }
  5210. // Contains the output from the DeleteTags action.
  5211. type DeleteTagsInput struct {
  5212. _ struct{} `type:"structure"`
  5213. // The Amazon Resource Name (ARN) from which you want to remove the tag or tags.
  5214. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  5215. ResourceName *string `type:"string" required:"true"`
  5216. // The tag key that you want to delete.
  5217. TagKeys []*string `locationNameList:"TagKey" type:"list" required:"true"`
  5218. }
  5219. // String returns the string representation
  5220. func (s DeleteTagsInput) String() string {
  5221. return awsutil.Prettify(s)
  5222. }
  5223. // GoString returns the string representation
  5224. func (s DeleteTagsInput) GoString() string {
  5225. return s.String()
  5226. }
  5227. // Validate inspects the fields of the type to determine if they are valid.
  5228. func (s *DeleteTagsInput) Validate() error {
  5229. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  5230. if s.ResourceName == nil {
  5231. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  5232. }
  5233. if s.TagKeys == nil {
  5234. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  5235. }
  5236. if invalidParams.Len() > 0 {
  5237. return invalidParams
  5238. }
  5239. return nil
  5240. }
  5241. type DeleteTagsOutput struct {
  5242. _ struct{} `type:"structure"`
  5243. }
  5244. // String returns the string representation
  5245. func (s DeleteTagsOutput) String() string {
  5246. return awsutil.Prettify(s)
  5247. }
  5248. // GoString returns the string representation
  5249. func (s DeleteTagsOutput) GoString() string {
  5250. return s.String()
  5251. }
  5252. type DescribeClusterParameterGroupsInput struct {
  5253. _ struct{} `type:"structure"`
  5254. // An optional parameter that specifies the starting point to return a set of
  5255. // response records. When the results of a DescribeClusterParameterGroups request
  5256. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5257. // field of the response. You can retrieve the next set of response records
  5258. // by providing the returned marker value in the Marker parameter and retrying
  5259. // the request.
  5260. Marker *string `type:"string"`
  5261. // The maximum number of response records to return in each call. If the number
  5262. // of remaining response records exceeds the specified MaxRecords value, a value
  5263. // is returned in a marker field of the response. You can retrieve the next
  5264. // set of records by retrying the command with the returned marker value.
  5265. //
  5266. // Default: 100
  5267. //
  5268. // Constraints: minimum 20, maximum 100.
  5269. MaxRecords *int64 `type:"integer"`
  5270. // The name of a specific parameter group for which to return details. By default,
  5271. // details about all parameter groups and the default parameter group are returned.
  5272. ParameterGroupName *string `type:"string"`
  5273. // A tag key or keys for which you want to return all matching cluster parameter
  5274. // groups that are associated with the specified key or keys. For example, suppose
  5275. // that you have parameter groups that are tagged with keys called owner and
  5276. // environment. If you specify both of these tag keys in the request, Amazon
  5277. // Redshift returns a response with the parameter groups that have either or
  5278. // both of these tag keys associated with them.
  5279. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5280. // A tag value or values for which you want to return all matching cluster parameter
  5281. // groups that are associated with the specified tag value or values. For example,
  5282. // suppose that you have parameter groups that are tagged with values called
  5283. // admin and test. If you specify both of these tag values in the request, Amazon
  5284. // Redshift returns a response with the parameter groups that have either or
  5285. // both of these tag values associated with them.
  5286. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5287. }
  5288. // String returns the string representation
  5289. func (s DescribeClusterParameterGroupsInput) String() string {
  5290. return awsutil.Prettify(s)
  5291. }
  5292. // GoString returns the string representation
  5293. func (s DescribeClusterParameterGroupsInput) GoString() string {
  5294. return s.String()
  5295. }
  5296. // Contains the output from the DescribeClusterParameterGroups action.
  5297. type DescribeClusterParameterGroupsOutput struct {
  5298. _ struct{} `type:"structure"`
  5299. // A value that indicates the starting point for the next set of response records
  5300. // in a subsequent request. If a value is returned in a response, you can retrieve
  5301. // the next set of records by providing this returned marker value in the Marker
  5302. // parameter and retrying the command. If the Marker field is empty, all response
  5303. // records have been retrieved for the request.
  5304. Marker *string `type:"string"`
  5305. // A list of ClusterParameterGroup instances. Each instance describes one cluster
  5306. // parameter group.
  5307. ParameterGroups []*ClusterParameterGroup `locationNameList:"ClusterParameterGroup" type:"list"`
  5308. }
  5309. // String returns the string representation
  5310. func (s DescribeClusterParameterGroupsOutput) String() string {
  5311. return awsutil.Prettify(s)
  5312. }
  5313. // GoString returns the string representation
  5314. func (s DescribeClusterParameterGroupsOutput) GoString() string {
  5315. return s.String()
  5316. }
  5317. type DescribeClusterParametersInput struct {
  5318. _ struct{} `type:"structure"`
  5319. // An optional parameter that specifies the starting point to return a set of
  5320. // response records. When the results of a DescribeClusterParameters request
  5321. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5322. // field of the response. You can retrieve the next set of response records
  5323. // by providing the returned marker value in the Marker parameter and retrying
  5324. // the request.
  5325. Marker *string `type:"string"`
  5326. // The maximum number of response records to return in each call. If the number
  5327. // of remaining response records exceeds the specified MaxRecords value, a value
  5328. // is returned in a marker field of the response. You can retrieve the next
  5329. // set of records by retrying the command with the returned marker value.
  5330. //
  5331. // Default: 100
  5332. //
  5333. // Constraints: minimum 20, maximum 100.
  5334. MaxRecords *int64 `type:"integer"`
  5335. // The name of a cluster parameter group for which to return details.
  5336. ParameterGroupName *string `type:"string" required:"true"`
  5337. // The parameter types to return. Specify user to show parameters that are different
  5338. // form the default. Similarly, specify engine-default to show parameters that
  5339. // are the same as the default parameter group.
  5340. //
  5341. // Default: All parameter types returned.
  5342. //
  5343. // Valid Values: user | engine-default
  5344. Source *string `type:"string"`
  5345. }
  5346. // String returns the string representation
  5347. func (s DescribeClusterParametersInput) String() string {
  5348. return awsutil.Prettify(s)
  5349. }
  5350. // GoString returns the string representation
  5351. func (s DescribeClusterParametersInput) GoString() string {
  5352. return s.String()
  5353. }
  5354. // Validate inspects the fields of the type to determine if they are valid.
  5355. func (s *DescribeClusterParametersInput) Validate() error {
  5356. invalidParams := request.ErrInvalidParams{Context: "DescribeClusterParametersInput"}
  5357. if s.ParameterGroupName == nil {
  5358. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  5359. }
  5360. if invalidParams.Len() > 0 {
  5361. return invalidParams
  5362. }
  5363. return nil
  5364. }
  5365. // Contains the output from the DescribeClusterParameters action.
  5366. type DescribeClusterParametersOutput struct {
  5367. _ struct{} `type:"structure"`
  5368. // A value that indicates the starting point for the next set of response records
  5369. // in a subsequent request. If a value is returned in a response, you can retrieve
  5370. // the next set of records by providing this returned marker value in the Marker
  5371. // parameter and retrying the command. If the Marker field is empty, all response
  5372. // records have been retrieved for the request.
  5373. Marker *string `type:"string"`
  5374. // A list of Parameter instances. Each instance lists the parameters of one
  5375. // cluster parameter group.
  5376. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  5377. }
  5378. // String returns the string representation
  5379. func (s DescribeClusterParametersOutput) String() string {
  5380. return awsutil.Prettify(s)
  5381. }
  5382. // GoString returns the string representation
  5383. func (s DescribeClusterParametersOutput) GoString() string {
  5384. return s.String()
  5385. }
  5386. type DescribeClusterSecurityGroupsInput struct {
  5387. _ struct{} `type:"structure"`
  5388. // The name of a cluster security group for which you are requesting details.
  5389. // You can specify either the Marker parameter or a ClusterSecurityGroupName
  5390. // parameter, but not both.
  5391. //
  5392. // Example: securitygroup1
  5393. ClusterSecurityGroupName *string `type:"string"`
  5394. // An optional parameter that specifies the starting point to return a set of
  5395. // response records. When the results of a DescribeClusterSecurityGroups request
  5396. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5397. // field of the response. You can retrieve the next set of response records
  5398. // by providing the returned marker value in the Marker parameter and retrying
  5399. // the request.
  5400. //
  5401. // Constraints: You can specify either the ClusterSecurityGroupName parameter
  5402. // or the Marker parameter, but not both.
  5403. Marker *string `type:"string"`
  5404. // The maximum number of response records to return in each call. If the number
  5405. // of remaining response records exceeds the specified MaxRecords value, a value
  5406. // is returned in a marker field of the response. You can retrieve the next
  5407. // set of records by retrying the command with the returned marker value.
  5408. //
  5409. // Default: 100
  5410. //
  5411. // Constraints: minimum 20, maximum 100.
  5412. MaxRecords *int64 `type:"integer"`
  5413. // A tag key or keys for which you want to return all matching cluster security
  5414. // groups that are associated with the specified key or keys. For example, suppose
  5415. // that you have security groups that are tagged with keys called owner and
  5416. // environment. If you specify both of these tag keys in the request, Amazon
  5417. // Redshift returns a response with the security groups that have either or
  5418. // both of these tag keys associated with them.
  5419. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5420. // A tag value or values for which you want to return all matching cluster security
  5421. // groups that are associated with the specified tag value or values. For example,
  5422. // suppose that you have security groups that are tagged with values called
  5423. // admin and test. If you specify both of these tag values in the request, Amazon
  5424. // Redshift returns a response with the security groups that have either or
  5425. // both of these tag values associated with them.
  5426. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5427. }
  5428. // String returns the string representation
  5429. func (s DescribeClusterSecurityGroupsInput) String() string {
  5430. return awsutil.Prettify(s)
  5431. }
  5432. // GoString returns the string representation
  5433. func (s DescribeClusterSecurityGroupsInput) GoString() string {
  5434. return s.String()
  5435. }
  5436. type DescribeClusterSecurityGroupsOutput struct {
  5437. _ struct{} `type:"structure"`
  5438. // A list of ClusterSecurityGroup instances.
  5439. ClusterSecurityGroups []*ClusterSecurityGroup `locationNameList:"ClusterSecurityGroup" type:"list"`
  5440. // A value that indicates the starting point for the next set of response records
  5441. // in a subsequent request. If a value is returned in a response, you can retrieve
  5442. // the next set of records by providing this returned marker value in the Marker
  5443. // parameter and retrying the command. If the Marker field is empty, all response
  5444. // records have been retrieved for the request.
  5445. Marker *string `type:"string"`
  5446. }
  5447. // String returns the string representation
  5448. func (s DescribeClusterSecurityGroupsOutput) String() string {
  5449. return awsutil.Prettify(s)
  5450. }
  5451. // GoString returns the string representation
  5452. func (s DescribeClusterSecurityGroupsOutput) GoString() string {
  5453. return s.String()
  5454. }
  5455. type DescribeClusterSnapshotsInput struct {
  5456. _ struct{} `type:"structure"`
  5457. // The identifier of the cluster for which information about snapshots is requested.
  5458. ClusterIdentifier *string `type:"string"`
  5459. // A time value that requests only snapshots created at or before the specified
  5460. // time. The time value is specified in ISO 8601 format. For more information
  5461. // about ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601)
  5462. //
  5463. // Example: 2012-07-16T18:00:00Z
  5464. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5465. // An optional parameter that specifies the starting point to return a set of
  5466. // response records. When the results of a DescribeClusterSnapshots request
  5467. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5468. // field of the response. You can retrieve the next set of response records
  5469. // by providing the returned marker value in the Marker parameter and retrying
  5470. // the request.
  5471. Marker *string `type:"string"`
  5472. // The maximum number of response records to return in each call. If the number
  5473. // of remaining response records exceeds the specified MaxRecords value, a value
  5474. // is returned in a marker field of the response. You can retrieve the next
  5475. // set of records by retrying the command with the returned marker value.
  5476. //
  5477. // Default: 100
  5478. //
  5479. // Constraints: minimum 20, maximum 100.
  5480. MaxRecords *int64 `type:"integer"`
  5481. // The AWS customer account used to create or copy the snapshot. Use this field
  5482. // to filter the results to snapshots owned by a particular account. To describe
  5483. // snapshots you own, either specify your AWS customer account, or do not specify
  5484. // the parameter.
  5485. OwnerAccount *string `type:"string"`
  5486. // The snapshot identifier of the snapshot about which to return information.
  5487. SnapshotIdentifier *string `type:"string"`
  5488. // The type of snapshots for which you are requesting information. By default,
  5489. // snapshots of all types are returned.
  5490. //
  5491. // Valid Values: automated | manual
  5492. SnapshotType *string `type:"string"`
  5493. // A value that requests only snapshots created at or after the specified time.
  5494. // The time value is specified in ISO 8601 format. For more information about
  5495. // ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601)
  5496. //
  5497. // Example: 2012-07-16T18:00:00Z
  5498. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5499. // A tag key or keys for which you want to return all matching cluster snapshots
  5500. // that are associated with the specified key or keys. For example, suppose
  5501. // that you have snapshots that are tagged with keys called owner and environment.
  5502. // If you specify both of these tag keys in the request, Amazon Redshift returns
  5503. // a response with the snapshots that have either or both of these tag keys
  5504. // associated with them.
  5505. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5506. // A tag value or values for which you want to return all matching cluster snapshots
  5507. // that are associated with the specified tag value or values. For example,
  5508. // suppose that you have snapshots that are tagged with values called admin
  5509. // and test. If you specify both of these tag values in the request, Amazon
  5510. // Redshift returns a response with the snapshots that have either or both of
  5511. // these tag values associated with them.
  5512. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5513. }
  5514. // String returns the string representation
  5515. func (s DescribeClusterSnapshotsInput) String() string {
  5516. return awsutil.Prettify(s)
  5517. }
  5518. // GoString returns the string representation
  5519. func (s DescribeClusterSnapshotsInput) GoString() string {
  5520. return s.String()
  5521. }
  5522. // Contains the output from the DescribeClusterSnapshots action.
  5523. type DescribeClusterSnapshotsOutput struct {
  5524. _ struct{} `type:"structure"`
  5525. // A value that indicates the starting point for the next set of response records
  5526. // in a subsequent request. If a value is returned in a response, you can retrieve
  5527. // the next set of records by providing this returned marker value in the Marker
  5528. // parameter and retrying the command. If the Marker field is empty, all response
  5529. // records have been retrieved for the request.
  5530. Marker *string `type:"string"`
  5531. // A list of Snapshot instances.
  5532. Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"`
  5533. }
  5534. // String returns the string representation
  5535. func (s DescribeClusterSnapshotsOutput) String() string {
  5536. return awsutil.Prettify(s)
  5537. }
  5538. // GoString returns the string representation
  5539. func (s DescribeClusterSnapshotsOutput) GoString() string {
  5540. return s.String()
  5541. }
  5542. type DescribeClusterSubnetGroupsInput struct {
  5543. _ struct{} `type:"structure"`
  5544. // The name of the cluster subnet group for which information is requested.
  5545. ClusterSubnetGroupName *string `type:"string"`
  5546. // An optional parameter that specifies the starting point to return a set of
  5547. // response records. When the results of a DescribeClusterSubnetGroups request
  5548. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5549. // field of the response. You can retrieve the next set of response records
  5550. // by providing the returned marker value in the Marker parameter and retrying
  5551. // the request.
  5552. Marker *string `type:"string"`
  5553. // The maximum number of response records to return in each call. If the number
  5554. // of remaining response records exceeds the specified MaxRecords value, a value
  5555. // is returned in a marker field of the response. You can retrieve the next
  5556. // set of records by retrying the command with the returned marker value.
  5557. //
  5558. // Default: 100
  5559. //
  5560. // Constraints: minimum 20, maximum 100.
  5561. MaxRecords *int64 `type:"integer"`
  5562. // A tag key or keys for which you want to return all matching cluster subnet
  5563. // groups that are associated with the specified key or keys. For example, suppose
  5564. // that you have subnet groups that are tagged with keys called owner and environment.
  5565. // If you specify both of these tag keys in the request, Amazon Redshift returns
  5566. // a response with the subnet groups that have either or both of these tag keys
  5567. // associated with them.
  5568. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5569. // A tag value or values for which you want to return all matching cluster subnet
  5570. // groups that are associated with the specified tag value or values. For example,
  5571. // suppose that you have subnet groups that are tagged with values called admin
  5572. // and test. If you specify both of these tag values in the request, Amazon
  5573. // Redshift returns a response with the subnet groups that have either or both
  5574. // of these tag values associated with them.
  5575. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5576. }
  5577. // String returns the string representation
  5578. func (s DescribeClusterSubnetGroupsInput) String() string {
  5579. return awsutil.Prettify(s)
  5580. }
  5581. // GoString returns the string representation
  5582. func (s DescribeClusterSubnetGroupsInput) GoString() string {
  5583. return s.String()
  5584. }
  5585. // Contains the output from the DescribeClusterSubnetGroups action.
  5586. type DescribeClusterSubnetGroupsOutput struct {
  5587. _ struct{} `type:"structure"`
  5588. // A list of ClusterSubnetGroup instances.
  5589. ClusterSubnetGroups []*ClusterSubnetGroup `locationNameList:"ClusterSubnetGroup" type:"list"`
  5590. // A value that indicates the starting point for the next set of response records
  5591. // in a subsequent request. If a value is returned in a response, you can retrieve
  5592. // the next set of records by providing this returned marker value in the Marker
  5593. // parameter and retrying the command. If the Marker field is empty, all response
  5594. // records have been retrieved for the request.
  5595. Marker *string `type:"string"`
  5596. }
  5597. // String returns the string representation
  5598. func (s DescribeClusterSubnetGroupsOutput) String() string {
  5599. return awsutil.Prettify(s)
  5600. }
  5601. // GoString returns the string representation
  5602. func (s DescribeClusterSubnetGroupsOutput) GoString() string {
  5603. return s.String()
  5604. }
  5605. type DescribeClusterVersionsInput struct {
  5606. _ struct{} `type:"structure"`
  5607. // The name of a specific cluster parameter group family to return details for.
  5608. //
  5609. // Constraints:
  5610. //
  5611. // Must be 1 to 255 alphanumeric characters First character must be a letter
  5612. // Cannot end with a hyphen or contain two consecutive hyphens
  5613. ClusterParameterGroupFamily *string `type:"string"`
  5614. // The specific cluster version to return.
  5615. //
  5616. // Example: 1.0
  5617. ClusterVersion *string `type:"string"`
  5618. // An optional parameter that specifies the starting point to return a set of
  5619. // response records. When the results of a DescribeClusterVersions request exceed
  5620. // the value specified in MaxRecords, AWS returns a value in the Marker field
  5621. // of the response. You can retrieve the next set of response records by providing
  5622. // the returned marker value in the Marker parameter and retrying the request.
  5623. Marker *string `type:"string"`
  5624. // The maximum number of response records to return in each call. If the number
  5625. // of remaining response records exceeds the specified MaxRecords value, a value
  5626. // is returned in a marker field of the response. You can retrieve the next
  5627. // set of records by retrying the command with the returned marker value.
  5628. //
  5629. // Default: 100
  5630. //
  5631. // Constraints: minimum 20, maximum 100.
  5632. MaxRecords *int64 `type:"integer"`
  5633. }
  5634. // String returns the string representation
  5635. func (s DescribeClusterVersionsInput) String() string {
  5636. return awsutil.Prettify(s)
  5637. }
  5638. // GoString returns the string representation
  5639. func (s DescribeClusterVersionsInput) GoString() string {
  5640. return s.String()
  5641. }
  5642. // Contains the output from the DescribeClusterVersions action.
  5643. type DescribeClusterVersionsOutput struct {
  5644. _ struct{} `type:"structure"`
  5645. // A list of Version elements.
  5646. ClusterVersions []*ClusterVersion `locationNameList:"ClusterVersion" type:"list"`
  5647. // A value that indicates the starting point for the next set of response records
  5648. // in a subsequent request. If a value is returned in a response, you can retrieve
  5649. // the next set of records by providing this returned marker value in the Marker
  5650. // parameter and retrying the command. If the Marker field is empty, all response
  5651. // records have been retrieved for the request.
  5652. Marker *string `type:"string"`
  5653. }
  5654. // String returns the string representation
  5655. func (s DescribeClusterVersionsOutput) String() string {
  5656. return awsutil.Prettify(s)
  5657. }
  5658. // GoString returns the string representation
  5659. func (s DescribeClusterVersionsOutput) GoString() string {
  5660. return s.String()
  5661. }
  5662. type DescribeClustersInput struct {
  5663. _ struct{} `type:"structure"`
  5664. // The unique identifier of a cluster whose properties you are requesting. This
  5665. // parameter is case sensitive.
  5666. //
  5667. // The default is that all clusters defined for an account are returned.
  5668. ClusterIdentifier *string `type:"string"`
  5669. // An optional parameter that specifies the starting point to return a set of
  5670. // response records. When the results of a DescribeClusters request exceed the
  5671. // value specified in MaxRecords, AWS returns a value in the Marker field of
  5672. // the response. You can retrieve the next set of response records by providing
  5673. // the returned marker value in the Marker parameter and retrying the request.
  5674. //
  5675. // Constraints: You can specify either the ClusterIdentifier parameter or
  5676. // the Marker parameter, but not both.
  5677. Marker *string `type:"string"`
  5678. // The maximum number of response records to return in each call. If the number
  5679. // of remaining response records exceeds the specified MaxRecords value, a value
  5680. // is returned in a marker field of the response. You can retrieve the next
  5681. // set of records by retrying the command with the returned marker value.
  5682. //
  5683. // Default: 100
  5684. //
  5685. // Constraints: minimum 20, maximum 100.
  5686. MaxRecords *int64 `type:"integer"`
  5687. // A tag key or keys for which you want to return all matching clusters that
  5688. // are associated with the specified key or keys. For example, suppose that
  5689. // you have clusters that are tagged with keys called owner and environment.
  5690. // If you specify both of these tag keys in the request, Amazon Redshift returns
  5691. // a response with the clusters that have either or both of these tag keys associated
  5692. // with them.
  5693. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5694. // A tag value or values for which you want to return all matching clusters
  5695. // that are associated with the specified tag value or values. For example,
  5696. // suppose that you have clusters that are tagged with values called admin and
  5697. // test. If you specify both of these tag values in the request, Amazon Redshift
  5698. // returns a response with the clusters that have either or both of these tag
  5699. // values associated with them.
  5700. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5701. }
  5702. // String returns the string representation
  5703. func (s DescribeClustersInput) String() string {
  5704. return awsutil.Prettify(s)
  5705. }
  5706. // GoString returns the string representation
  5707. func (s DescribeClustersInput) GoString() string {
  5708. return s.String()
  5709. }
  5710. // Contains the output from the DescribeClusters action.
  5711. type DescribeClustersOutput struct {
  5712. _ struct{} `type:"structure"`
  5713. // A list of Cluster objects, where each object describes one cluster.
  5714. Clusters []*Cluster `locationNameList:"Cluster" type:"list"`
  5715. // A value that indicates the starting point for the next set of response records
  5716. // in a subsequent request. If a value is returned in a response, you can retrieve
  5717. // the next set of records by providing this returned marker value in the Marker
  5718. // parameter and retrying the command. If the Marker field is empty, all response
  5719. // records have been retrieved for the request.
  5720. Marker *string `type:"string"`
  5721. }
  5722. // String returns the string representation
  5723. func (s DescribeClustersOutput) String() string {
  5724. return awsutil.Prettify(s)
  5725. }
  5726. // GoString returns the string representation
  5727. func (s DescribeClustersOutput) GoString() string {
  5728. return s.String()
  5729. }
  5730. type DescribeDefaultClusterParametersInput struct {
  5731. _ struct{} `type:"structure"`
  5732. // An optional parameter that specifies the starting point to return a set of
  5733. // response records. When the results of a DescribeDefaultClusterParameters
  5734. // request exceed the value specified in MaxRecords, AWS returns a value in
  5735. // the Marker field of the response. You can retrieve the next set of response
  5736. // records by providing the returned marker value in the Marker parameter and
  5737. // retrying the request.
  5738. Marker *string `type:"string"`
  5739. // The maximum number of response records to return in each call. If the number
  5740. // of remaining response records exceeds the specified MaxRecords value, a value
  5741. // is returned in a marker field of the response. You can retrieve the next
  5742. // set of records by retrying the command with the returned marker value.
  5743. //
  5744. // Default: 100
  5745. //
  5746. // Constraints: minimum 20, maximum 100.
  5747. MaxRecords *int64 `type:"integer"`
  5748. // The name of the cluster parameter group family.
  5749. ParameterGroupFamily *string `type:"string" required:"true"`
  5750. }
  5751. // String returns the string representation
  5752. func (s DescribeDefaultClusterParametersInput) String() string {
  5753. return awsutil.Prettify(s)
  5754. }
  5755. // GoString returns the string representation
  5756. func (s DescribeDefaultClusterParametersInput) GoString() string {
  5757. return s.String()
  5758. }
  5759. // Validate inspects the fields of the type to determine if they are valid.
  5760. func (s *DescribeDefaultClusterParametersInput) Validate() error {
  5761. invalidParams := request.ErrInvalidParams{Context: "DescribeDefaultClusterParametersInput"}
  5762. if s.ParameterGroupFamily == nil {
  5763. invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily"))
  5764. }
  5765. if invalidParams.Len() > 0 {
  5766. return invalidParams
  5767. }
  5768. return nil
  5769. }
  5770. type DescribeDefaultClusterParametersOutput struct {
  5771. _ struct{} `type:"structure"`
  5772. // Describes the default cluster parameters for a parameter group family.
  5773. DefaultClusterParameters *DefaultClusterParameters `type:"structure"`
  5774. }
  5775. // String returns the string representation
  5776. func (s DescribeDefaultClusterParametersOutput) String() string {
  5777. return awsutil.Prettify(s)
  5778. }
  5779. // GoString returns the string representation
  5780. func (s DescribeDefaultClusterParametersOutput) GoString() string {
  5781. return s.String()
  5782. }
  5783. type DescribeEventCategoriesInput struct {
  5784. _ struct{} `type:"structure"`
  5785. // The source type, such as cluster or parameter group, to which the described
  5786. // event categories apply.
  5787. //
  5788. // Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group.
  5789. SourceType *string `type:"string"`
  5790. }
  5791. // String returns the string representation
  5792. func (s DescribeEventCategoriesInput) String() string {
  5793. return awsutil.Prettify(s)
  5794. }
  5795. // GoString returns the string representation
  5796. func (s DescribeEventCategoriesInput) GoString() string {
  5797. return s.String()
  5798. }
  5799. type DescribeEventCategoriesOutput struct {
  5800. _ struct{} `type:"structure"`
  5801. // A list of event categories descriptions.
  5802. EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
  5803. }
  5804. // String returns the string representation
  5805. func (s DescribeEventCategoriesOutput) String() string {
  5806. return awsutil.Prettify(s)
  5807. }
  5808. // GoString returns the string representation
  5809. func (s DescribeEventCategoriesOutput) GoString() string {
  5810. return s.String()
  5811. }
  5812. type DescribeEventSubscriptionsInput struct {
  5813. _ struct{} `type:"structure"`
  5814. // An optional parameter that specifies the starting point to return a set of
  5815. // response records. When the results of a DescribeEventSubscriptions request
  5816. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5817. // field of the response. You can retrieve the next set of response records
  5818. // by providing the returned marker value in the Marker parameter and retrying
  5819. // the request.
  5820. Marker *string `type:"string"`
  5821. // The maximum number of response records to return in each call. If the number
  5822. // of remaining response records exceeds the specified MaxRecords value, a value
  5823. // is returned in a marker field of the response. You can retrieve the next
  5824. // set of records by retrying the command with the returned marker value.
  5825. //
  5826. // Default: 100
  5827. //
  5828. // Constraints: minimum 20, maximum 100.
  5829. MaxRecords *int64 `type:"integer"`
  5830. // The name of the Amazon Redshift event notification subscription to be described.
  5831. SubscriptionName *string `type:"string"`
  5832. }
  5833. // String returns the string representation
  5834. func (s DescribeEventSubscriptionsInput) String() string {
  5835. return awsutil.Prettify(s)
  5836. }
  5837. // GoString returns the string representation
  5838. func (s DescribeEventSubscriptionsInput) GoString() string {
  5839. return s.String()
  5840. }
  5841. type DescribeEventSubscriptionsOutput struct {
  5842. _ struct{} `type:"structure"`
  5843. // A list of event subscriptions.
  5844. EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
  5845. // A value that indicates the starting point for the next set of response records
  5846. // in a subsequent request. If a value is returned in a response, you can retrieve
  5847. // the next set of records by providing this returned marker value in the Marker
  5848. // parameter and retrying the command. If the Marker field is empty, all response
  5849. // records have been retrieved for the request.
  5850. Marker *string `type:"string"`
  5851. }
  5852. // String returns the string representation
  5853. func (s DescribeEventSubscriptionsOutput) String() string {
  5854. return awsutil.Prettify(s)
  5855. }
  5856. // GoString returns the string representation
  5857. func (s DescribeEventSubscriptionsOutput) GoString() string {
  5858. return s.String()
  5859. }
  5860. type DescribeEventsInput struct {
  5861. _ struct{} `type:"structure"`
  5862. // The number of minutes prior to the time of the request for which to retrieve
  5863. // events. For example, if the request is sent at 18:00 and you specify a duration
  5864. // of 60, then only events which have occurred after 17:00 will be returned.
  5865. //
  5866. // Default: 60
  5867. Duration *int64 `type:"integer"`
  5868. // The end of the time interval for which to retrieve events, specified in ISO
  5869. // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
  5870. // page. (http://en.wikipedia.org/wiki/ISO_8601)
  5871. //
  5872. // Example: 2009-07-08T18:00Z
  5873. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5874. // An optional parameter that specifies the starting point to return a set of
  5875. // response records. When the results of a DescribeEvents request exceed the
  5876. // value specified in MaxRecords, AWS returns a value in the Marker field of
  5877. // the response. You can retrieve the next set of response records by providing
  5878. // the returned marker value in the Marker parameter and retrying the request.
  5879. Marker *string `type:"string"`
  5880. // The maximum number of response records to return in each call. If the number
  5881. // of remaining response records exceeds the specified MaxRecords value, a value
  5882. // is returned in a marker field of the response. You can retrieve the next
  5883. // set of records by retrying the command with the returned marker value.
  5884. //
  5885. // Default: 100
  5886. //
  5887. // Constraints: minimum 20, maximum 100.
  5888. MaxRecords *int64 `type:"integer"`
  5889. // The identifier of the event source for which events will be returned. If
  5890. // this parameter is not specified, then all sources are included in the response.
  5891. //
  5892. // Constraints:
  5893. //
  5894. // If SourceIdentifier is supplied, SourceType must also be provided.
  5895. //
  5896. // Specify a cluster identifier when SourceType is cluster. Specify a cluster
  5897. // security group name when SourceType is cluster-security-group. Specify a
  5898. // cluster parameter group name when SourceType is cluster-parameter-group.
  5899. // Specify a cluster snapshot identifier when SourceType is cluster-snapshot.
  5900. SourceIdentifier *string `type:"string"`
  5901. // The event source to retrieve events for. If no value is specified, all events
  5902. // are returned.
  5903. //
  5904. // Constraints:
  5905. //
  5906. // If SourceType is supplied, SourceIdentifier must also be provided.
  5907. //
  5908. // Specify cluster when SourceIdentifier is a cluster identifier. Specify
  5909. // cluster-security-group when SourceIdentifier is a cluster security group
  5910. // name. Specify cluster-parameter-group when SourceIdentifier is a cluster
  5911. // parameter group name. Specify cluster-snapshot when SourceIdentifier is a
  5912. // cluster snapshot identifier.
  5913. SourceType *string `type:"string" enum:"SourceType"`
  5914. // The beginning of the time interval to retrieve events for, specified in ISO
  5915. // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
  5916. // page. (http://en.wikipedia.org/wiki/ISO_8601)
  5917. //
  5918. // Example: 2009-07-08T18:00Z
  5919. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5920. }
  5921. // String returns the string representation
  5922. func (s DescribeEventsInput) String() string {
  5923. return awsutil.Prettify(s)
  5924. }
  5925. // GoString returns the string representation
  5926. func (s DescribeEventsInput) GoString() string {
  5927. return s.String()
  5928. }
  5929. type DescribeEventsOutput struct {
  5930. _ struct{} `type:"structure"`
  5931. // A list of Event instances.
  5932. Events []*Event `locationNameList:"Event" type:"list"`
  5933. // A value that indicates the starting point for the next set of response records
  5934. // in a subsequent request. If a value is returned in a response, you can retrieve
  5935. // the next set of records by providing this returned marker value in the Marker
  5936. // parameter and retrying the command. If the Marker field is empty, all response
  5937. // records have been retrieved for the request.
  5938. Marker *string `type:"string"`
  5939. }
  5940. // String returns the string representation
  5941. func (s DescribeEventsOutput) String() string {
  5942. return awsutil.Prettify(s)
  5943. }
  5944. // GoString returns the string representation
  5945. func (s DescribeEventsOutput) GoString() string {
  5946. return s.String()
  5947. }
  5948. type DescribeHsmClientCertificatesInput struct {
  5949. _ struct{} `type:"structure"`
  5950. // The identifier of a specific HSM client certificate for which you want information.
  5951. // If no identifier is specified, information is returned for all HSM client
  5952. // certificates owned by your AWS customer account.
  5953. HsmClientCertificateIdentifier *string `type:"string"`
  5954. // An optional parameter that specifies the starting point to return a set of
  5955. // response records. When the results of a DescribeHsmClientCertificates request
  5956. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  5957. // field of the response. You can retrieve the next set of response records
  5958. // by providing the returned marker value in the Marker parameter and retrying
  5959. // the request.
  5960. Marker *string `type:"string"`
  5961. // The maximum number of response records to return in each call. If the number
  5962. // of remaining response records exceeds the specified MaxRecords value, a value
  5963. // is returned in a marker field of the response. You can retrieve the next
  5964. // set of records by retrying the command with the returned marker value.
  5965. //
  5966. // Default: 100
  5967. //
  5968. // Constraints: minimum 20, maximum 100.
  5969. MaxRecords *int64 `type:"integer"`
  5970. // A tag key or keys for which you want to return all matching HSM client certificates
  5971. // that are associated with the specified key or keys. For example, suppose
  5972. // that you have HSM client certificates that are tagged with keys called owner
  5973. // and environment. If you specify both of these tag keys in the request, Amazon
  5974. // Redshift returns a response with the HSM client certificates that have either
  5975. // or both of these tag keys associated with them.
  5976. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  5977. // A tag value or values for which you want to return all matching HSM client
  5978. // certificates that are associated with the specified tag value or values.
  5979. // For example, suppose that you have HSM client certificates that are tagged
  5980. // with values called admin and test. If you specify both of these tag values
  5981. // in the request, Amazon Redshift returns a response with the HSM client certificates
  5982. // that have either or both of these tag values associated with them.
  5983. TagValues []*string `locationNameList:"TagValue" type:"list"`
  5984. }
  5985. // String returns the string representation
  5986. func (s DescribeHsmClientCertificatesInput) String() string {
  5987. return awsutil.Prettify(s)
  5988. }
  5989. // GoString returns the string representation
  5990. func (s DescribeHsmClientCertificatesInput) GoString() string {
  5991. return s.String()
  5992. }
  5993. type DescribeHsmClientCertificatesOutput struct {
  5994. _ struct{} `type:"structure"`
  5995. // A list of the identifiers for one or more HSM client certificates used by
  5996. // Amazon Redshift clusters to store and retrieve database encryption keys in
  5997. // an HSM.
  5998. HsmClientCertificates []*HsmClientCertificate `locationNameList:"HsmClientCertificate" type:"list"`
  5999. // A value that indicates the starting point for the next set of response records
  6000. // in a subsequent request. If a value is returned in a response, you can retrieve
  6001. // the next set of records by providing this returned marker value in the Marker
  6002. // parameter and retrying the command. If the Marker field is empty, all response
  6003. // records have been retrieved for the request.
  6004. Marker *string `type:"string"`
  6005. }
  6006. // String returns the string representation
  6007. func (s DescribeHsmClientCertificatesOutput) String() string {
  6008. return awsutil.Prettify(s)
  6009. }
  6010. // GoString returns the string representation
  6011. func (s DescribeHsmClientCertificatesOutput) GoString() string {
  6012. return s.String()
  6013. }
  6014. type DescribeHsmConfigurationsInput struct {
  6015. _ struct{} `type:"structure"`
  6016. // The identifier of a specific Amazon Redshift HSM configuration to be described.
  6017. // If no identifier is specified, information is returned for all HSM configurations
  6018. // owned by your AWS customer account.
  6019. HsmConfigurationIdentifier *string `type:"string"`
  6020. // An optional parameter that specifies the starting point to return a set of
  6021. // response records. When the results of a DescribeHsmConfigurations request
  6022. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  6023. // field of the response. You can retrieve the next set of response records
  6024. // by providing the returned marker value in the Marker parameter and retrying
  6025. // the request.
  6026. Marker *string `type:"string"`
  6027. // The maximum number of response records to return in each call. If the number
  6028. // of remaining response records exceeds the specified MaxRecords value, a value
  6029. // is returned in a marker field of the response. You can retrieve the next
  6030. // set of records by retrying the command with the returned marker value.
  6031. //
  6032. // Default: 100
  6033. //
  6034. // Constraints: minimum 20, maximum 100.
  6035. MaxRecords *int64 `type:"integer"`
  6036. // A tag key or keys for which you want to return all matching HSM configurations
  6037. // that are associated with the specified key or keys. For example, suppose
  6038. // that you have HSM configurations that are tagged with keys called owner and
  6039. // environment. If you specify both of these tag keys in the request, Amazon
  6040. // Redshift returns a response with the HSM configurations that have either
  6041. // or both of these tag keys associated with them.
  6042. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  6043. // A tag value or values for which you want to return all matching HSM configurations
  6044. // that are associated with the specified tag value or values. For example,
  6045. // suppose that you have HSM configurations that are tagged with values called
  6046. // admin and test. If you specify both of these tag values in the request, Amazon
  6047. // Redshift returns a response with the HSM configurations that have either
  6048. // or both of these tag values associated with them.
  6049. TagValues []*string `locationNameList:"TagValue" type:"list"`
  6050. }
  6051. // String returns the string representation
  6052. func (s DescribeHsmConfigurationsInput) String() string {
  6053. return awsutil.Prettify(s)
  6054. }
  6055. // GoString returns the string representation
  6056. func (s DescribeHsmConfigurationsInput) GoString() string {
  6057. return s.String()
  6058. }
  6059. type DescribeHsmConfigurationsOutput struct {
  6060. _ struct{} `type:"structure"`
  6061. // A list of HsmConfiguration objects.
  6062. HsmConfigurations []*HsmConfiguration `locationNameList:"HsmConfiguration" type:"list"`
  6063. // A value that indicates the starting point for the next set of response records
  6064. // in a subsequent request. If a value is returned in a response, you can retrieve
  6065. // the next set of records by providing this returned marker value in the Marker
  6066. // parameter and retrying the command. If the Marker field is empty, all response
  6067. // records have been retrieved for the request.
  6068. Marker *string `type:"string"`
  6069. }
  6070. // String returns the string representation
  6071. func (s DescribeHsmConfigurationsOutput) String() string {
  6072. return awsutil.Prettify(s)
  6073. }
  6074. // GoString returns the string representation
  6075. func (s DescribeHsmConfigurationsOutput) GoString() string {
  6076. return s.String()
  6077. }
  6078. type DescribeLoggingStatusInput struct {
  6079. _ struct{} `type:"structure"`
  6080. // The identifier of the cluster from which to get the logging status.
  6081. //
  6082. // Example: examplecluster
  6083. ClusterIdentifier *string `type:"string" required:"true"`
  6084. }
  6085. // String returns the string representation
  6086. func (s DescribeLoggingStatusInput) String() string {
  6087. return awsutil.Prettify(s)
  6088. }
  6089. // GoString returns the string representation
  6090. func (s DescribeLoggingStatusInput) GoString() string {
  6091. return s.String()
  6092. }
  6093. // Validate inspects the fields of the type to determine if they are valid.
  6094. func (s *DescribeLoggingStatusInput) Validate() error {
  6095. invalidParams := request.ErrInvalidParams{Context: "DescribeLoggingStatusInput"}
  6096. if s.ClusterIdentifier == nil {
  6097. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6098. }
  6099. if invalidParams.Len() > 0 {
  6100. return invalidParams
  6101. }
  6102. return nil
  6103. }
  6104. type DescribeOrderableClusterOptionsInput struct {
  6105. _ struct{} `type:"structure"`
  6106. // The version filter value. Specify this parameter to show only the available
  6107. // offerings matching the specified version.
  6108. //
  6109. // Default: All versions.
  6110. //
  6111. // Constraints: Must be one of the version returned from DescribeClusterVersions.
  6112. ClusterVersion *string `type:"string"`
  6113. // An optional parameter that specifies the starting point to return a set of
  6114. // response records. When the results of a DescribeOrderableClusterOptions request
  6115. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  6116. // field of the response. You can retrieve the next set of response records
  6117. // by providing the returned marker value in the Marker parameter and retrying
  6118. // the request.
  6119. Marker *string `type:"string"`
  6120. // The maximum number of response records to return in each call. If the number
  6121. // of remaining response records exceeds the specified MaxRecords value, a value
  6122. // is returned in a marker field of the response. You can retrieve the next
  6123. // set of records by retrying the command with the returned marker value.
  6124. //
  6125. // Default: 100
  6126. //
  6127. // Constraints: minimum 20, maximum 100.
  6128. MaxRecords *int64 `type:"integer"`
  6129. // The node type filter value. Specify this parameter to show only the available
  6130. // offerings matching the specified node type.
  6131. NodeType *string `type:"string"`
  6132. }
  6133. // String returns the string representation
  6134. func (s DescribeOrderableClusterOptionsInput) String() string {
  6135. return awsutil.Prettify(s)
  6136. }
  6137. // GoString returns the string representation
  6138. func (s DescribeOrderableClusterOptionsInput) GoString() string {
  6139. return s.String()
  6140. }
  6141. // Contains the output from the DescribeOrderableClusterOptions action.
  6142. type DescribeOrderableClusterOptionsOutput struct {
  6143. _ struct{} `type:"structure"`
  6144. // A value that indicates the starting point for the next set of response records
  6145. // in a subsequent request. If a value is returned in a response, you can retrieve
  6146. // the next set of records by providing this returned marker value in the Marker
  6147. // parameter and retrying the command. If the Marker field is empty, all response
  6148. // records have been retrieved for the request.
  6149. Marker *string `type:"string"`
  6150. // An OrderableClusterOption structure containing information about orderable
  6151. // options for the cluster.
  6152. OrderableClusterOptions []*OrderableClusterOption `locationNameList:"OrderableClusterOption" type:"list"`
  6153. }
  6154. // String returns the string representation
  6155. func (s DescribeOrderableClusterOptionsOutput) String() string {
  6156. return awsutil.Prettify(s)
  6157. }
  6158. // GoString returns the string representation
  6159. func (s DescribeOrderableClusterOptionsOutput) GoString() string {
  6160. return s.String()
  6161. }
  6162. type DescribeReservedNodeOfferingsInput struct {
  6163. _ struct{} `type:"structure"`
  6164. // An optional parameter that specifies the starting point to return a set of
  6165. // response records. When the results of a DescribeReservedNodeOfferings request
  6166. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  6167. // field of the response. You can retrieve the next set of response records
  6168. // by providing the returned marker value in the Marker parameter and retrying
  6169. // the request.
  6170. Marker *string `type:"string"`
  6171. // The maximum number of response records to return in each call. If the number
  6172. // of remaining response records exceeds the specified MaxRecords value, a value
  6173. // is returned in a marker field of the response. You can retrieve the next
  6174. // set of records by retrying the command with the returned marker value.
  6175. //
  6176. // Default: 100
  6177. //
  6178. // Constraints: minimum 20, maximum 100.
  6179. MaxRecords *int64 `type:"integer"`
  6180. // The unique identifier for the offering.
  6181. ReservedNodeOfferingId *string `type:"string"`
  6182. }
  6183. // String returns the string representation
  6184. func (s DescribeReservedNodeOfferingsInput) String() string {
  6185. return awsutil.Prettify(s)
  6186. }
  6187. // GoString returns the string representation
  6188. func (s DescribeReservedNodeOfferingsInput) GoString() string {
  6189. return s.String()
  6190. }
  6191. type DescribeReservedNodeOfferingsOutput struct {
  6192. _ struct{} `type:"structure"`
  6193. // A value that indicates the starting point for the next set of response records
  6194. // in a subsequent request. If a value is returned in a response, you can retrieve
  6195. // the next set of records by providing this returned marker value in the Marker
  6196. // parameter and retrying the command. If the Marker field is empty, all response
  6197. // records have been retrieved for the request.
  6198. Marker *string `type:"string"`
  6199. // A list of ReservedNodeOffering objects.
  6200. ReservedNodeOfferings []*ReservedNodeOffering `locationNameList:"ReservedNodeOffering" type:"list"`
  6201. }
  6202. // String returns the string representation
  6203. func (s DescribeReservedNodeOfferingsOutput) String() string {
  6204. return awsutil.Prettify(s)
  6205. }
  6206. // GoString returns the string representation
  6207. func (s DescribeReservedNodeOfferingsOutput) GoString() string {
  6208. return s.String()
  6209. }
  6210. type DescribeReservedNodesInput struct {
  6211. _ struct{} `type:"structure"`
  6212. // An optional parameter that specifies the starting point to return a set of
  6213. // response records. When the results of a DescribeReservedNodes request exceed
  6214. // the value specified in MaxRecords, AWS returns a value in the Marker field
  6215. // of the response. You can retrieve the next set of response records by providing
  6216. // the returned marker value in the Marker parameter and retrying the request.
  6217. Marker *string `type:"string"`
  6218. // The maximum number of response records to return in each call. If the number
  6219. // of remaining response records exceeds the specified MaxRecords value, a value
  6220. // is returned in a marker field of the response. You can retrieve the next
  6221. // set of records by retrying the command with the returned marker value.
  6222. //
  6223. // Default: 100
  6224. //
  6225. // Constraints: minimum 20, maximum 100.
  6226. MaxRecords *int64 `type:"integer"`
  6227. // Identifier for the node reservation.
  6228. ReservedNodeId *string `type:"string"`
  6229. }
  6230. // String returns the string representation
  6231. func (s DescribeReservedNodesInput) String() string {
  6232. return awsutil.Prettify(s)
  6233. }
  6234. // GoString returns the string representation
  6235. func (s DescribeReservedNodesInput) GoString() string {
  6236. return s.String()
  6237. }
  6238. type DescribeReservedNodesOutput struct {
  6239. _ struct{} `type:"structure"`
  6240. // A value that indicates the starting point for the next set of response records
  6241. // in a subsequent request. If a value is returned in a response, you can retrieve
  6242. // the next set of records by providing this returned marker value in the Marker
  6243. // parameter and retrying the command. If the Marker field is empty, all response
  6244. // records have been retrieved for the request.
  6245. Marker *string `type:"string"`
  6246. // The list of ReservedNode objects.
  6247. ReservedNodes []*ReservedNode `locationNameList:"ReservedNode" type:"list"`
  6248. }
  6249. // String returns the string representation
  6250. func (s DescribeReservedNodesOutput) String() string {
  6251. return awsutil.Prettify(s)
  6252. }
  6253. // GoString returns the string representation
  6254. func (s DescribeReservedNodesOutput) GoString() string {
  6255. return s.String()
  6256. }
  6257. type DescribeResizeInput struct {
  6258. _ struct{} `type:"structure"`
  6259. // The unique identifier of a cluster whose resize progress you are requesting.
  6260. // This parameter is case-sensitive.
  6261. //
  6262. // By default, resize operations for all clusters defined for an AWS account
  6263. // are returned.
  6264. ClusterIdentifier *string `type:"string" required:"true"`
  6265. }
  6266. // String returns the string representation
  6267. func (s DescribeResizeInput) String() string {
  6268. return awsutil.Prettify(s)
  6269. }
  6270. // GoString returns the string representation
  6271. func (s DescribeResizeInput) GoString() string {
  6272. return s.String()
  6273. }
  6274. // Validate inspects the fields of the type to determine if they are valid.
  6275. func (s *DescribeResizeInput) Validate() error {
  6276. invalidParams := request.ErrInvalidParams{Context: "DescribeResizeInput"}
  6277. if s.ClusterIdentifier == nil {
  6278. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6279. }
  6280. if invalidParams.Len() > 0 {
  6281. return invalidParams
  6282. }
  6283. return nil
  6284. }
  6285. // Describes the result of a cluster resize operation.
  6286. type DescribeResizeOutput struct {
  6287. _ struct{} `type:"structure"`
  6288. // The average rate of the resize operation over the last few minutes, measured
  6289. // in megabytes per second. After the resize operation completes, this value
  6290. // shows the average rate of the entire resize operation.
  6291. AvgResizeRateInMegaBytesPerSecond *float64 `type:"double"`
  6292. // The amount of seconds that have elapsed since the resize operation began.
  6293. // After the resize operation completes, this value shows the total actual time,
  6294. // in seconds, for the resize operation.
  6295. ElapsedTimeInSeconds *int64 `type:"long"`
  6296. // The estimated time remaining, in seconds, until the resize operation is complete.
  6297. // This value is calculated based on the average resize rate and the estimated
  6298. // amount of data remaining to be processed. Once the resize operation is complete,
  6299. // this value will be 0.
  6300. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  6301. // The names of tables that have been completely imported .
  6302. //
  6303. // Valid Values: List of table names.
  6304. ImportTablesCompleted []*string `type:"list"`
  6305. // The names of tables that are being currently imported.
  6306. //
  6307. // Valid Values: List of table names.
  6308. ImportTablesInProgress []*string `type:"list"`
  6309. // The names of tables that have not been yet imported.
  6310. //
  6311. // Valid Values: List of table names
  6312. ImportTablesNotStarted []*string `type:"list"`
  6313. // While the resize operation is in progress, this value shows the current amount
  6314. // of data, in megabytes, that has been processed so far. When the resize operation
  6315. // is complete, this value shows the total amount of data, in megabytes, on
  6316. // the cluster, which may be more or less than TotalResizeDataInMegaBytes (the
  6317. // estimated total amount of data before resize).
  6318. ProgressInMegaBytes *int64 `type:"long"`
  6319. // The status of the resize operation.
  6320. //
  6321. // Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED
  6322. Status *string `type:"string"`
  6323. // The cluster type after the resize operation is complete.
  6324. //
  6325. // Valid Values: multi-node | single-node
  6326. TargetClusterType *string `type:"string"`
  6327. // The node type that the cluster will have after the resize operation is complete.
  6328. TargetNodeType *string `type:"string"`
  6329. // The number of nodes that the cluster will have after the resize operation
  6330. // is complete.
  6331. TargetNumberOfNodes *int64 `type:"integer"`
  6332. // The estimated total amount of data, in megabytes, on the cluster before the
  6333. // resize operation began.
  6334. TotalResizeDataInMegaBytes *int64 `type:"long"`
  6335. }
  6336. // String returns the string representation
  6337. func (s DescribeResizeOutput) String() string {
  6338. return awsutil.Prettify(s)
  6339. }
  6340. // GoString returns the string representation
  6341. func (s DescribeResizeOutput) GoString() string {
  6342. return s.String()
  6343. }
  6344. // The result of the DescribeSnapshotCopyGrants action.
  6345. type DescribeSnapshotCopyGrantsInput struct {
  6346. _ struct{} `type:"structure"`
  6347. // An optional parameter that specifies the starting point to return a set of
  6348. // response records. When the results of a DescribeSnapshotCopyGrant request
  6349. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  6350. // field of the response. You can retrieve the next set of response records
  6351. // by providing the returned marker value in the Marker parameter and retrying
  6352. // the request.
  6353. //
  6354. // Constraints: You can specify either the SnapshotCopyGrantName parameter
  6355. // or the Marker parameter, but not both.
  6356. Marker *string `type:"string"`
  6357. // The maximum number of response records to return in each call. If the number
  6358. // of remaining response records exceeds the specified MaxRecords value, a value
  6359. // is returned in a marker field of the response. You can retrieve the next
  6360. // set of records by retrying the command with the returned marker value.
  6361. //
  6362. // Default: 100
  6363. //
  6364. // Constraints: minimum 20, maximum 100.
  6365. MaxRecords *int64 `type:"integer"`
  6366. // The name of the snapshot copy grant.
  6367. SnapshotCopyGrantName *string `type:"string"`
  6368. // A tag key or keys for which you want to return all matching resources that
  6369. // are associated with the specified key or keys. For example, suppose that
  6370. // you have resources tagged with keys called owner and environment. If you
  6371. // specify both of these tag keys in the request, Amazon Redshift returns a
  6372. // response with all resources that have either or both of these tag keys associated
  6373. // with them.
  6374. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  6375. // A tag value or values for which you want to return all matching resources
  6376. // that are associated with the specified value or values. For example, suppose
  6377. // that you have resources tagged with values called admin and test. If you
  6378. // specify both of these tag values in the request, Amazon Redshift returns
  6379. // a response with all resources that have either or both of these tag values
  6380. // associated with them.
  6381. TagValues []*string `locationNameList:"TagValue" type:"list"`
  6382. }
  6383. // String returns the string representation
  6384. func (s DescribeSnapshotCopyGrantsInput) String() string {
  6385. return awsutil.Prettify(s)
  6386. }
  6387. // GoString returns the string representation
  6388. func (s DescribeSnapshotCopyGrantsInput) GoString() string {
  6389. return s.String()
  6390. }
  6391. type DescribeSnapshotCopyGrantsOutput struct {
  6392. _ struct{} `type:"structure"`
  6393. // An optional parameter that specifies the starting point to return a set of
  6394. // response records. When the results of a DescribeSnapshotCopyGrant request
  6395. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  6396. // field of the response. You can retrieve the next set of response records
  6397. // by providing the returned marker value in the Marker parameter and retrying
  6398. // the request.
  6399. //
  6400. // Constraints: You can specify either the SnapshotCopyGrantName parameter
  6401. // or the Marker parameter, but not both.
  6402. Marker *string `type:"string"`
  6403. // The list of SnapshotCopyGrant objects.
  6404. SnapshotCopyGrants []*SnapshotCopyGrant `locationNameList:"SnapshotCopyGrant" type:"list"`
  6405. }
  6406. // String returns the string representation
  6407. func (s DescribeSnapshotCopyGrantsOutput) String() string {
  6408. return awsutil.Prettify(s)
  6409. }
  6410. // GoString returns the string representation
  6411. func (s DescribeSnapshotCopyGrantsOutput) GoString() string {
  6412. return s.String()
  6413. }
  6414. type DescribeTableRestoreStatusInput struct {
  6415. _ struct{} `type:"structure"`
  6416. // The Amazon Redshift cluster that the table is being restored to.
  6417. ClusterIdentifier *string `type:"string"`
  6418. // An optional pagination token provided by a previous DescribeTableRestoreStatus
  6419. // request. If this parameter is specified, the response includes only records
  6420. // beyond the marker, up to the value specified by the MaxRecords parameter.
  6421. Marker *string `type:"string"`
  6422. // The maximum number of records to include in the response. If more records
  6423. // exist than the specified MaxRecords value, a pagination token called a marker
  6424. // is included in the response so that the remaining results can be retrieved.
  6425. MaxRecords *int64 `type:"integer"`
  6426. // The identifier of the table restore request to return status for. If you
  6427. // don't specify a TableRestoreRequestId value, then DescribeTableRestoreStatus
  6428. // returns the status of all in-progress table restore requests.
  6429. TableRestoreRequestId *string `type:"string"`
  6430. }
  6431. // String returns the string representation
  6432. func (s DescribeTableRestoreStatusInput) String() string {
  6433. return awsutil.Prettify(s)
  6434. }
  6435. // GoString returns the string representation
  6436. func (s DescribeTableRestoreStatusInput) GoString() string {
  6437. return s.String()
  6438. }
  6439. type DescribeTableRestoreStatusOutput struct {
  6440. _ struct{} `type:"structure"`
  6441. // A pagination token that can be used in a subsequent DescribeTableRestoreStatus
  6442. // request.
  6443. Marker *string `type:"string"`
  6444. // A list of status details for one or more table restore requests.
  6445. TableRestoreStatusDetails []*TableRestoreStatus `locationNameList:"TableRestoreStatus" type:"list"`
  6446. }
  6447. // String returns the string representation
  6448. func (s DescribeTableRestoreStatusOutput) String() string {
  6449. return awsutil.Prettify(s)
  6450. }
  6451. // GoString returns the string representation
  6452. func (s DescribeTableRestoreStatusOutput) GoString() string {
  6453. return s.String()
  6454. }
  6455. type DescribeTagsInput struct {
  6456. _ struct{} `type:"structure"`
  6457. // A value that indicates the starting point for the next set of response records
  6458. // in a subsequent request. If a value is returned in a response, you can retrieve
  6459. // the next set of records by providing this returned marker value in the marker
  6460. // parameter and retrying the command. If the marker field is empty, all response
  6461. // records have been retrieved for the request.
  6462. Marker *string `type:"string"`
  6463. // The maximum number or response records to return in each call. If the number
  6464. // of remaining response records exceeds the specified MaxRecords value, a value
  6465. // is returned in a marker field of the response. You can retrieve the next
  6466. // set of records by retrying the command with the returned marker value.
  6467. MaxRecords *int64 `type:"integer"`
  6468. // The Amazon Resource Name (ARN) for which you want to describe the tag or
  6469. // tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  6470. ResourceName *string `type:"string"`
  6471. // The type of resource with which you want to view tags. Valid resource types
  6472. // are: Cluster CIDR/IP EC2 security group Snapshot Cluster security group
  6473. // Subnet group HSM connection HSM certificate Parameter group Snapshot copy
  6474. // grant
  6475. //
  6476. // For more information about Amazon Redshift resource types and constructing
  6477. // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html)
  6478. // in the Amazon Redshift Cluster Management Guide.
  6479. ResourceType *string `type:"string"`
  6480. // A tag key or keys for which you want to return all matching resources that
  6481. // are associated with the specified key or keys. For example, suppose that
  6482. // you have resources tagged with keys called owner and environment. If you
  6483. // specify both of these tag keys in the request, Amazon Redshift returns a
  6484. // response with all resources that have either or both of these tag keys associated
  6485. // with them.
  6486. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  6487. // A tag value or values for which you want to return all matching resources
  6488. // that are associated with the specified value or values. For example, suppose
  6489. // that you have resources tagged with values called admin and test. If you
  6490. // specify both of these tag values in the request, Amazon Redshift returns
  6491. // a response with all resources that have either or both of these tag values
  6492. // associated with them.
  6493. TagValues []*string `locationNameList:"TagValue" type:"list"`
  6494. }
  6495. // String returns the string representation
  6496. func (s DescribeTagsInput) String() string {
  6497. return awsutil.Prettify(s)
  6498. }
  6499. // GoString returns the string representation
  6500. func (s DescribeTagsInput) GoString() string {
  6501. return s.String()
  6502. }
  6503. type DescribeTagsOutput struct {
  6504. _ struct{} `type:"structure"`
  6505. // A value that indicates the starting point for the next set of response records
  6506. // in a subsequent request. If a value is returned in a response, you can retrieve
  6507. // the next set of records by providing this returned marker value in the Marker
  6508. // parameter and retrying the command. If the Marker field is empty, all response
  6509. // records have been retrieved for the request.
  6510. Marker *string `type:"string"`
  6511. // A list of tags with their associated resources.
  6512. TaggedResources []*TaggedResource `locationNameList:"TaggedResource" type:"list"`
  6513. }
  6514. // String returns the string representation
  6515. func (s DescribeTagsOutput) String() string {
  6516. return awsutil.Prettify(s)
  6517. }
  6518. // GoString returns the string representation
  6519. func (s DescribeTagsOutput) GoString() string {
  6520. return s.String()
  6521. }
  6522. type DisableLoggingInput struct {
  6523. _ struct{} `type:"structure"`
  6524. // The identifier of the cluster on which logging is to be stopped.
  6525. //
  6526. // Example: examplecluster
  6527. ClusterIdentifier *string `type:"string" required:"true"`
  6528. }
  6529. // String returns the string representation
  6530. func (s DisableLoggingInput) String() string {
  6531. return awsutil.Prettify(s)
  6532. }
  6533. // GoString returns the string representation
  6534. func (s DisableLoggingInput) GoString() string {
  6535. return s.String()
  6536. }
  6537. // Validate inspects the fields of the type to determine if they are valid.
  6538. func (s *DisableLoggingInput) Validate() error {
  6539. invalidParams := request.ErrInvalidParams{Context: "DisableLoggingInput"}
  6540. if s.ClusterIdentifier == nil {
  6541. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6542. }
  6543. if invalidParams.Len() > 0 {
  6544. return invalidParams
  6545. }
  6546. return nil
  6547. }
  6548. type DisableSnapshotCopyInput struct {
  6549. _ struct{} `type:"structure"`
  6550. // The unique identifier of the source cluster that you want to disable copying
  6551. // of snapshots to a destination region.
  6552. //
  6553. // Constraints: Must be the valid name of an existing cluster that has cross-region
  6554. // snapshot copy enabled.
  6555. ClusterIdentifier *string `type:"string" required:"true"`
  6556. }
  6557. // String returns the string representation
  6558. func (s DisableSnapshotCopyInput) String() string {
  6559. return awsutil.Prettify(s)
  6560. }
  6561. // GoString returns the string representation
  6562. func (s DisableSnapshotCopyInput) GoString() string {
  6563. return s.String()
  6564. }
  6565. // Validate inspects the fields of the type to determine if they are valid.
  6566. func (s *DisableSnapshotCopyInput) Validate() error {
  6567. invalidParams := request.ErrInvalidParams{Context: "DisableSnapshotCopyInput"}
  6568. if s.ClusterIdentifier == nil {
  6569. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6570. }
  6571. if invalidParams.Len() > 0 {
  6572. return invalidParams
  6573. }
  6574. return nil
  6575. }
  6576. type DisableSnapshotCopyOutput struct {
  6577. _ struct{} `type:"structure"`
  6578. // Describes a cluster.
  6579. Cluster *Cluster `type:"structure"`
  6580. }
  6581. // String returns the string representation
  6582. func (s DisableSnapshotCopyOutput) String() string {
  6583. return awsutil.Prettify(s)
  6584. }
  6585. // GoString returns the string representation
  6586. func (s DisableSnapshotCopyOutput) GoString() string {
  6587. return s.String()
  6588. }
  6589. // Describes an Amazon EC2 security group.
  6590. type EC2SecurityGroup struct {
  6591. _ struct{} `type:"structure"`
  6592. // The name of the EC2 Security Group.
  6593. EC2SecurityGroupName *string `type:"string"`
  6594. // The AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName
  6595. // field.
  6596. EC2SecurityGroupOwnerId *string `type:"string"`
  6597. // The status of the EC2 security group.
  6598. Status *string `type:"string"`
  6599. // The list of tags for the EC2 security group.
  6600. Tags []*Tag `locationNameList:"Tag" type:"list"`
  6601. }
  6602. // String returns the string representation
  6603. func (s EC2SecurityGroup) String() string {
  6604. return awsutil.Prettify(s)
  6605. }
  6606. // GoString returns the string representation
  6607. func (s EC2SecurityGroup) GoString() string {
  6608. return s.String()
  6609. }
  6610. // Describes the status of the elastic IP (EIP) address.
  6611. type ElasticIpStatus struct {
  6612. _ struct{} `type:"structure"`
  6613. // The elastic IP (EIP) address for the cluster.
  6614. ElasticIp *string `type:"string"`
  6615. // The status of the elastic IP (EIP) address.
  6616. Status *string `type:"string"`
  6617. }
  6618. // String returns the string representation
  6619. func (s ElasticIpStatus) String() string {
  6620. return awsutil.Prettify(s)
  6621. }
  6622. // GoString returns the string representation
  6623. func (s ElasticIpStatus) GoString() string {
  6624. return s.String()
  6625. }
  6626. type EnableLoggingInput struct {
  6627. _ struct{} `type:"structure"`
  6628. // The name of an existing S3 bucket where the log files are to be stored.
  6629. //
  6630. // Constraints:
  6631. //
  6632. // Must be in the same region as the cluster The cluster must have read bucket
  6633. // and put object permissions
  6634. BucketName *string `type:"string" required:"true"`
  6635. // The identifier of the cluster on which logging is to be started.
  6636. //
  6637. // Example: examplecluster
  6638. ClusterIdentifier *string `type:"string" required:"true"`
  6639. // The prefix applied to the log file names.
  6640. //
  6641. // Constraints:
  6642. //
  6643. // Cannot exceed 512 characters Cannot contain spaces( ), double quotes ("),
  6644. // single quotes ('), a backslash (\), or control characters. The hexadecimal
  6645. // codes for invalid characters are: x00 to x20 x22 x27 x5c x7f or larger
  6646. S3KeyPrefix *string `type:"string"`
  6647. }
  6648. // String returns the string representation
  6649. func (s EnableLoggingInput) String() string {
  6650. return awsutil.Prettify(s)
  6651. }
  6652. // GoString returns the string representation
  6653. func (s EnableLoggingInput) GoString() string {
  6654. return s.String()
  6655. }
  6656. // Validate inspects the fields of the type to determine if they are valid.
  6657. func (s *EnableLoggingInput) Validate() error {
  6658. invalidParams := request.ErrInvalidParams{Context: "EnableLoggingInput"}
  6659. if s.BucketName == nil {
  6660. invalidParams.Add(request.NewErrParamRequired("BucketName"))
  6661. }
  6662. if s.ClusterIdentifier == nil {
  6663. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6664. }
  6665. if invalidParams.Len() > 0 {
  6666. return invalidParams
  6667. }
  6668. return nil
  6669. }
  6670. type EnableSnapshotCopyInput struct {
  6671. _ struct{} `type:"structure"`
  6672. // The unique identifier of the source cluster to copy snapshots from.
  6673. //
  6674. // Constraints: Must be the valid name of an existing cluster that does not
  6675. // already have cross-region snapshot copy enabled.
  6676. ClusterIdentifier *string `type:"string" required:"true"`
  6677. // The destination region that you want to copy snapshots to.
  6678. //
  6679. // Constraints: Must be the name of a valid region. For more information,
  6680. // see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region)
  6681. // in the Amazon Web Services General Reference.
  6682. DestinationRegion *string `type:"string" required:"true"`
  6683. // The number of days to retain automated snapshots in the destination region
  6684. // after they are copied from the source region.
  6685. //
  6686. // Default: 7.
  6687. //
  6688. // Constraints: Must be at least 1 and no more than 35.
  6689. RetentionPeriod *int64 `type:"integer"`
  6690. // The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted
  6691. // cluster are copied to the destination region.
  6692. SnapshotCopyGrantName *string `type:"string"`
  6693. }
  6694. // String returns the string representation
  6695. func (s EnableSnapshotCopyInput) String() string {
  6696. return awsutil.Prettify(s)
  6697. }
  6698. // GoString returns the string representation
  6699. func (s EnableSnapshotCopyInput) GoString() string {
  6700. return s.String()
  6701. }
  6702. // Validate inspects the fields of the type to determine if they are valid.
  6703. func (s *EnableSnapshotCopyInput) Validate() error {
  6704. invalidParams := request.ErrInvalidParams{Context: "EnableSnapshotCopyInput"}
  6705. if s.ClusterIdentifier == nil {
  6706. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  6707. }
  6708. if s.DestinationRegion == nil {
  6709. invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
  6710. }
  6711. if invalidParams.Len() > 0 {
  6712. return invalidParams
  6713. }
  6714. return nil
  6715. }
  6716. type EnableSnapshotCopyOutput struct {
  6717. _ struct{} `type:"structure"`
  6718. // Describes a cluster.
  6719. Cluster *Cluster `type:"structure"`
  6720. }
  6721. // String returns the string representation
  6722. func (s EnableSnapshotCopyOutput) String() string {
  6723. return awsutil.Prettify(s)
  6724. }
  6725. // GoString returns the string representation
  6726. func (s EnableSnapshotCopyOutput) GoString() string {
  6727. return s.String()
  6728. }
  6729. // Describes a connection endpoint.
  6730. type Endpoint struct {
  6731. _ struct{} `type:"structure"`
  6732. // The DNS address of the Cluster.
  6733. Address *string `type:"string"`
  6734. // The port that the database engine is listening on.
  6735. Port *int64 `type:"integer"`
  6736. }
  6737. // String returns the string representation
  6738. func (s Endpoint) String() string {
  6739. return awsutil.Prettify(s)
  6740. }
  6741. // GoString returns the string representation
  6742. func (s Endpoint) GoString() string {
  6743. return s.String()
  6744. }
  6745. // Describes an event.
  6746. type Event struct {
  6747. _ struct{} `type:"structure"`
  6748. // The date and time of the event.
  6749. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6750. // A list of the event categories.
  6751. //
  6752. // Values: Configuration, Management, Monitoring, Security
  6753. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  6754. // The identifier of the event.
  6755. EventId *string `type:"string"`
  6756. // The text of this event.
  6757. Message *string `type:"string"`
  6758. // The severity of the event.
  6759. //
  6760. // Values: ERROR, INFO
  6761. Severity *string `type:"string"`
  6762. // The identifier for the source of the event.
  6763. SourceIdentifier *string `type:"string"`
  6764. // The source type for this event.
  6765. SourceType *string `type:"string" enum:"SourceType"`
  6766. }
  6767. // String returns the string representation
  6768. func (s Event) String() string {
  6769. return awsutil.Prettify(s)
  6770. }
  6771. // GoString returns the string representation
  6772. func (s Event) GoString() string {
  6773. return s.String()
  6774. }
  6775. // Describes event categories.
  6776. type EventCategoriesMap struct {
  6777. _ struct{} `type:"structure"`
  6778. // The events in the event category.
  6779. Events []*EventInfoMap `locationNameList:"EventInfoMap" type:"list"`
  6780. // The source type, such as cluster or cluster-snapshot, that the returned categories
  6781. // belong to.
  6782. SourceType *string `type:"string"`
  6783. }
  6784. // String returns the string representation
  6785. func (s EventCategoriesMap) String() string {
  6786. return awsutil.Prettify(s)
  6787. }
  6788. // GoString returns the string representation
  6789. func (s EventCategoriesMap) GoString() string {
  6790. return s.String()
  6791. }
  6792. // Describes event information.
  6793. type EventInfoMap struct {
  6794. _ struct{} `type:"structure"`
  6795. // The category of an Amazon Redshift event.
  6796. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  6797. // The description of an Amazon Redshift event.
  6798. EventDescription *string `type:"string"`
  6799. // The identifier of an Amazon Redshift event.
  6800. EventId *string `type:"string"`
  6801. // The severity of the event.
  6802. //
  6803. // Values: ERROR, INFO
  6804. Severity *string `type:"string"`
  6805. }
  6806. // String returns the string representation
  6807. func (s EventInfoMap) String() string {
  6808. return awsutil.Prettify(s)
  6809. }
  6810. // GoString returns the string representation
  6811. func (s EventInfoMap) GoString() string {
  6812. return s.String()
  6813. }
  6814. // Describes event subscriptions.
  6815. type EventSubscription struct {
  6816. _ struct{} `type:"structure"`
  6817. // The name of the Amazon Redshift event notification subscription.
  6818. CustSubscriptionId *string `type:"string"`
  6819. // The AWS customer account associated with the Amazon Redshift event notification
  6820. // subscription.
  6821. CustomerAwsId *string `type:"string"`
  6822. // A Boolean value indicating whether the subscription is enabled. true indicates
  6823. // the subscription is enabled.
  6824. Enabled *bool `type:"boolean"`
  6825. // The list of Amazon Redshift event categories specified in the event notification
  6826. // subscription.
  6827. //
  6828. // Values: Configuration, Management, Monitoring, Security
  6829. EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
  6830. // The event severity specified in the Amazon Redshift event notification subscription.
  6831. //
  6832. // Values: ERROR, INFO
  6833. Severity *string `type:"string"`
  6834. // The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
  6835. // notification subscription.
  6836. SnsTopicArn *string `type:"string"`
  6837. // A list of the sources that publish events to the Amazon Redshift event notification
  6838. // subscription.
  6839. SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
  6840. // The source type of the events returned the Amazon Redshift event notification,
  6841. // such as cluster, or cluster-snapshot.
  6842. SourceType *string `type:"string"`
  6843. // The status of the Amazon Redshift event notification subscription.
  6844. //
  6845. // Constraints:
  6846. //
  6847. // Can be one of the following: active | no-permission | topic-not-exist The
  6848. // status "no-permission" indicates that Amazon Redshift no longer has permission
  6849. // to post to the Amazon SNS topic. The status "topic-not-exist" indicates that
  6850. // the topic was deleted after the subscription was created.
  6851. Status *string `type:"string"`
  6852. // The date and time the Amazon Redshift event notification subscription was
  6853. // created.
  6854. SubscriptionCreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6855. // The list of tags for the event subscription.
  6856. Tags []*Tag `locationNameList:"Tag" type:"list"`
  6857. }
  6858. // String returns the string representation
  6859. func (s EventSubscription) String() string {
  6860. return awsutil.Prettify(s)
  6861. }
  6862. // GoString returns the string representation
  6863. func (s EventSubscription) GoString() string {
  6864. return s.String()
  6865. }
  6866. // Returns information about an HSM client certificate. The certificate is stored
  6867. // in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift
  6868. // cluster to encrypt data files.
  6869. type HsmClientCertificate struct {
  6870. _ struct{} `type:"structure"`
  6871. // The identifier of the HSM client certificate.
  6872. HsmClientCertificateIdentifier *string `type:"string"`
  6873. // The public key that the Amazon Redshift cluster will use to connect to the
  6874. // HSM. You must register the public key in the HSM.
  6875. HsmClientCertificatePublicKey *string `type:"string"`
  6876. // The list of tags for the HSM client certificate.
  6877. Tags []*Tag `locationNameList:"Tag" type:"list"`
  6878. }
  6879. // String returns the string representation
  6880. func (s HsmClientCertificate) String() string {
  6881. return awsutil.Prettify(s)
  6882. }
  6883. // GoString returns the string representation
  6884. func (s HsmClientCertificate) GoString() string {
  6885. return s.String()
  6886. }
  6887. // Returns information about an HSM configuration, which is an object that describes
  6888. // to Amazon Redshift clusters the information they require to connect to an
  6889. // HSM where they can store database encryption keys.
  6890. type HsmConfiguration struct {
  6891. _ struct{} `type:"structure"`
  6892. // A text description of the HSM configuration.
  6893. Description *string `type:"string"`
  6894. // The name of the Amazon Redshift HSM configuration.
  6895. HsmConfigurationIdentifier *string `type:"string"`
  6896. // The IP address that the Amazon Redshift cluster must use to access the HSM.
  6897. HsmIpAddress *string `type:"string"`
  6898. // The name of the partition in the HSM where the Amazon Redshift clusters will
  6899. // store their database encryption keys.
  6900. HsmPartitionName *string `type:"string"`
  6901. // The list of tags for the HSM configuration.
  6902. Tags []*Tag `locationNameList:"Tag" type:"list"`
  6903. }
  6904. // String returns the string representation
  6905. func (s HsmConfiguration) String() string {
  6906. return awsutil.Prettify(s)
  6907. }
  6908. // GoString returns the string representation
  6909. func (s HsmConfiguration) GoString() string {
  6910. return s.String()
  6911. }
  6912. // Describes the status of changes to HSM settings.
  6913. type HsmStatus struct {
  6914. _ struct{} `type:"structure"`
  6915. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  6916. // uses to retrieve the data encryption keys stored in an HSM.
  6917. HsmClientCertificateIdentifier *string `type:"string"`
  6918. // Specifies the name of the HSM configuration that contains the information
  6919. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  6920. HsmConfigurationIdentifier *string `type:"string"`
  6921. // Reports whether the Amazon Redshift cluster has finished applying any HSM
  6922. // settings changes specified in a modify cluster command.
  6923. //
  6924. // Values: active, applying
  6925. Status *string `type:"string"`
  6926. }
  6927. // String returns the string representation
  6928. func (s HsmStatus) String() string {
  6929. return awsutil.Prettify(s)
  6930. }
  6931. // GoString returns the string representation
  6932. func (s HsmStatus) GoString() string {
  6933. return s.String()
  6934. }
  6935. // Describes an IP range used in a security group.
  6936. type IPRange struct {
  6937. _ struct{} `type:"structure"`
  6938. // The IP range in Classless Inter-Domain Routing (CIDR) notation.
  6939. CIDRIP *string `type:"string"`
  6940. // The status of the IP range, for example, "authorized".
  6941. Status *string `type:"string"`
  6942. // The list of tags for the IP range.
  6943. Tags []*Tag `locationNameList:"Tag" type:"list"`
  6944. }
  6945. // String returns the string representation
  6946. func (s IPRange) String() string {
  6947. return awsutil.Prettify(s)
  6948. }
  6949. // GoString returns the string representation
  6950. func (s IPRange) GoString() string {
  6951. return s.String()
  6952. }
  6953. // Describes the status of logging for a cluster.
  6954. type LoggingStatus struct {
  6955. _ struct{} `type:"structure"`
  6956. // The name of the S3 bucket where the log files are stored.
  6957. BucketName *string `type:"string"`
  6958. // The message indicating that logs failed to be delivered.
  6959. LastFailureMessage *string `type:"string"`
  6960. // The last time when logs failed to be delivered.
  6961. LastFailureTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6962. // The last time that logs were delivered.
  6963. LastSuccessfulDeliveryTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6964. // true if logging is on, false if logging is off.
  6965. LoggingEnabled *bool `type:"boolean"`
  6966. // The prefix applied to the log file names.
  6967. S3KeyPrefix *string `type:"string"`
  6968. }
  6969. // String returns the string representation
  6970. func (s LoggingStatus) String() string {
  6971. return awsutil.Prettify(s)
  6972. }
  6973. // GoString returns the string representation
  6974. func (s LoggingStatus) GoString() string {
  6975. return s.String()
  6976. }
  6977. type ModifyClusterIamRolesInput struct {
  6978. _ struct{} `type:"structure"`
  6979. // Zero or more IAM roles (in their ARN format) to associate with the cluster.
  6980. // You can associate up to 10 IAM roles with a single cluster in a single request.
  6981. AddIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  6982. // The unique identifier of the cluster for which you want to associate or disassociate
  6983. // IAM roles.
  6984. ClusterIdentifier *string `type:"string" required:"true"`
  6985. // Zero or more IAM roles (in their ARN format) to disassociate from the cluster.
  6986. // You can disassociate up to 10 IAM roles from a single cluster in a single
  6987. // request.
  6988. RemoveIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  6989. }
  6990. // String returns the string representation
  6991. func (s ModifyClusterIamRolesInput) String() string {
  6992. return awsutil.Prettify(s)
  6993. }
  6994. // GoString returns the string representation
  6995. func (s ModifyClusterIamRolesInput) GoString() string {
  6996. return s.String()
  6997. }
  6998. // Validate inspects the fields of the type to determine if they are valid.
  6999. func (s *ModifyClusterIamRolesInput) Validate() error {
  7000. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterIamRolesInput"}
  7001. if s.ClusterIdentifier == nil {
  7002. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7003. }
  7004. if invalidParams.Len() > 0 {
  7005. return invalidParams
  7006. }
  7007. return nil
  7008. }
  7009. type ModifyClusterIamRolesOutput struct {
  7010. _ struct{} `type:"structure"`
  7011. // Describes a cluster.
  7012. Cluster *Cluster `type:"structure"`
  7013. }
  7014. // String returns the string representation
  7015. func (s ModifyClusterIamRolesOutput) String() string {
  7016. return awsutil.Prettify(s)
  7017. }
  7018. // GoString returns the string representation
  7019. func (s ModifyClusterIamRolesOutput) GoString() string {
  7020. return s.String()
  7021. }
  7022. type ModifyClusterInput struct {
  7023. _ struct{} `type:"structure"`
  7024. // If true, major version upgrades will be applied automatically to the cluster
  7025. // during the maintenance window.
  7026. //
  7027. // Default: false
  7028. AllowVersionUpgrade *bool `type:"boolean"`
  7029. // The number of days that automated snapshots are retained. If the value is
  7030. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  7031. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  7032. //
  7033. // If you decrease the automated snapshot retention period from its current
  7034. // value, existing automated snapshots that fall outside of the new retention
  7035. // period will be immediately deleted.
  7036. //
  7037. // Default: Uses existing setting.
  7038. //
  7039. // Constraints: Must be a value from 0 to 35.
  7040. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  7041. // The unique identifier of the cluster to be modified.
  7042. //
  7043. // Example: examplecluster
  7044. ClusterIdentifier *string `type:"string" required:"true"`
  7045. // The name of the cluster parameter group to apply to this cluster. This change
  7046. // is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.
  7047. //
  7048. // Default: Uses existing setting.
  7049. //
  7050. // Constraints: The cluster parameter group must be in the same parameter group
  7051. // family that matches the cluster version.
  7052. ClusterParameterGroupName *string `type:"string"`
  7053. // A list of cluster security groups to be authorized on this cluster. This
  7054. // change is asynchronously applied as soon as possible.
  7055. //
  7056. // Security groups currently associated with the cluster, and not in the list
  7057. // of groups to apply, will be revoked from the cluster.
  7058. //
  7059. // Constraints:
  7060. //
  7061. // Must be 1 to 255 alphanumeric characters or hyphens First character must
  7062. // be a letter Cannot end with a hyphen or contain two consecutive hyphens
  7063. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  7064. // The new cluster type.
  7065. //
  7066. // When you submit your cluster resize request, your existing cluster goes
  7067. // into a read-only mode. After Amazon Redshift provisions a new cluster based
  7068. // on your resize requirements, there will be outage for a period while the
  7069. // old cluster is deleted and your connection is switched to the new cluster.
  7070. // You can use DescribeResize to track the progress of the resize request.
  7071. //
  7072. // Valid Values: multi-node | single-node
  7073. ClusterType *string `type:"string"`
  7074. // The new version number of the Amazon Redshift engine to upgrade to.
  7075. //
  7076. // For major version upgrades, if a non-default cluster parameter group is
  7077. // currently in use, a new cluster parameter group in the cluster parameter
  7078. // group family for the new version must be specified. The new cluster parameter
  7079. // group can be the default for that cluster parameter group family. For more
  7080. // information about parameters and parameter groups, go to Amazon Redshift
  7081. // Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  7082. // in the Amazon Redshift Cluster Management Guide.
  7083. //
  7084. // Example: 1.0
  7085. ClusterVersion *string `type:"string"`
  7086. // The Elastic IP (EIP) address for the cluster.
  7087. //
  7088. // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
  7089. // through an Internet gateway. For more information about provisioning clusters
  7090. // in EC2-VPC, go to Supported Platforms to Launch Your Cluster (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms)
  7091. // in the Amazon Redshift Cluster Management Guide.
  7092. ElasticIp *string `type:"string"`
  7093. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  7094. // uses to retrieve the data encryption keys stored in an HSM.
  7095. HsmClientCertificateIdentifier *string `type:"string"`
  7096. // Specifies the name of the HSM configuration that contains the information
  7097. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  7098. HsmConfigurationIdentifier *string `type:"string"`
  7099. // The new password for the cluster master user. This change is asynchronously
  7100. // applied as soon as possible. Between the time of the request and the completion
  7101. // of the request, the MasterUserPassword element exists in the PendingModifiedValues
  7102. // element of the operation response. Operations never return the password,
  7103. // so this operation provides a way to regain access to the master user account
  7104. // for a cluster if the password is lost.
  7105. //
  7106. // Default: Uses existing setting.
  7107. //
  7108. // Constraints:
  7109. //
  7110. // Must be between 8 and 64 characters in length. Must contain at least one
  7111. // uppercase letter. Must contain at least one lowercase letter. Must contain
  7112. // one number. Can be any printable ASCII character (ASCII code 33 to 126) except
  7113. // ' (single quote), " (double quote), \, /, @, or space.
  7114. MasterUserPassword *string `type:"string"`
  7115. // The new identifier for the cluster.
  7116. //
  7117. // Constraints:
  7118. //
  7119. // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic
  7120. // characters must be lowercase. First character must be a letter. Cannot end
  7121. // with a hyphen or contain two consecutive hyphens. Must be unique for all
  7122. // clusters within an AWS account. Example: examplecluster
  7123. NewClusterIdentifier *string `type:"string"`
  7124. // The new node type of the cluster. If you specify a new node type, you must
  7125. // also specify the number of nodes parameter.
  7126. //
  7127. // When you submit your request to resize a cluster, Amazon Redshift sets
  7128. // access permissions for the cluster to read-only. After Amazon Redshift provisions
  7129. // a new cluster according to your resize requirements, there will be a temporary
  7130. // outage while the old cluster is deleted and your connection is switched to
  7131. // the new cluster. When the new connection is complete, the original access
  7132. // permissions for the cluster are restored. You can use DescribeResize to track
  7133. // the progress of the resize request.
  7134. //
  7135. // Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large
  7136. // | dc1.8xlarge.
  7137. NodeType *string `type:"string"`
  7138. // The new number of nodes of the cluster. If you specify a new number of nodes,
  7139. // you must also specify the node type parameter.
  7140. //
  7141. // When you submit your request to resize a cluster, Amazon Redshift sets
  7142. // access permissions for the cluster to read-only. After Amazon Redshift provisions
  7143. // a new cluster according to your resize requirements, there will be a temporary
  7144. // outage while the old cluster is deleted and your connection is switched to
  7145. // the new cluster. When the new connection is complete, the original access
  7146. // permissions for the cluster are restored. You can use DescribeResize to track
  7147. // the progress of the resize request.
  7148. //
  7149. // Valid Values: Integer greater than 0.
  7150. NumberOfNodes *int64 `type:"integer"`
  7151. // The weekly time range (in UTC) during which system maintenance can occur,
  7152. // if necessary. If system maintenance is necessary during the window, it may
  7153. // result in an outage.
  7154. //
  7155. // This maintenance window change is made immediately. If the new maintenance
  7156. // window indicates the current time, there must be at least 120 minutes between
  7157. // the current time and end of the window in order to ensure that pending changes
  7158. // are applied.
  7159. //
  7160. // Default: Uses existing setting.
  7161. //
  7162. // Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00.
  7163. //
  7164. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  7165. //
  7166. // Constraints: Must be at least 30 minutes.
  7167. PreferredMaintenanceWindow *string `type:"string"`
  7168. // If true, the cluster can be accessed from a public network. Only clusters
  7169. // in VPCs can be set to be publicly available.
  7170. PubliclyAccessible *bool `type:"boolean"`
  7171. // A list of virtual private cloud (VPC) security groups to be associated with
  7172. // the cluster.
  7173. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  7174. }
  7175. // String returns the string representation
  7176. func (s ModifyClusterInput) String() string {
  7177. return awsutil.Prettify(s)
  7178. }
  7179. // GoString returns the string representation
  7180. func (s ModifyClusterInput) GoString() string {
  7181. return s.String()
  7182. }
  7183. // Validate inspects the fields of the type to determine if they are valid.
  7184. func (s *ModifyClusterInput) Validate() error {
  7185. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"}
  7186. if s.ClusterIdentifier == nil {
  7187. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7188. }
  7189. if invalidParams.Len() > 0 {
  7190. return invalidParams
  7191. }
  7192. return nil
  7193. }
  7194. type ModifyClusterOutput struct {
  7195. _ struct{} `type:"structure"`
  7196. // Describes a cluster.
  7197. Cluster *Cluster `type:"structure"`
  7198. }
  7199. // String returns the string representation
  7200. func (s ModifyClusterOutput) String() string {
  7201. return awsutil.Prettify(s)
  7202. }
  7203. // GoString returns the string representation
  7204. func (s ModifyClusterOutput) GoString() string {
  7205. return s.String()
  7206. }
  7207. type ModifyClusterParameterGroupInput struct {
  7208. _ struct{} `type:"structure"`
  7209. // The name of the parameter group to be modified.
  7210. ParameterGroupName *string `type:"string" required:"true"`
  7211. // An array of parameters to be modified. A maximum of 20 parameters can be
  7212. // modified in a single request.
  7213. //
  7214. // For each parameter to be modified, you must supply at least the parameter
  7215. // name and parameter value; other name-value pairs of the parameter are optional.
  7216. //
  7217. // For the workload management (WLM) configuration, you must supply all the
  7218. // name-value pairs in the wlm_json_configuration parameter.
  7219. Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
  7220. }
  7221. // String returns the string representation
  7222. func (s ModifyClusterParameterGroupInput) String() string {
  7223. return awsutil.Prettify(s)
  7224. }
  7225. // GoString returns the string representation
  7226. func (s ModifyClusterParameterGroupInput) GoString() string {
  7227. return s.String()
  7228. }
  7229. // Validate inspects the fields of the type to determine if they are valid.
  7230. func (s *ModifyClusterParameterGroupInput) Validate() error {
  7231. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterParameterGroupInput"}
  7232. if s.ParameterGroupName == nil {
  7233. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  7234. }
  7235. if s.Parameters == nil {
  7236. invalidParams.Add(request.NewErrParamRequired("Parameters"))
  7237. }
  7238. if invalidParams.Len() > 0 {
  7239. return invalidParams
  7240. }
  7241. return nil
  7242. }
  7243. type ModifyClusterSubnetGroupInput struct {
  7244. _ struct{} `type:"structure"`
  7245. // The name of the subnet group to be modified.
  7246. ClusterSubnetGroupName *string `type:"string" required:"true"`
  7247. // A text description of the subnet group to be modified.
  7248. Description *string `type:"string"`
  7249. // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
  7250. // single request.
  7251. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  7252. }
  7253. // String returns the string representation
  7254. func (s ModifyClusterSubnetGroupInput) String() string {
  7255. return awsutil.Prettify(s)
  7256. }
  7257. // GoString returns the string representation
  7258. func (s ModifyClusterSubnetGroupInput) GoString() string {
  7259. return s.String()
  7260. }
  7261. // Validate inspects the fields of the type to determine if they are valid.
  7262. func (s *ModifyClusterSubnetGroupInput) Validate() error {
  7263. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSubnetGroupInput"}
  7264. if s.ClusterSubnetGroupName == nil {
  7265. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  7266. }
  7267. if s.SubnetIds == nil {
  7268. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  7269. }
  7270. if invalidParams.Len() > 0 {
  7271. return invalidParams
  7272. }
  7273. return nil
  7274. }
  7275. type ModifyClusterSubnetGroupOutput struct {
  7276. _ struct{} `type:"structure"`
  7277. // Describes a subnet group.
  7278. ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"`
  7279. }
  7280. // String returns the string representation
  7281. func (s ModifyClusterSubnetGroupOutput) String() string {
  7282. return awsutil.Prettify(s)
  7283. }
  7284. // GoString returns the string representation
  7285. func (s ModifyClusterSubnetGroupOutput) GoString() string {
  7286. return s.String()
  7287. }
  7288. type ModifyEventSubscriptionInput struct {
  7289. _ struct{} `type:"structure"`
  7290. // A Boolean value indicating if the subscription is enabled. true indicates
  7291. // the subscription is enabled
  7292. Enabled *bool `type:"boolean"`
  7293. // Specifies the Amazon Redshift event categories to be published by the event
  7294. // notification subscription.
  7295. //
  7296. // Values: Configuration, Management, Monitoring, Security
  7297. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  7298. // Specifies the Amazon Redshift event severity to be published by the event
  7299. // notification subscription.
  7300. //
  7301. // Values: ERROR, INFO
  7302. Severity *string `type:"string"`
  7303. // The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification
  7304. // subscription.
  7305. SnsTopicArn *string `type:"string"`
  7306. // A list of one or more identifiers of Amazon Redshift source objects. All
  7307. // of the objects must be of the same type as was specified in the source type
  7308. // parameter. The event subscription will return only events generated by the
  7309. // specified objects. If not specified, then events are returned for all objects
  7310. // within the source type specified.
  7311. //
  7312. // Example: my-cluster-1, my-cluster-2
  7313. //
  7314. // Example: my-snapshot-20131010
  7315. SourceIds []*string `locationNameList:"SourceId" type:"list"`
  7316. // The type of source that will be generating the events. For example, if you
  7317. // want to be notified of events generated by a cluster, you would set this
  7318. // parameter to cluster. If this value is not specified, events are returned
  7319. // for all Amazon Redshift objects in your AWS account. You must specify a source
  7320. // type in order to specify source IDs.
  7321. //
  7322. // Valid values: cluster, cluster-parameter-group, cluster-security-group,
  7323. // and cluster-snapshot.
  7324. SourceType *string `type:"string"`
  7325. // The name of the modified Amazon Redshift event notification subscription.
  7326. SubscriptionName *string `type:"string" required:"true"`
  7327. }
  7328. // String returns the string representation
  7329. func (s ModifyEventSubscriptionInput) String() string {
  7330. return awsutil.Prettify(s)
  7331. }
  7332. // GoString returns the string representation
  7333. func (s ModifyEventSubscriptionInput) GoString() string {
  7334. return s.String()
  7335. }
  7336. // Validate inspects the fields of the type to determine if they are valid.
  7337. func (s *ModifyEventSubscriptionInput) Validate() error {
  7338. invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
  7339. if s.SubscriptionName == nil {
  7340. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  7341. }
  7342. if invalidParams.Len() > 0 {
  7343. return invalidParams
  7344. }
  7345. return nil
  7346. }
  7347. type ModifyEventSubscriptionOutput struct {
  7348. _ struct{} `type:"structure"`
  7349. // Describes event subscriptions.
  7350. EventSubscription *EventSubscription `type:"structure"`
  7351. }
  7352. // String returns the string representation
  7353. func (s ModifyEventSubscriptionOutput) String() string {
  7354. return awsutil.Prettify(s)
  7355. }
  7356. // GoString returns the string representation
  7357. func (s ModifyEventSubscriptionOutput) GoString() string {
  7358. return s.String()
  7359. }
  7360. type ModifySnapshotCopyRetentionPeriodInput struct {
  7361. _ struct{} `type:"structure"`
  7362. // The unique identifier of the cluster for which you want to change the retention
  7363. // period for automated snapshots that are copied to a destination region.
  7364. //
  7365. // Constraints: Must be the valid name of an existing cluster that has cross-region
  7366. // snapshot copy enabled.
  7367. ClusterIdentifier *string `type:"string" required:"true"`
  7368. // The number of days to retain automated snapshots in the destination region
  7369. // after they are copied from the source region.
  7370. //
  7371. // If you decrease the retention period for automated snapshots that are copied
  7372. // to a destination region, Amazon Redshift will delete any existing automated
  7373. // snapshots that were copied to the destination region and that fall outside
  7374. // of the new retention period.
  7375. //
  7376. // Constraints: Must be at least 1 and no more than 35.
  7377. RetentionPeriod *int64 `type:"integer" required:"true"`
  7378. }
  7379. // String returns the string representation
  7380. func (s ModifySnapshotCopyRetentionPeriodInput) String() string {
  7381. return awsutil.Prettify(s)
  7382. }
  7383. // GoString returns the string representation
  7384. func (s ModifySnapshotCopyRetentionPeriodInput) GoString() string {
  7385. return s.String()
  7386. }
  7387. // Validate inspects the fields of the type to determine if they are valid.
  7388. func (s *ModifySnapshotCopyRetentionPeriodInput) Validate() error {
  7389. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotCopyRetentionPeriodInput"}
  7390. if s.ClusterIdentifier == nil {
  7391. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7392. }
  7393. if s.RetentionPeriod == nil {
  7394. invalidParams.Add(request.NewErrParamRequired("RetentionPeriod"))
  7395. }
  7396. if invalidParams.Len() > 0 {
  7397. return invalidParams
  7398. }
  7399. return nil
  7400. }
  7401. type ModifySnapshotCopyRetentionPeriodOutput struct {
  7402. _ struct{} `type:"structure"`
  7403. // Describes a cluster.
  7404. Cluster *Cluster `type:"structure"`
  7405. }
  7406. // String returns the string representation
  7407. func (s ModifySnapshotCopyRetentionPeriodOutput) String() string {
  7408. return awsutil.Prettify(s)
  7409. }
  7410. // GoString returns the string representation
  7411. func (s ModifySnapshotCopyRetentionPeriodOutput) GoString() string {
  7412. return s.String()
  7413. }
  7414. // Describes an orderable cluster option.
  7415. type OrderableClusterOption struct {
  7416. _ struct{} `type:"structure"`
  7417. // A list of availability zones for the orderable cluster.
  7418. AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
  7419. // The cluster type, for example multi-node.
  7420. ClusterType *string `type:"string"`
  7421. // The version of the orderable cluster.
  7422. ClusterVersion *string `type:"string"`
  7423. // The node type for the orderable cluster.
  7424. NodeType *string `type:"string"`
  7425. }
  7426. // String returns the string representation
  7427. func (s OrderableClusterOption) String() string {
  7428. return awsutil.Prettify(s)
  7429. }
  7430. // GoString returns the string representation
  7431. func (s OrderableClusterOption) GoString() string {
  7432. return s.String()
  7433. }
  7434. // Describes a parameter in a cluster parameter group.
  7435. type Parameter struct {
  7436. _ struct{} `type:"structure"`
  7437. // The valid range of values for the parameter.
  7438. AllowedValues *string `type:"string"`
  7439. // Specifies how to apply the WLM configuration parameter. Some properties can
  7440. // be applied dynamically, while other properties require that any associated
  7441. // clusters be rebooted for the configuration changes to be applied. For more
  7442. // information about parameters and parameter groups, go to Amazon Redshift
  7443. // Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  7444. // in the Amazon Redshift Cluster Management Guide.
  7445. ApplyType *string `type:"string" enum:"ParameterApplyType"`
  7446. // The data type of the parameter.
  7447. DataType *string `type:"string"`
  7448. // A description of the parameter.
  7449. Description *string `type:"string"`
  7450. // If true, the parameter can be modified. Some parameters have security or
  7451. // operational implications that prevent them from being changed.
  7452. IsModifiable *bool `type:"boolean"`
  7453. // The earliest engine version to which the parameter can apply.
  7454. MinimumEngineVersion *string `type:"string"`
  7455. // The name of the parameter.
  7456. ParameterName *string `type:"string"`
  7457. // The value of the parameter.
  7458. ParameterValue *string `type:"string"`
  7459. // The source of the parameter value, such as "engine-default" or "user".
  7460. Source *string `type:"string"`
  7461. }
  7462. // String returns the string representation
  7463. func (s Parameter) String() string {
  7464. return awsutil.Prettify(s)
  7465. }
  7466. // GoString returns the string representation
  7467. func (s Parameter) GoString() string {
  7468. return s.String()
  7469. }
  7470. // Describes cluster attributes that are in a pending state. A change to one
  7471. // or more the attributes was requested and is in progress or will be applied.
  7472. type PendingModifiedValues struct {
  7473. _ struct{} `type:"structure"`
  7474. // The pending or in-progress change of the automated snapshot retention period.
  7475. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  7476. // The pending or in-progress change of the new identifier for the cluster.
  7477. ClusterIdentifier *string `type:"string"`
  7478. // The pending or in-progress change of the cluster type.
  7479. ClusterType *string `type:"string"`
  7480. // The pending or in-progress change of the service version.
  7481. ClusterVersion *string `type:"string"`
  7482. // The pending or in-progress change of the master user password for the cluster.
  7483. MasterUserPassword *string `type:"string"`
  7484. // The pending or in-progress change of the cluster's node type.
  7485. NodeType *string `type:"string"`
  7486. // The pending or in-progress change of the number of nodes in the cluster.
  7487. NumberOfNodes *int64 `type:"integer"`
  7488. // The pending or in-progress change of the ability to connect to the cluster
  7489. // from the public network.
  7490. PubliclyAccessible *bool `type:"boolean"`
  7491. }
  7492. // String returns the string representation
  7493. func (s PendingModifiedValues) String() string {
  7494. return awsutil.Prettify(s)
  7495. }
  7496. // GoString returns the string representation
  7497. func (s PendingModifiedValues) GoString() string {
  7498. return s.String()
  7499. }
  7500. type PurchaseReservedNodeOfferingInput struct {
  7501. _ struct{} `type:"structure"`
  7502. // The number of reserved nodes that you want to purchase.
  7503. //
  7504. // Default: 1
  7505. NodeCount *int64 `type:"integer"`
  7506. // The unique identifier of the reserved node offering you want to purchase.
  7507. ReservedNodeOfferingId *string `type:"string" required:"true"`
  7508. }
  7509. // String returns the string representation
  7510. func (s PurchaseReservedNodeOfferingInput) String() string {
  7511. return awsutil.Prettify(s)
  7512. }
  7513. // GoString returns the string representation
  7514. func (s PurchaseReservedNodeOfferingInput) GoString() string {
  7515. return s.String()
  7516. }
  7517. // Validate inspects the fields of the type to determine if they are valid.
  7518. func (s *PurchaseReservedNodeOfferingInput) Validate() error {
  7519. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedNodeOfferingInput"}
  7520. if s.ReservedNodeOfferingId == nil {
  7521. invalidParams.Add(request.NewErrParamRequired("ReservedNodeOfferingId"))
  7522. }
  7523. if invalidParams.Len() > 0 {
  7524. return invalidParams
  7525. }
  7526. return nil
  7527. }
  7528. type PurchaseReservedNodeOfferingOutput struct {
  7529. _ struct{} `type:"structure"`
  7530. // Describes a reserved node. You can call the DescribeReservedNodeOfferings
  7531. // API to obtain the available reserved node offerings.
  7532. ReservedNode *ReservedNode `type:"structure"`
  7533. }
  7534. // String returns the string representation
  7535. func (s PurchaseReservedNodeOfferingOutput) String() string {
  7536. return awsutil.Prettify(s)
  7537. }
  7538. // GoString returns the string representation
  7539. func (s PurchaseReservedNodeOfferingOutput) GoString() string {
  7540. return s.String()
  7541. }
  7542. type RebootClusterInput struct {
  7543. _ struct{} `type:"structure"`
  7544. // The cluster identifier.
  7545. ClusterIdentifier *string `type:"string" required:"true"`
  7546. }
  7547. // String returns the string representation
  7548. func (s RebootClusterInput) String() string {
  7549. return awsutil.Prettify(s)
  7550. }
  7551. // GoString returns the string representation
  7552. func (s RebootClusterInput) GoString() string {
  7553. return s.String()
  7554. }
  7555. // Validate inspects the fields of the type to determine if they are valid.
  7556. func (s *RebootClusterInput) Validate() error {
  7557. invalidParams := request.ErrInvalidParams{Context: "RebootClusterInput"}
  7558. if s.ClusterIdentifier == nil {
  7559. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7560. }
  7561. if invalidParams.Len() > 0 {
  7562. return invalidParams
  7563. }
  7564. return nil
  7565. }
  7566. type RebootClusterOutput struct {
  7567. _ struct{} `type:"structure"`
  7568. // Describes a cluster.
  7569. Cluster *Cluster `type:"structure"`
  7570. }
  7571. // String returns the string representation
  7572. func (s RebootClusterOutput) String() string {
  7573. return awsutil.Prettify(s)
  7574. }
  7575. // GoString returns the string representation
  7576. func (s RebootClusterOutput) GoString() string {
  7577. return s.String()
  7578. }
  7579. // Describes a recurring charge.
  7580. type RecurringCharge struct {
  7581. _ struct{} `type:"structure"`
  7582. // The amount charged per the period of time specified by the recurring charge
  7583. // frequency.
  7584. RecurringChargeAmount *float64 `type:"double"`
  7585. // The frequency at which the recurring charge amount is applied.
  7586. RecurringChargeFrequency *string `type:"string"`
  7587. }
  7588. // String returns the string representation
  7589. func (s RecurringCharge) String() string {
  7590. return awsutil.Prettify(s)
  7591. }
  7592. // GoString returns the string representation
  7593. func (s RecurringCharge) GoString() string {
  7594. return s.String()
  7595. }
  7596. // Describes a reserved node. You can call the DescribeReservedNodeOfferings
  7597. // API to obtain the available reserved node offerings.
  7598. type ReservedNode struct {
  7599. _ struct{} `type:"structure"`
  7600. // The currency code for the reserved cluster.
  7601. CurrencyCode *string `type:"string"`
  7602. // The duration of the node reservation in seconds.
  7603. Duration *int64 `type:"integer"`
  7604. // The fixed cost Amazon Redshift charges you for this reserved node.
  7605. FixedPrice *float64 `type:"double"`
  7606. // The number of reserved compute nodes.
  7607. NodeCount *int64 `type:"integer"`
  7608. // The node type of the reserved node.
  7609. NodeType *string `type:"string"`
  7610. // The anticipated utilization of the reserved node, as defined in the reserved
  7611. // node offering.
  7612. OfferingType *string `type:"string"`
  7613. // The recurring charges for the reserved node.
  7614. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  7615. // The unique identifier for the reservation.
  7616. ReservedNodeId *string `type:"string"`
  7617. // The identifier for the reserved node offering.
  7618. ReservedNodeOfferingId *string `type:"string"`
  7619. // The time the reservation started. You purchase a reserved node offering for
  7620. // a duration. This is the start time of that duration.
  7621. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7622. // The state of the reserved compute node.
  7623. //
  7624. // Possible Values:
  7625. //
  7626. // pending-payment-This reserved node has recently been purchased, and the
  7627. // sale has been approved, but payment has not yet been confirmed. active-This
  7628. // reserved node is owned by the caller and is available for use. payment-failed-Payment
  7629. // failed for the purchase attempt.
  7630. State *string `type:"string"`
  7631. // The hourly rate Amazon Redshift charges you for this reserved node.
  7632. UsagePrice *float64 `type:"double"`
  7633. }
  7634. // String returns the string representation
  7635. func (s ReservedNode) String() string {
  7636. return awsutil.Prettify(s)
  7637. }
  7638. // GoString returns the string representation
  7639. func (s ReservedNode) GoString() string {
  7640. return s.String()
  7641. }
  7642. // Describes a reserved node offering.
  7643. type ReservedNodeOffering struct {
  7644. _ struct{} `type:"structure"`
  7645. // The currency code for the compute nodes offering.
  7646. CurrencyCode *string `type:"string"`
  7647. // The duration, in seconds, for which the offering will reserve the node.
  7648. Duration *int64 `type:"integer"`
  7649. // The upfront fixed charge you will pay to purchase the specific reserved node
  7650. // offering.
  7651. FixedPrice *float64 `type:"double"`
  7652. // The node type offered by the reserved node offering.
  7653. NodeType *string `type:"string"`
  7654. // The anticipated utilization of the reserved node, as defined in the reserved
  7655. // node offering.
  7656. OfferingType *string `type:"string"`
  7657. // The charge to your account regardless of whether you are creating any clusters
  7658. // using the node offering. Recurring charges are only in effect for heavy-utilization
  7659. // reserved nodes.
  7660. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  7661. // The offering identifier.
  7662. ReservedNodeOfferingId *string `type:"string"`
  7663. // The rate you are charged for each hour the cluster that is using the offering
  7664. // is running.
  7665. UsagePrice *float64 `type:"double"`
  7666. }
  7667. // String returns the string representation
  7668. func (s ReservedNodeOffering) String() string {
  7669. return awsutil.Prettify(s)
  7670. }
  7671. // GoString returns the string representation
  7672. func (s ReservedNodeOffering) GoString() string {
  7673. return s.String()
  7674. }
  7675. type ResetClusterParameterGroupInput struct {
  7676. _ struct{} `type:"structure"`
  7677. // The name of the cluster parameter group to be reset.
  7678. ParameterGroupName *string `type:"string" required:"true"`
  7679. // An array of names of parameters to be reset. If ResetAllParameters option
  7680. // is not used, then at least one parameter name must be supplied.
  7681. //
  7682. // Constraints: A maximum of 20 parameters can be reset in a single request.
  7683. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  7684. // If true, all parameters in the specified parameter group will be reset to
  7685. // their default values.
  7686. //
  7687. // Default: true
  7688. ResetAllParameters *bool `type:"boolean"`
  7689. }
  7690. // String returns the string representation
  7691. func (s ResetClusterParameterGroupInput) String() string {
  7692. return awsutil.Prettify(s)
  7693. }
  7694. // GoString returns the string representation
  7695. func (s ResetClusterParameterGroupInput) GoString() string {
  7696. return s.String()
  7697. }
  7698. // Validate inspects the fields of the type to determine if they are valid.
  7699. func (s *ResetClusterParameterGroupInput) Validate() error {
  7700. invalidParams := request.ErrInvalidParams{Context: "ResetClusterParameterGroupInput"}
  7701. if s.ParameterGroupName == nil {
  7702. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  7703. }
  7704. if invalidParams.Len() > 0 {
  7705. return invalidParams
  7706. }
  7707. return nil
  7708. }
  7709. type RestoreFromClusterSnapshotInput struct {
  7710. _ struct{} `type:"structure"`
  7711. // Reserved.
  7712. AdditionalInfo *string `type:"string"`
  7713. // If true, major version upgrades can be applied during the maintenance window
  7714. // to the Amazon Redshift engine that is running on the cluster.
  7715. //
  7716. // Default: true
  7717. AllowVersionUpgrade *bool `type:"boolean"`
  7718. // The number of days that automated snapshots are retained. If the value is
  7719. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  7720. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  7721. //
  7722. // Default: The value selected for the cluster from which the snapshot was
  7723. // taken.
  7724. //
  7725. // Constraints: Must be a value from 0 to 35.
  7726. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  7727. // The Amazon EC2 Availability Zone in which to restore the cluster.
  7728. //
  7729. // Default: A random, system-chosen Availability Zone.
  7730. //
  7731. // Example: us-east-1a
  7732. AvailabilityZone *string `type:"string"`
  7733. // The identifier of the cluster that will be created from restoring the snapshot.
  7734. //
  7735. // Constraints:
  7736. //
  7737. // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic
  7738. // characters must be lowercase. First character must be a letter. Cannot end
  7739. // with a hyphen or contain two consecutive hyphens. Must be unique for all
  7740. // clusters within an AWS account.
  7741. ClusterIdentifier *string `type:"string" required:"true"`
  7742. // The name of the parameter group to be associated with this cluster.
  7743. //
  7744. // Default: The default Amazon Redshift cluster parameter group. For information
  7745. // about the default parameter group, go to Working with Amazon Redshift Parameter
  7746. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html).
  7747. //
  7748. // Constraints:
  7749. //
  7750. // Must be 1 to 255 alphanumeric characters or hyphens. First character must
  7751. // be a letter. Cannot end with a hyphen or contain two consecutive hyphens.
  7752. ClusterParameterGroupName *string `type:"string"`
  7753. // A list of security groups to be associated with this cluster.
  7754. //
  7755. // Default: The default cluster security group for Amazon Redshift.
  7756. //
  7757. // Cluster security groups only apply to clusters outside of VPCs.
  7758. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  7759. // The name of the subnet group where you want to cluster restored.
  7760. //
  7761. // A snapshot of cluster in VPC can be restored only in VPC. Therefore, you
  7762. // must provide subnet group name where you want the cluster restored.
  7763. ClusterSubnetGroupName *string `type:"string"`
  7764. // The elastic IP (EIP) address for the cluster.
  7765. ElasticIp *string `type:"string"`
  7766. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  7767. // uses to retrieve the data encryption keys stored in an HSM.
  7768. HsmClientCertificateIdentifier *string `type:"string"`
  7769. // Specifies the name of the HSM configuration that contains the information
  7770. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  7771. HsmConfigurationIdentifier *string `type:"string"`
  7772. // A list of AWS Identity and Access Management (IAM) roles that can be used
  7773. // by the cluster to access other AWS services. You must supply the IAM roles
  7774. // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
  7775. // in a single request.
  7776. //
  7777. // A cluster can have up to 10 IAM roles associated at any time.
  7778. IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  7779. // The AWS Key Management Service (KMS) key ID of the encryption key that you
  7780. // want to use to encrypt data in the cluster that you restore from a shared
  7781. // snapshot.
  7782. KmsKeyId *string `type:"string"`
  7783. // The node type that the restored cluster will be provisioned with.
  7784. //
  7785. // Default: The node type of the cluster from which the snapshot was taken.
  7786. // You can modify this if you are using any DS node type. In that case, you
  7787. // can choose to restore into another DS node type of the same size. For example,
  7788. // you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into ds1.xlarge.
  7789. // If you have a DC instance type, you must restore into that same instance
  7790. // type and size. In other words, you can only restore a dc1.large instance
  7791. // type into another dc1.large instance type. For more information about node
  7792. // types, see About Clusters and Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes)
  7793. // in the Amazon Redshift Cluster Management Guide
  7794. NodeType *string `type:"string"`
  7795. // The AWS customer account used to create or copy the snapshot. Required if
  7796. // you are restoring a snapshot you do not own, optional if you own the snapshot.
  7797. OwnerAccount *string `type:"string"`
  7798. // The port number on which the cluster accepts connections.
  7799. //
  7800. // Default: The same port as the original cluster.
  7801. //
  7802. // Constraints: Must be between 1115 and 65535.
  7803. Port *int64 `type:"integer"`
  7804. // The weekly time range (in UTC) during which automated cluster maintenance
  7805. // can occur.
  7806. //
  7807. // Format: ddd:hh24:mi-ddd:hh24:mi
  7808. //
  7809. // Default: The value selected for the cluster from which the snapshot was
  7810. // taken. For more information about the time blocks for each region, see Maintenance
  7811. // Windows (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
  7812. // in Amazon Redshift Cluster Management Guide.
  7813. //
  7814. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  7815. //
  7816. // Constraints: Minimum 30-minute window.
  7817. PreferredMaintenanceWindow *string `type:"string"`
  7818. // If true, the cluster can be accessed from a public network.
  7819. PubliclyAccessible *bool `type:"boolean"`
  7820. // The name of the cluster the source snapshot was created from. This parameter
  7821. // is required if your IAM user has a policy containing a snapshot resource
  7822. // element that specifies anything other than * for the cluster name.
  7823. SnapshotClusterIdentifier *string `type:"string"`
  7824. // The name of the snapshot from which to create the new cluster. This parameter
  7825. // isn't case sensitive.
  7826. //
  7827. // Example: my-snapshot-id
  7828. SnapshotIdentifier *string `type:"string" required:"true"`
  7829. // A list of Virtual Private Cloud (VPC) security groups to be associated with
  7830. // the cluster.
  7831. //
  7832. // Default: The default VPC security group is associated with the cluster.
  7833. //
  7834. // VPC security groups only apply to clusters in VPCs.
  7835. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  7836. }
  7837. // String returns the string representation
  7838. func (s RestoreFromClusterSnapshotInput) String() string {
  7839. return awsutil.Prettify(s)
  7840. }
  7841. // GoString returns the string representation
  7842. func (s RestoreFromClusterSnapshotInput) GoString() string {
  7843. return s.String()
  7844. }
  7845. // Validate inspects the fields of the type to determine if they are valid.
  7846. func (s *RestoreFromClusterSnapshotInput) Validate() error {
  7847. invalidParams := request.ErrInvalidParams{Context: "RestoreFromClusterSnapshotInput"}
  7848. if s.ClusterIdentifier == nil {
  7849. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7850. }
  7851. if s.SnapshotIdentifier == nil {
  7852. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  7853. }
  7854. if invalidParams.Len() > 0 {
  7855. return invalidParams
  7856. }
  7857. return nil
  7858. }
  7859. type RestoreFromClusterSnapshotOutput struct {
  7860. _ struct{} `type:"structure"`
  7861. // Describes a cluster.
  7862. Cluster *Cluster `type:"structure"`
  7863. }
  7864. // String returns the string representation
  7865. func (s RestoreFromClusterSnapshotOutput) String() string {
  7866. return awsutil.Prettify(s)
  7867. }
  7868. // GoString returns the string representation
  7869. func (s RestoreFromClusterSnapshotOutput) GoString() string {
  7870. return s.String()
  7871. }
  7872. // Describes the status of a cluster restore action. Returns null if the cluster
  7873. // was not created by restoring a snapshot.
  7874. type RestoreStatus struct {
  7875. _ struct{} `type:"structure"`
  7876. // The number of megabytes per second being transferred from the backup storage.
  7877. // Returns the average rate for a completed backup.
  7878. CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
  7879. // The amount of time an in-progress restore has been running, or the amount
  7880. // of time it took a completed restore to finish.
  7881. ElapsedTimeInSeconds *int64 `type:"long"`
  7882. // The estimate of the time remaining before the restore will complete. Returns
  7883. // 0 for a completed restore.
  7884. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  7885. // The number of megabytes that have been transferred from snapshot storage.
  7886. ProgressInMegaBytes *int64 `type:"long"`
  7887. // The size of the set of snapshot data used to restore the cluster.
  7888. SnapshotSizeInMegaBytes *int64 `type:"long"`
  7889. // The status of the restore action. Returns starting, restoring, completed,
  7890. // or failed.
  7891. Status *string `type:"string"`
  7892. }
  7893. // String returns the string representation
  7894. func (s RestoreStatus) String() string {
  7895. return awsutil.Prettify(s)
  7896. }
  7897. // GoString returns the string representation
  7898. func (s RestoreStatus) GoString() string {
  7899. return s.String()
  7900. }
  7901. type RestoreTableFromClusterSnapshotInput struct {
  7902. _ struct{} `type:"structure"`
  7903. // The identifier of the Amazon Redshift cluster to restore the table to.
  7904. ClusterIdentifier *string `type:"string" required:"true"`
  7905. // The name of the table to create as a result of the current request.
  7906. NewTableName *string `type:"string" required:"true"`
  7907. // The identifier of the snapshot to restore the table from. This snapshot must
  7908. // have been created from the Amazon Redshift cluster specified by the ClusterIdentifier
  7909. // parameter.
  7910. SnapshotIdentifier *string `type:"string" required:"true"`
  7911. // The name of the source database that contains the table to restore from.
  7912. SourceDatabaseName *string `type:"string" required:"true"`
  7913. // The name of the source schema that contains the table to restore from. If
  7914. // you do not specify a SourceSchemaName value, the default is public.
  7915. SourceSchemaName *string `type:"string"`
  7916. // The name of the source table to restore from.
  7917. SourceTableName *string `type:"string" required:"true"`
  7918. // The name of the database to restore the table to.
  7919. TargetDatabaseName *string `type:"string"`
  7920. // The name of the schema to restore the table to.
  7921. TargetSchemaName *string `type:"string"`
  7922. }
  7923. // String returns the string representation
  7924. func (s RestoreTableFromClusterSnapshotInput) String() string {
  7925. return awsutil.Prettify(s)
  7926. }
  7927. // GoString returns the string representation
  7928. func (s RestoreTableFromClusterSnapshotInput) GoString() string {
  7929. return s.String()
  7930. }
  7931. // Validate inspects the fields of the type to determine if they are valid.
  7932. func (s *RestoreTableFromClusterSnapshotInput) Validate() error {
  7933. invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromClusterSnapshotInput"}
  7934. if s.ClusterIdentifier == nil {
  7935. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  7936. }
  7937. if s.NewTableName == nil {
  7938. invalidParams.Add(request.NewErrParamRequired("NewTableName"))
  7939. }
  7940. if s.SnapshotIdentifier == nil {
  7941. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  7942. }
  7943. if s.SourceDatabaseName == nil {
  7944. invalidParams.Add(request.NewErrParamRequired("SourceDatabaseName"))
  7945. }
  7946. if s.SourceTableName == nil {
  7947. invalidParams.Add(request.NewErrParamRequired("SourceTableName"))
  7948. }
  7949. if invalidParams.Len() > 0 {
  7950. return invalidParams
  7951. }
  7952. return nil
  7953. }
  7954. type RestoreTableFromClusterSnapshotOutput struct {
  7955. _ struct{} `type:"structure"`
  7956. // Describes the status of a RestoreTableFromClusterSnapshot operation.
  7957. TableRestoreStatus *TableRestoreStatus `type:"structure"`
  7958. }
  7959. // String returns the string representation
  7960. func (s RestoreTableFromClusterSnapshotOutput) String() string {
  7961. return awsutil.Prettify(s)
  7962. }
  7963. // GoString returns the string representation
  7964. func (s RestoreTableFromClusterSnapshotOutput) GoString() string {
  7965. return s.String()
  7966. }
  7967. type RevokeClusterSecurityGroupIngressInput struct {
  7968. _ struct{} `type:"structure"`
  7969. // The IP range for which to revoke access. This range must be a valid Classless
  7970. // Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified,
  7971. // EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided.
  7972. CIDRIP *string `type:"string"`
  7973. // The name of the security Group from which to revoke the ingress rule.
  7974. ClusterSecurityGroupName *string `type:"string" required:"true"`
  7975. // The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName
  7976. // is specified, EC2SecurityGroupOwnerId must also be provided and CIDRIP cannot
  7977. // be provided.
  7978. EC2SecurityGroupName *string `type:"string"`
  7979. // The AWS account number of the owner of the security group specified in the
  7980. // EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable
  7981. // value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must
  7982. // also be provided. and CIDRIP cannot be provided.
  7983. //
  7984. // Example: 111122223333
  7985. EC2SecurityGroupOwnerId *string `type:"string"`
  7986. }
  7987. // String returns the string representation
  7988. func (s RevokeClusterSecurityGroupIngressInput) String() string {
  7989. return awsutil.Prettify(s)
  7990. }
  7991. // GoString returns the string representation
  7992. func (s RevokeClusterSecurityGroupIngressInput) GoString() string {
  7993. return s.String()
  7994. }
  7995. // Validate inspects the fields of the type to determine if they are valid.
  7996. func (s *RevokeClusterSecurityGroupIngressInput) Validate() error {
  7997. invalidParams := request.ErrInvalidParams{Context: "RevokeClusterSecurityGroupIngressInput"}
  7998. if s.ClusterSecurityGroupName == nil {
  7999. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  8000. }
  8001. if invalidParams.Len() > 0 {
  8002. return invalidParams
  8003. }
  8004. return nil
  8005. }
  8006. type RevokeClusterSecurityGroupIngressOutput struct {
  8007. _ struct{} `type:"structure"`
  8008. // Describes a security group.
  8009. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  8010. }
  8011. // String returns the string representation
  8012. func (s RevokeClusterSecurityGroupIngressOutput) String() string {
  8013. return awsutil.Prettify(s)
  8014. }
  8015. // GoString returns the string representation
  8016. func (s RevokeClusterSecurityGroupIngressOutput) GoString() string {
  8017. return s.String()
  8018. }
  8019. type RevokeSnapshotAccessInput struct {
  8020. _ struct{} `type:"structure"`
  8021. // The identifier of the AWS customer account that can no longer restore the
  8022. // specified snapshot.
  8023. AccountWithRestoreAccess *string `type:"string" required:"true"`
  8024. // The identifier of the cluster the snapshot was created from. This parameter
  8025. // is required if your IAM user has a policy containing a snapshot resource
  8026. // element that specifies anything other than * for the cluster name.
  8027. SnapshotClusterIdentifier *string `type:"string"`
  8028. // The identifier of the snapshot that the account can no longer access.
  8029. SnapshotIdentifier *string `type:"string" required:"true"`
  8030. }
  8031. // String returns the string representation
  8032. func (s RevokeSnapshotAccessInput) String() string {
  8033. return awsutil.Prettify(s)
  8034. }
  8035. // GoString returns the string representation
  8036. func (s RevokeSnapshotAccessInput) GoString() string {
  8037. return s.String()
  8038. }
  8039. // Validate inspects the fields of the type to determine if they are valid.
  8040. func (s *RevokeSnapshotAccessInput) Validate() error {
  8041. invalidParams := request.ErrInvalidParams{Context: "RevokeSnapshotAccessInput"}
  8042. if s.AccountWithRestoreAccess == nil {
  8043. invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess"))
  8044. }
  8045. if s.SnapshotIdentifier == nil {
  8046. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  8047. }
  8048. if invalidParams.Len() > 0 {
  8049. return invalidParams
  8050. }
  8051. return nil
  8052. }
  8053. type RevokeSnapshotAccessOutput struct {
  8054. _ struct{} `type:"structure"`
  8055. // Describes a snapshot.
  8056. Snapshot *Snapshot `type:"structure"`
  8057. }
  8058. // String returns the string representation
  8059. func (s RevokeSnapshotAccessOutput) String() string {
  8060. return awsutil.Prettify(s)
  8061. }
  8062. // GoString returns the string representation
  8063. func (s RevokeSnapshotAccessOutput) GoString() string {
  8064. return s.String()
  8065. }
  8066. type RotateEncryptionKeyInput struct {
  8067. _ struct{} `type:"structure"`
  8068. // The unique identifier of the cluster that you want to rotate the encryption
  8069. // keys for.
  8070. //
  8071. // Constraints: Must be the name of valid cluster that has encryption enabled.
  8072. ClusterIdentifier *string `type:"string" required:"true"`
  8073. }
  8074. // String returns the string representation
  8075. func (s RotateEncryptionKeyInput) String() string {
  8076. return awsutil.Prettify(s)
  8077. }
  8078. // GoString returns the string representation
  8079. func (s RotateEncryptionKeyInput) GoString() string {
  8080. return s.String()
  8081. }
  8082. // Validate inspects the fields of the type to determine if they are valid.
  8083. func (s *RotateEncryptionKeyInput) Validate() error {
  8084. invalidParams := request.ErrInvalidParams{Context: "RotateEncryptionKeyInput"}
  8085. if s.ClusterIdentifier == nil {
  8086. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  8087. }
  8088. if invalidParams.Len() > 0 {
  8089. return invalidParams
  8090. }
  8091. return nil
  8092. }
  8093. type RotateEncryptionKeyOutput struct {
  8094. _ struct{} `type:"structure"`
  8095. // Describes a cluster.
  8096. Cluster *Cluster `type:"structure"`
  8097. }
  8098. // String returns the string representation
  8099. func (s RotateEncryptionKeyOutput) String() string {
  8100. return awsutil.Prettify(s)
  8101. }
  8102. // GoString returns the string representation
  8103. func (s RotateEncryptionKeyOutput) GoString() string {
  8104. return s.String()
  8105. }
  8106. // Describes a snapshot.
  8107. type Snapshot struct {
  8108. _ struct{} `type:"structure"`
  8109. // A list of the AWS customer accounts authorized to restore the snapshot. Returns
  8110. // null if no accounts are authorized. Visible only to the snapshot owner.
  8111. AccountsWithRestoreAccess []*AccountWithRestoreAccess `locationNameList:"AccountWithRestoreAccess" type:"list"`
  8112. // The size of the incremental backup.
  8113. ActualIncrementalBackupSizeInMegaBytes *float64 `type:"double"`
  8114. // The Availability Zone in which the cluster was created.
  8115. AvailabilityZone *string `type:"string"`
  8116. // The number of megabytes that have been transferred to the snapshot backup.
  8117. BackupProgressInMegaBytes *float64 `type:"double"`
  8118. // The time (UTC) when the cluster was originally created.
  8119. ClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8120. // The identifier of the cluster for which the snapshot was taken.
  8121. ClusterIdentifier *string `type:"string"`
  8122. // The version ID of the Amazon Redshift engine that is running on the cluster.
  8123. ClusterVersion *string `type:"string"`
  8124. // The number of megabytes per second being transferred to the snapshot backup.
  8125. // Returns 0 for a completed backup.
  8126. CurrentBackupRateInMegaBytesPerSecond *float64 `type:"double"`
  8127. // The name of the database that was created when the cluster was created.
  8128. DBName *string `type:"string"`
  8129. // The amount of time an in-progress snapshot backup has been running, or the
  8130. // amount of time it took a completed backup to finish.
  8131. ElapsedTimeInSeconds *int64 `type:"long"`
  8132. // If true, the data in the snapshot is encrypted at rest.
  8133. Encrypted *bool `type:"boolean"`
  8134. // A boolean that indicates whether the snapshot data is encrypted using the
  8135. // HSM keys of the source cluster. true indicates that the data is encrypted
  8136. // using HSM keys.
  8137. EncryptedWithHSM *bool `type:"boolean"`
  8138. // The estimate of the time remaining before the snapshot backup will complete.
  8139. // Returns 0 for a completed backup.
  8140. EstimatedSecondsToCompletion *int64 `type:"long"`
  8141. // The AWS Key Management Service (KMS) key ID of the encryption key that was
  8142. // used to encrypt data in the cluster from which the snapshot was taken.
  8143. KmsKeyId *string `type:"string"`
  8144. // The master user name for the cluster.
  8145. MasterUsername *string `type:"string"`
  8146. // The node type of the nodes in the cluster.
  8147. NodeType *string `type:"string"`
  8148. // The number of nodes in the cluster.
  8149. NumberOfNodes *int64 `type:"integer"`
  8150. // For manual snapshots, the AWS customer account used to create or copy the
  8151. // snapshot. For automatic snapshots, the owner of the cluster. The owner can
  8152. // perform all snapshot actions, such as sharing a manual snapshot.
  8153. OwnerAccount *string `type:"string"`
  8154. // The port that the cluster is listening on.
  8155. Port *int64 `type:"integer"`
  8156. // The list of node types that this cluster snapshot is able to restore into.
  8157. RestorableNodeTypes []*string `locationNameList:"NodeType" type:"list"`
  8158. // The time (UTC) when Amazon Redshift began the snapshot. A snapshot contains
  8159. // a copy of the cluster data as of this exact time.
  8160. SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8161. // The snapshot identifier that is provided in the request.
  8162. SnapshotIdentifier *string `type:"string"`
  8163. // The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot
  8164. // will be of type "manual".
  8165. SnapshotType *string `type:"string"`
  8166. // The source region from which the snapshot was copied.
  8167. SourceRegion *string `type:"string"`
  8168. // The snapshot status. The value of the status depends on the API operation
  8169. // used. CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
  8170. // DescribeClusterSnapshots returns status as "creating", "available", "final
  8171. // snapshot", or "failed". DeleteClusterSnapshot returns status as "deleted".
  8172. Status *string `type:"string"`
  8173. // The list of tags for the cluster snapshot.
  8174. Tags []*Tag `locationNameList:"Tag" type:"list"`
  8175. // The size of the complete set of backup data that would be used to restore
  8176. // the cluster.
  8177. TotalBackupSizeInMegaBytes *float64 `type:"double"`
  8178. // The VPC identifier of the cluster if the snapshot is from a cluster in a
  8179. // VPC. Otherwise, this field is not in the output.
  8180. VpcId *string `type:"string"`
  8181. }
  8182. // String returns the string representation
  8183. func (s Snapshot) String() string {
  8184. return awsutil.Prettify(s)
  8185. }
  8186. // GoString returns the string representation
  8187. func (s Snapshot) GoString() string {
  8188. return s.String()
  8189. }
  8190. // The snapshot copy grant that grants Amazon Redshift permission to encrypt
  8191. // copied snapshots with the specified customer master key (CMK) from AWS KMS
  8192. // in the destination region.
  8193. //
  8194. // For more information about managing snapshot copy grants, go to Amazon
  8195. // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  8196. // in the Amazon Redshift Cluster Management Guide.
  8197. type SnapshotCopyGrant struct {
  8198. _ struct{} `type:"structure"`
  8199. // The unique identifier of the customer master key (CMK) in AWS KMS to which
  8200. // Amazon Redshift is granted permission.
  8201. KmsKeyId *string `type:"string"`
  8202. // The name of the snapshot copy grant.
  8203. SnapshotCopyGrantName *string `type:"string"`
  8204. // A list of tag instances.
  8205. Tags []*Tag `locationNameList:"Tag" type:"list"`
  8206. }
  8207. // String returns the string representation
  8208. func (s SnapshotCopyGrant) String() string {
  8209. return awsutil.Prettify(s)
  8210. }
  8211. // GoString returns the string representation
  8212. func (s SnapshotCopyGrant) GoString() string {
  8213. return s.String()
  8214. }
  8215. // Describes a subnet.
  8216. type Subnet struct {
  8217. _ struct{} `type:"structure"`
  8218. // Describes an availability zone.
  8219. SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
  8220. // The identifier of the subnet.
  8221. SubnetIdentifier *string `type:"string"`
  8222. // The status of the subnet.
  8223. SubnetStatus *string `type:"string"`
  8224. }
  8225. // String returns the string representation
  8226. func (s Subnet) String() string {
  8227. return awsutil.Prettify(s)
  8228. }
  8229. // GoString returns the string representation
  8230. func (s Subnet) GoString() string {
  8231. return s.String()
  8232. }
  8233. // Describes the status of a RestoreTableFromClusterSnapshot operation.
  8234. type TableRestoreStatus struct {
  8235. _ struct{} `type:"structure"`
  8236. // The identifier of the Amazon Redshift cluster that the table is being restored
  8237. // to.
  8238. ClusterIdentifier *string `type:"string"`
  8239. // A description of the status of the table restore request. Status values include
  8240. // SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.
  8241. Message *string `type:"string"`
  8242. // The name of the table to create as a result of the table restore request.
  8243. NewTableName *string `type:"string"`
  8244. // The amount of data restored to the new table so far, in megabytes (MB).
  8245. ProgressInMegaBytes *int64 `type:"long"`
  8246. // The time that the table restore request was made, in Universal Coordinated
  8247. // Time (UTC).
  8248. RequestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8249. // The identifier of the snapshot that the table is being restored from.
  8250. SnapshotIdentifier *string `type:"string"`
  8251. // The name of the source database that contains the table being restored.
  8252. SourceDatabaseName *string `type:"string"`
  8253. // The name of the source schema that contains the table being restored.
  8254. SourceSchemaName *string `type:"string"`
  8255. // The name of the source table being restored.
  8256. SourceTableName *string `type:"string"`
  8257. // A value that describes the current state of the table restore request.
  8258. //
  8259. // Valid Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS
  8260. Status *string `type:"string" enum:"TableRestoreStatusType"`
  8261. // The unique identifier for the table restore request.
  8262. TableRestoreRequestId *string `type:"string"`
  8263. // The name of the database to restore the table to.
  8264. TargetDatabaseName *string `type:"string"`
  8265. // The name of the schema to restore the table to.
  8266. TargetSchemaName *string `type:"string"`
  8267. // The total amount of data to restore to the new table, in megabytes (MB).
  8268. TotalDataInMegaBytes *int64 `type:"long"`
  8269. }
  8270. // String returns the string representation
  8271. func (s TableRestoreStatus) String() string {
  8272. return awsutil.Prettify(s)
  8273. }
  8274. // GoString returns the string representation
  8275. func (s TableRestoreStatus) GoString() string {
  8276. return s.String()
  8277. }
  8278. // A tag consisting of a name/value pair for a resource.
  8279. type Tag struct {
  8280. _ struct{} `type:"structure"`
  8281. // The key, or name, for the resource tag.
  8282. Key *string `type:"string"`
  8283. // The value for the resource tag.
  8284. Value *string `type:"string"`
  8285. }
  8286. // String returns the string representation
  8287. func (s Tag) String() string {
  8288. return awsutil.Prettify(s)
  8289. }
  8290. // GoString returns the string representation
  8291. func (s Tag) GoString() string {
  8292. return s.String()
  8293. }
  8294. // A tag and its associated resource.
  8295. type TaggedResource struct {
  8296. _ struct{} `type:"structure"`
  8297. // The Amazon Resource Name (ARN) with which the tag is associated. For example,
  8298. // arn:aws:redshift:us-east-1:123456789:cluster:t1.
  8299. ResourceName *string `type:"string"`
  8300. // The type of resource with which the tag is associated. Valid resource types
  8301. // are: Cluster CIDR/IP EC2 security group Snapshot Cluster security group
  8302. // Subnet group HSM connection HSM certificate Parameter group
  8303. //
  8304. // For more information about Amazon Redshift resource types and constructing
  8305. // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html)
  8306. // in the Amazon Redshift Cluster Management Guide.
  8307. ResourceType *string `type:"string"`
  8308. // The tag for the resource.
  8309. Tag *Tag `type:"structure"`
  8310. }
  8311. // String returns the string representation
  8312. func (s TaggedResource) String() string {
  8313. return awsutil.Prettify(s)
  8314. }
  8315. // GoString returns the string representation
  8316. func (s TaggedResource) GoString() string {
  8317. return s.String()
  8318. }
  8319. // Describes the members of a VPC security group.
  8320. type VpcSecurityGroupMembership struct {
  8321. _ struct{} `type:"structure"`
  8322. // The status of the VPC security group.
  8323. Status *string `type:"string"`
  8324. // The identifier of the VPC security group.
  8325. VpcSecurityGroupId *string `type:"string"`
  8326. }
  8327. // String returns the string representation
  8328. func (s VpcSecurityGroupMembership) String() string {
  8329. return awsutil.Prettify(s)
  8330. }
  8331. // GoString returns the string representation
  8332. func (s VpcSecurityGroupMembership) GoString() string {
  8333. return s.String()
  8334. }
  8335. const (
  8336. // @enum ParameterApplyType
  8337. ParameterApplyTypeStatic = "static"
  8338. // @enum ParameterApplyType
  8339. ParameterApplyTypeDynamic = "dynamic"
  8340. )
  8341. const (
  8342. // @enum SourceType
  8343. SourceTypeCluster = "cluster"
  8344. // @enum SourceType
  8345. SourceTypeClusterParameterGroup = "cluster-parameter-group"
  8346. // @enum SourceType
  8347. SourceTypeClusterSecurityGroup = "cluster-security-group"
  8348. // @enum SourceType
  8349. SourceTypeClusterSnapshot = "cluster-snapshot"
  8350. )
  8351. const (
  8352. // @enum TableRestoreStatusType
  8353. TableRestoreStatusTypePending = "PENDING"
  8354. // @enum TableRestoreStatusType
  8355. TableRestoreStatusTypeInProgress = "IN_PROGRESS"
  8356. // @enum TableRestoreStatusType
  8357. TableRestoreStatusTypeSucceeded = "SUCCEEDED"
  8358. // @enum TableRestoreStatusType
  8359. TableRestoreStatusTypeFailed = "FAILED"
  8360. // @enum TableRestoreStatusType
  8361. TableRestoreStatusTypeCanceled = "CANCELED"
  8362. )