api.go 776 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package redshift
  3. import (
  4. "fmt"
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/query"
  11. )
  12. const opAcceptReservedNodeExchange = "AcceptReservedNodeExchange"
  13. // AcceptReservedNodeExchangeRequest generates a "aws/request.Request" representing the
  14. // client's request for the AcceptReservedNodeExchange operation. The "output" return
  15. // value will be populated with the request's response once the request completes
  16. // successfully.
  17. //
  18. // Use "Send" method on the returned Request to send the API call to the service.
  19. // the "output" return value is not valid until after Send returns without error.
  20. //
  21. // See AcceptReservedNodeExchange for more information on using the AcceptReservedNodeExchange
  22. // API call, and error handling.
  23. //
  24. // This method is useful when you want to inject custom logic or configuration
  25. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26. //
  27. //
  28. // // Example sending a request using the AcceptReservedNodeExchangeRequest method.
  29. // req, resp := client.AcceptReservedNodeExchangeRequest(params)
  30. //
  31. // err := req.Send()
  32. // if err == nil { // resp is now filled
  33. // fmt.Println(resp)
  34. // }
  35. //
  36. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AcceptReservedNodeExchange
  37. func (c *Redshift) AcceptReservedNodeExchangeRequest(input *AcceptReservedNodeExchangeInput) (req *request.Request, output *AcceptReservedNodeExchangeOutput) {
  38. op := &request.Operation{
  39. Name: opAcceptReservedNodeExchange,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AcceptReservedNodeExchangeInput{}
  45. }
  46. output = &AcceptReservedNodeExchangeOutput{}
  47. req = c.newRequest(op, input, output)
  48. return
  49. }
  50. // AcceptReservedNodeExchange API operation for Amazon Redshift.
  51. //
  52. // Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to
  53. // the configuration (term, payment type, or number of nodes) and no additional
  54. // costs.
  55. //
  56. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  57. // with awserr.Error's Code and Message methods to get detailed information about
  58. // the error.
  59. //
  60. // See the AWS API reference guide for Amazon Redshift's
  61. // API operation AcceptReservedNodeExchange for usage and error information.
  62. //
  63. // Returned Error Codes:
  64. // * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound"
  65. // The specified reserved compute node not found.
  66. //
  67. // * ErrCodeInvalidReservedNodeStateFault "InvalidReservedNodeState"
  68. // Indicates that the Reserved Node being exchanged is not in an active state.
  69. //
  70. // * ErrCodeReservedNodeAlreadyMigratedFault "ReservedNodeAlreadyMigrated"
  71. // Indicates that the reserved node has already been exchanged.
  72. //
  73. // * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound"
  74. // Specified offering does not exist.
  75. //
  76. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  77. // The requested operation isn't supported.
  78. //
  79. // * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault"
  80. // Your request cannot be completed because a dependent internal service is
  81. // temporarily unavailable. Wait 30 to 60 seconds and try again.
  82. //
  83. // * ErrCodeReservedNodeAlreadyExistsFault "ReservedNodeAlreadyExists"
  84. // User already has a reservation with the given identifier.
  85. //
  86. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AcceptReservedNodeExchange
  87. func (c *Redshift) AcceptReservedNodeExchange(input *AcceptReservedNodeExchangeInput) (*AcceptReservedNodeExchangeOutput, error) {
  88. req, out := c.AcceptReservedNodeExchangeRequest(input)
  89. return out, req.Send()
  90. }
  91. // AcceptReservedNodeExchangeWithContext is the same as AcceptReservedNodeExchange with the addition of
  92. // the ability to pass a context and additional request options.
  93. //
  94. // See AcceptReservedNodeExchange for details on how to use this API operation.
  95. //
  96. // The context must be non-nil and will be used for request cancellation. If
  97. // the context is nil a panic will occur. In the future the SDK may create
  98. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  99. // for more information on using Contexts.
  100. func (c *Redshift) AcceptReservedNodeExchangeWithContext(ctx aws.Context, input *AcceptReservedNodeExchangeInput, opts ...request.Option) (*AcceptReservedNodeExchangeOutput, error) {
  101. req, out := c.AcceptReservedNodeExchangeRequest(input)
  102. req.SetContext(ctx)
  103. req.ApplyOptions(opts...)
  104. return out, req.Send()
  105. }
  106. const opAuthorizeClusterSecurityGroupIngress = "AuthorizeClusterSecurityGroupIngress"
  107. // AuthorizeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  108. // client's request for the AuthorizeClusterSecurityGroupIngress operation. The "output" return
  109. // value will be populated with the request's response once the request completes
  110. // successfully.
  111. //
  112. // Use "Send" method on the returned Request to send the API call to the service.
  113. // the "output" return value is not valid until after Send returns without error.
  114. //
  115. // See AuthorizeClusterSecurityGroupIngress for more information on using the AuthorizeClusterSecurityGroupIngress
  116. // API call, and error handling.
  117. //
  118. // This method is useful when you want to inject custom logic or configuration
  119. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  120. //
  121. //
  122. // // Example sending a request using the AuthorizeClusterSecurityGroupIngressRequest method.
  123. // req, resp := client.AuthorizeClusterSecurityGroupIngressRequest(params)
  124. //
  125. // err := req.Send()
  126. // if err == nil { // resp is now filled
  127. // fmt.Println(resp)
  128. // }
  129. //
  130. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeClusterSecurityGroupIngress
  131. func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeClusterSecurityGroupIngressInput) (req *request.Request, output *AuthorizeClusterSecurityGroupIngressOutput) {
  132. op := &request.Operation{
  133. Name: opAuthorizeClusterSecurityGroupIngress,
  134. HTTPMethod: "POST",
  135. HTTPPath: "/",
  136. }
  137. if input == nil {
  138. input = &AuthorizeClusterSecurityGroupIngressInput{}
  139. }
  140. output = &AuthorizeClusterSecurityGroupIngressOutput{}
  141. req = c.newRequest(op, input, output)
  142. return
  143. }
  144. // AuthorizeClusterSecurityGroupIngress API operation for Amazon Redshift.
  145. //
  146. // Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending
  147. // on whether the application accessing your cluster is running on the Internet
  148. // or an Amazon EC2 instance, you can authorize inbound access to either a Classless
  149. // Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2
  150. // security group. You can add as many as 20 ingress rules to an Amazon Redshift
  151. // security group.
  152. //
  153. // If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName
  154. // and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift
  155. // cluster must be in the same AWS Region.
  156. //
  157. // If you authorize access to a CIDR/IP address range, specify CIDRIP. For an
  158. // overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain
  159. // Routing (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
  160. //
  161. // You must also associate the security group with a cluster so that clients
  162. // running on these IP addresses or the EC2 instance are authorized to connect
  163. // to the cluster. For information about managing security groups, go to Working
  164. // with Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  165. // in the Amazon Redshift Cluster Management Guide.
  166. //
  167. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  168. // with awserr.Error's Code and Message methods to get detailed information about
  169. // the error.
  170. //
  171. // See the AWS API reference guide for Amazon Redshift's
  172. // API operation AuthorizeClusterSecurityGroupIngress for usage and error information.
  173. //
  174. // Returned Error Codes:
  175. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  176. // The cluster security group name does not refer to an existing cluster security
  177. // group.
  178. //
  179. // * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState"
  180. // The state of the cluster security group is not available.
  181. //
  182. // * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
  183. // The specified CIDR block or EC2 security group is already authorized for
  184. // the specified cluster security group.
  185. //
  186. // * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
  187. // The authorization quota for the cluster security group has been reached.
  188. //
  189. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeClusterSecurityGroupIngress
  190. func (c *Redshift) AuthorizeClusterSecurityGroupIngress(input *AuthorizeClusterSecurityGroupIngressInput) (*AuthorizeClusterSecurityGroupIngressOutput, error) {
  191. req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input)
  192. return out, req.Send()
  193. }
  194. // AuthorizeClusterSecurityGroupIngressWithContext is the same as AuthorizeClusterSecurityGroupIngress with the addition of
  195. // the ability to pass a context and additional request options.
  196. //
  197. // See AuthorizeClusterSecurityGroupIngress for details on how to use this API operation.
  198. //
  199. // The context must be non-nil and will be used for request cancellation. If
  200. // the context is nil a panic will occur. In the future the SDK may create
  201. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  202. // for more information on using Contexts.
  203. func (c *Redshift) AuthorizeClusterSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeClusterSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeClusterSecurityGroupIngressOutput, error) {
  204. req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input)
  205. req.SetContext(ctx)
  206. req.ApplyOptions(opts...)
  207. return out, req.Send()
  208. }
  209. const opAuthorizeSnapshotAccess = "AuthorizeSnapshotAccess"
  210. // AuthorizeSnapshotAccessRequest generates a "aws/request.Request" representing the
  211. // client's request for the AuthorizeSnapshotAccess operation. The "output" return
  212. // value will be populated with the request's response once the request completes
  213. // successfully.
  214. //
  215. // Use "Send" method on the returned Request to send the API call to the service.
  216. // the "output" return value is not valid until after Send returns without error.
  217. //
  218. // See AuthorizeSnapshotAccess for more information on using the AuthorizeSnapshotAccess
  219. // API call, and error handling.
  220. //
  221. // This method is useful when you want to inject custom logic or configuration
  222. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  223. //
  224. //
  225. // // Example sending a request using the AuthorizeSnapshotAccessRequest method.
  226. // req, resp := client.AuthorizeSnapshotAccessRequest(params)
  227. //
  228. // err := req.Send()
  229. // if err == nil { // resp is now filled
  230. // fmt.Println(resp)
  231. // }
  232. //
  233. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeSnapshotAccess
  234. func (c *Redshift) AuthorizeSnapshotAccessRequest(input *AuthorizeSnapshotAccessInput) (req *request.Request, output *AuthorizeSnapshotAccessOutput) {
  235. op := &request.Operation{
  236. Name: opAuthorizeSnapshotAccess,
  237. HTTPMethod: "POST",
  238. HTTPPath: "/",
  239. }
  240. if input == nil {
  241. input = &AuthorizeSnapshotAccessInput{}
  242. }
  243. output = &AuthorizeSnapshotAccessOutput{}
  244. req = c.newRequest(op, input, output)
  245. return
  246. }
  247. // AuthorizeSnapshotAccess API operation for Amazon Redshift.
  248. //
  249. // Authorizes the specified AWS customer account to restore the specified snapshot.
  250. //
  251. // For more information about working with snapshots, go to Amazon Redshift
  252. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  253. // in the Amazon Redshift Cluster Management Guide.
  254. //
  255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  256. // with awserr.Error's Code and Message methods to get detailed information about
  257. // the error.
  258. //
  259. // See the AWS API reference guide for Amazon Redshift's
  260. // API operation AuthorizeSnapshotAccess for usage and error information.
  261. //
  262. // Returned Error Codes:
  263. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  264. // The snapshot identifier does not refer to an existing cluster snapshot.
  265. //
  266. // * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
  267. // The specified CIDR block or EC2 security group is already authorized for
  268. // the specified cluster security group.
  269. //
  270. // * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
  271. // The authorization quota for the cluster security group has been reached.
  272. //
  273. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  274. // The request cannot be completed because a dependent service is throttling
  275. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  276. //
  277. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  278. // The specified cluster snapshot is not in the available state, or other accounts
  279. // are authorized to access the snapshot.
  280. //
  281. // * ErrCodeLimitExceededFault "LimitExceededFault"
  282. // The encryption key has exceeded its grant limit in AWS KMS.
  283. //
  284. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeSnapshotAccess
  285. func (c *Redshift) AuthorizeSnapshotAccess(input *AuthorizeSnapshotAccessInput) (*AuthorizeSnapshotAccessOutput, error) {
  286. req, out := c.AuthorizeSnapshotAccessRequest(input)
  287. return out, req.Send()
  288. }
  289. // AuthorizeSnapshotAccessWithContext is the same as AuthorizeSnapshotAccess with the addition of
  290. // the ability to pass a context and additional request options.
  291. //
  292. // See AuthorizeSnapshotAccess for details on how to use this API operation.
  293. //
  294. // The context must be non-nil and will be used for request cancellation. If
  295. // the context is nil a panic will occur. In the future the SDK may create
  296. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  297. // for more information on using Contexts.
  298. func (c *Redshift) AuthorizeSnapshotAccessWithContext(ctx aws.Context, input *AuthorizeSnapshotAccessInput, opts ...request.Option) (*AuthorizeSnapshotAccessOutput, error) {
  299. req, out := c.AuthorizeSnapshotAccessRequest(input)
  300. req.SetContext(ctx)
  301. req.ApplyOptions(opts...)
  302. return out, req.Send()
  303. }
  304. const opBatchDeleteClusterSnapshots = "BatchDeleteClusterSnapshots"
  305. // BatchDeleteClusterSnapshotsRequest generates a "aws/request.Request" representing the
  306. // client's request for the BatchDeleteClusterSnapshots operation. The "output" return
  307. // value will be populated with the request's response once the request completes
  308. // successfully.
  309. //
  310. // Use "Send" method on the returned Request to send the API call to the service.
  311. // the "output" return value is not valid until after Send returns without error.
  312. //
  313. // See BatchDeleteClusterSnapshots for more information on using the BatchDeleteClusterSnapshots
  314. // API call, and error handling.
  315. //
  316. // This method is useful when you want to inject custom logic or configuration
  317. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  318. //
  319. //
  320. // // Example sending a request using the BatchDeleteClusterSnapshotsRequest method.
  321. // req, resp := client.BatchDeleteClusterSnapshotsRequest(params)
  322. //
  323. // err := req.Send()
  324. // if err == nil { // resp is now filled
  325. // fmt.Println(resp)
  326. // }
  327. //
  328. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshots
  329. func (c *Redshift) BatchDeleteClusterSnapshotsRequest(input *BatchDeleteClusterSnapshotsInput) (req *request.Request, output *BatchDeleteClusterSnapshotsOutput) {
  330. op := &request.Operation{
  331. Name: opBatchDeleteClusterSnapshots,
  332. HTTPMethod: "POST",
  333. HTTPPath: "/",
  334. }
  335. if input == nil {
  336. input = &BatchDeleteClusterSnapshotsInput{}
  337. }
  338. output = &BatchDeleteClusterSnapshotsOutput{}
  339. req = c.newRequest(op, input, output)
  340. return
  341. }
  342. // BatchDeleteClusterSnapshots API operation for Amazon Redshift.
  343. //
  344. // Deletes a set of cluster snapshots.
  345. //
  346. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  347. // with awserr.Error's Code and Message methods to get detailed information about
  348. // the error.
  349. //
  350. // See the AWS API reference guide for Amazon Redshift's
  351. // API operation BatchDeleteClusterSnapshots for usage and error information.
  352. //
  353. // Returned Error Codes:
  354. // * ErrCodeBatchDeleteRequestSizeExceededFault "BatchDeleteRequestSizeExceeded"
  355. // The maximum number for a batch delete of snapshots has been reached. The
  356. // limit is 100.
  357. //
  358. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshots
  359. func (c *Redshift) BatchDeleteClusterSnapshots(input *BatchDeleteClusterSnapshotsInput) (*BatchDeleteClusterSnapshotsOutput, error) {
  360. req, out := c.BatchDeleteClusterSnapshotsRequest(input)
  361. return out, req.Send()
  362. }
  363. // BatchDeleteClusterSnapshotsWithContext is the same as BatchDeleteClusterSnapshots with the addition of
  364. // the ability to pass a context and additional request options.
  365. //
  366. // See BatchDeleteClusterSnapshots for details on how to use this API operation.
  367. //
  368. // The context must be non-nil and will be used for request cancellation. If
  369. // the context is nil a panic will occur. In the future the SDK may create
  370. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  371. // for more information on using Contexts.
  372. func (c *Redshift) BatchDeleteClusterSnapshotsWithContext(ctx aws.Context, input *BatchDeleteClusterSnapshotsInput, opts ...request.Option) (*BatchDeleteClusterSnapshotsOutput, error) {
  373. req, out := c.BatchDeleteClusterSnapshotsRequest(input)
  374. req.SetContext(ctx)
  375. req.ApplyOptions(opts...)
  376. return out, req.Send()
  377. }
  378. const opBatchModifyClusterSnapshots = "BatchModifyClusterSnapshots"
  379. // BatchModifyClusterSnapshotsRequest generates a "aws/request.Request" representing the
  380. // client's request for the BatchModifyClusterSnapshots operation. The "output" return
  381. // value will be populated with the request's response once the request completes
  382. // successfully.
  383. //
  384. // Use "Send" method on the returned Request to send the API call to the service.
  385. // the "output" return value is not valid until after Send returns without error.
  386. //
  387. // See BatchModifyClusterSnapshots for more information on using the BatchModifyClusterSnapshots
  388. // API call, and error handling.
  389. //
  390. // This method is useful when you want to inject custom logic or configuration
  391. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  392. //
  393. //
  394. // // Example sending a request using the BatchModifyClusterSnapshotsRequest method.
  395. // req, resp := client.BatchModifyClusterSnapshotsRequest(params)
  396. //
  397. // err := req.Send()
  398. // if err == nil { // resp is now filled
  399. // fmt.Println(resp)
  400. // }
  401. //
  402. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshots
  403. func (c *Redshift) BatchModifyClusterSnapshotsRequest(input *BatchModifyClusterSnapshotsInput) (req *request.Request, output *BatchModifyClusterSnapshotsOutput) {
  404. op := &request.Operation{
  405. Name: opBatchModifyClusterSnapshots,
  406. HTTPMethod: "POST",
  407. HTTPPath: "/",
  408. }
  409. if input == nil {
  410. input = &BatchModifyClusterSnapshotsInput{}
  411. }
  412. output = &BatchModifyClusterSnapshotsOutput{}
  413. req = c.newRequest(op, input, output)
  414. return
  415. }
  416. // BatchModifyClusterSnapshots API operation for Amazon Redshift.
  417. //
  418. // Modifies the settings for a list of snapshots.
  419. //
  420. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  421. // with awserr.Error's Code and Message methods to get detailed information about
  422. // the error.
  423. //
  424. // See the AWS API reference guide for Amazon Redshift's
  425. // API operation BatchModifyClusterSnapshots for usage and error information.
  426. //
  427. // Returned Error Codes:
  428. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  429. // The retention period specified is either in the past or is not a valid value.
  430. //
  431. // The value must be either -1 or an integer between 1 and 3,653.
  432. //
  433. // * ErrCodeBatchModifyClusterSnapshotsLimitExceededFault "BatchModifyClusterSnapshotsLimitExceededFault"
  434. // The maximum number for snapshot identifiers has been reached. The limit is
  435. // 100.
  436. //
  437. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshots
  438. func (c *Redshift) BatchModifyClusterSnapshots(input *BatchModifyClusterSnapshotsInput) (*BatchModifyClusterSnapshotsOutput, error) {
  439. req, out := c.BatchModifyClusterSnapshotsRequest(input)
  440. return out, req.Send()
  441. }
  442. // BatchModifyClusterSnapshotsWithContext is the same as BatchModifyClusterSnapshots with the addition of
  443. // the ability to pass a context and additional request options.
  444. //
  445. // See BatchModifyClusterSnapshots for details on how to use this API operation.
  446. //
  447. // The context must be non-nil and will be used for request cancellation. If
  448. // the context is nil a panic will occur. In the future the SDK may create
  449. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  450. // for more information on using Contexts.
  451. func (c *Redshift) BatchModifyClusterSnapshotsWithContext(ctx aws.Context, input *BatchModifyClusterSnapshotsInput, opts ...request.Option) (*BatchModifyClusterSnapshotsOutput, error) {
  452. req, out := c.BatchModifyClusterSnapshotsRequest(input)
  453. req.SetContext(ctx)
  454. req.ApplyOptions(opts...)
  455. return out, req.Send()
  456. }
  457. const opCancelResize = "CancelResize"
  458. // CancelResizeRequest generates a "aws/request.Request" representing the
  459. // client's request for the CancelResize operation. The "output" return
  460. // value will be populated with the request's response once the request completes
  461. // successfully.
  462. //
  463. // Use "Send" method on the returned Request to send the API call to the service.
  464. // the "output" return value is not valid until after Send returns without error.
  465. //
  466. // See CancelResize for more information on using the CancelResize
  467. // API call, and error handling.
  468. //
  469. // This method is useful when you want to inject custom logic or configuration
  470. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  471. //
  472. //
  473. // // Example sending a request using the CancelResizeRequest method.
  474. // req, resp := client.CancelResizeRequest(params)
  475. //
  476. // err := req.Send()
  477. // if err == nil { // resp is now filled
  478. // fmt.Println(resp)
  479. // }
  480. //
  481. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CancelResize
  482. func (c *Redshift) CancelResizeRequest(input *CancelResizeInput) (req *request.Request, output *CancelResizeOutput) {
  483. op := &request.Operation{
  484. Name: opCancelResize,
  485. HTTPMethod: "POST",
  486. HTTPPath: "/",
  487. }
  488. if input == nil {
  489. input = &CancelResizeInput{}
  490. }
  491. output = &CancelResizeOutput{}
  492. req = c.newRequest(op, input, output)
  493. return
  494. }
  495. // CancelResize API operation for Amazon Redshift.
  496. //
  497. // Cancels a resize operation.
  498. //
  499. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  500. // with awserr.Error's Code and Message methods to get detailed information about
  501. // the error.
  502. //
  503. // See the AWS API reference guide for Amazon Redshift's
  504. // API operation CancelResize for usage and error information.
  505. //
  506. // Returned Error Codes:
  507. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  508. // The ClusterIdentifier parameter does not refer to an existing cluster.
  509. //
  510. // * ErrCodeResizeNotFoundFault "ResizeNotFound"
  511. // A resize operation for the specified cluster is not found.
  512. //
  513. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  514. // The specified cluster is not in the available state.
  515. //
  516. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  517. // The requested operation isn't supported.
  518. //
  519. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CancelResize
  520. func (c *Redshift) CancelResize(input *CancelResizeInput) (*CancelResizeOutput, error) {
  521. req, out := c.CancelResizeRequest(input)
  522. return out, req.Send()
  523. }
  524. // CancelResizeWithContext is the same as CancelResize with the addition of
  525. // the ability to pass a context and additional request options.
  526. //
  527. // See CancelResize for details on how to use this API operation.
  528. //
  529. // The context must be non-nil and will be used for request cancellation. If
  530. // the context is nil a panic will occur. In the future the SDK may create
  531. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  532. // for more information on using Contexts.
  533. func (c *Redshift) CancelResizeWithContext(ctx aws.Context, input *CancelResizeInput, opts ...request.Option) (*CancelResizeOutput, error) {
  534. req, out := c.CancelResizeRequest(input)
  535. req.SetContext(ctx)
  536. req.ApplyOptions(opts...)
  537. return out, req.Send()
  538. }
  539. const opCopyClusterSnapshot = "CopyClusterSnapshot"
  540. // CopyClusterSnapshotRequest generates a "aws/request.Request" representing the
  541. // client's request for the CopyClusterSnapshot operation. The "output" return
  542. // value will be populated with the request's response once the request completes
  543. // successfully.
  544. //
  545. // Use "Send" method on the returned Request to send the API call to the service.
  546. // the "output" return value is not valid until after Send returns without error.
  547. //
  548. // See CopyClusterSnapshot for more information on using the CopyClusterSnapshot
  549. // API call, and error handling.
  550. //
  551. // This method is useful when you want to inject custom logic or configuration
  552. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  553. //
  554. //
  555. // // Example sending a request using the CopyClusterSnapshotRequest method.
  556. // req, resp := client.CopyClusterSnapshotRequest(params)
  557. //
  558. // err := req.Send()
  559. // if err == nil { // resp is now filled
  560. // fmt.Println(resp)
  561. // }
  562. //
  563. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CopyClusterSnapshot
  564. func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) (req *request.Request, output *CopyClusterSnapshotOutput) {
  565. op := &request.Operation{
  566. Name: opCopyClusterSnapshot,
  567. HTTPMethod: "POST",
  568. HTTPPath: "/",
  569. }
  570. if input == nil {
  571. input = &CopyClusterSnapshotInput{}
  572. }
  573. output = &CopyClusterSnapshotOutput{}
  574. req = c.newRequest(op, input, output)
  575. return
  576. }
  577. // CopyClusterSnapshot API operation for Amazon Redshift.
  578. //
  579. // Copies the specified automated cluster snapshot to a new manual cluster snapshot.
  580. // The source must be an automated snapshot and it must be in the available
  581. // state.
  582. //
  583. // When you delete a cluster, Amazon Redshift deletes any automated snapshots
  584. // of the cluster. Also, when the retention period of the snapshot expires,
  585. // Amazon Redshift automatically deletes it. If you want to keep an automated
  586. // snapshot for a longer period, you can make a manual copy of the snapshot.
  587. // Manual snapshots are retained until you delete them.
  588. //
  589. // For more information about working with snapshots, go to Amazon Redshift
  590. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  591. // in the Amazon Redshift Cluster Management Guide.
  592. //
  593. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  594. // with awserr.Error's Code and Message methods to get detailed information about
  595. // the error.
  596. //
  597. // See the AWS API reference guide for Amazon Redshift's
  598. // API operation CopyClusterSnapshot for usage and error information.
  599. //
  600. // Returned Error Codes:
  601. // * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists"
  602. // The value specified as a snapshot identifier is already used by an existing
  603. // snapshot.
  604. //
  605. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  606. // The snapshot identifier does not refer to an existing cluster snapshot.
  607. //
  608. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  609. // The specified cluster snapshot is not in the available state, or other accounts
  610. // are authorized to access the snapshot.
  611. //
  612. // * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded"
  613. // The request would result in the user exceeding the allowed number of cluster
  614. // snapshots.
  615. //
  616. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  617. // The retention period specified is either in the past or is not a valid value.
  618. //
  619. // The value must be either -1 or an integer between 1 and 3,653.
  620. //
  621. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CopyClusterSnapshot
  622. func (c *Redshift) CopyClusterSnapshot(input *CopyClusterSnapshotInput) (*CopyClusterSnapshotOutput, error) {
  623. req, out := c.CopyClusterSnapshotRequest(input)
  624. return out, req.Send()
  625. }
  626. // CopyClusterSnapshotWithContext is the same as CopyClusterSnapshot with the addition of
  627. // the ability to pass a context and additional request options.
  628. //
  629. // See CopyClusterSnapshot for details on how to use this API operation.
  630. //
  631. // The context must be non-nil and will be used for request cancellation. If
  632. // the context is nil a panic will occur. In the future the SDK may create
  633. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  634. // for more information on using Contexts.
  635. func (c *Redshift) CopyClusterSnapshotWithContext(ctx aws.Context, input *CopyClusterSnapshotInput, opts ...request.Option) (*CopyClusterSnapshotOutput, error) {
  636. req, out := c.CopyClusterSnapshotRequest(input)
  637. req.SetContext(ctx)
  638. req.ApplyOptions(opts...)
  639. return out, req.Send()
  640. }
  641. const opCreateCluster = "CreateCluster"
  642. // CreateClusterRequest generates a "aws/request.Request" representing the
  643. // client's request for the CreateCluster operation. The "output" return
  644. // value will be populated with the request's response once the request completes
  645. // successfully.
  646. //
  647. // Use "Send" method on the returned Request to send the API call to the service.
  648. // the "output" return value is not valid until after Send returns without error.
  649. //
  650. // See CreateCluster for more information on using the CreateCluster
  651. // API call, and error handling.
  652. //
  653. // This method is useful when you want to inject custom logic or configuration
  654. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  655. //
  656. //
  657. // // Example sending a request using the CreateClusterRequest method.
  658. // req, resp := client.CreateClusterRequest(params)
  659. //
  660. // err := req.Send()
  661. // if err == nil { // resp is now filled
  662. // fmt.Println(resp)
  663. // }
  664. //
  665. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster
  666. func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
  667. op := &request.Operation{
  668. Name: opCreateCluster,
  669. HTTPMethod: "POST",
  670. HTTPPath: "/",
  671. }
  672. if input == nil {
  673. input = &CreateClusterInput{}
  674. }
  675. output = &CreateClusterOutput{}
  676. req = c.newRequest(op, input, output)
  677. return
  678. }
  679. // CreateCluster API operation for Amazon Redshift.
  680. //
  681. // Creates a new cluster.
  682. //
  683. // To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster
  684. // subnet group name. The cluster subnet group identifies the subnets of your
  685. // VPC that Amazon Redshift uses when creating the cluster. For more information
  686. // about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  687. // in the Amazon Redshift Cluster Management Guide.
  688. //
  689. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  690. // with awserr.Error's Code and Message methods to get detailed information about
  691. // the error.
  692. //
  693. // See the AWS API reference guide for Amazon Redshift's
  694. // API operation CreateCluster for usage and error information.
  695. //
  696. // Returned Error Codes:
  697. // * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists"
  698. // The account already has a cluster with the given identifier.
  699. //
  700. // * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity"
  701. // The number of nodes specified exceeds the allotted capacity of the cluster.
  702. //
  703. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  704. // The parameter group name does not refer to an existing parameter group.
  705. //
  706. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  707. // The cluster security group name does not refer to an existing cluster security
  708. // group.
  709. //
  710. // * ErrCodeClusterQuotaExceededFault "ClusterQuotaExceeded"
  711. // The request would exceed the allowed number of cluster instances for this
  712. // account. For information about increasing your quota, go to Limits in Amazon
  713. // Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  714. // in the Amazon Redshift Cluster Management Guide.
  715. //
  716. // * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded"
  717. // The operation would exceed the number of nodes allotted to the account. For
  718. // information about increasing your quota, go to Limits in Amazon Redshift
  719. // (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  720. // in the Amazon Redshift Cluster Management Guide.
  721. //
  722. // * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded"
  723. // The operation would exceed the number of nodes allowed for a cluster.
  724. //
  725. // * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  726. // The cluster subnet group name does not refer to an existing cluster subnet
  727. // group.
  728. //
  729. // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  730. // The cluster subnet group does not cover all Availability Zones.
  731. //
  732. // * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault"
  733. // The cluster subnet group cannot be deleted because it is in use.
  734. //
  735. // * ErrCodeInvalidSubnet "InvalidSubnet"
  736. // The requested subnet is not valid, or not all of the subnets are in the same
  737. // VPC.
  738. //
  739. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  740. // Your account is not authorized to perform the requested operation.
  741. //
  742. // * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault"
  743. // There is no Amazon Redshift HSM client certificate with the specified identifier.
  744. //
  745. // * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault"
  746. // There is no Amazon Redshift HSM configuration with the specified identifier.
  747. //
  748. // * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault"
  749. // The Elastic IP (EIP) is invalid or cannot be found.
  750. //
  751. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  752. // You have exceeded the number of tags allowed.
  753. //
  754. // * ErrCodeInvalidTagFault "InvalidTagFault"
  755. // The tag is invalid.
  756. //
  757. // * ErrCodeLimitExceededFault "LimitExceededFault"
  758. // The encryption key has exceeded its grant limit in AWS KMS.
  759. //
  760. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  761. // The request cannot be completed because a dependent service is throttling
  762. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  763. //
  764. // * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack"
  765. // The provided cluster track name is not valid.
  766. //
  767. // * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound"
  768. // We could not find the specified snapshot schedule.
  769. //
  770. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  771. // The retention period specified is either in the past or is not a valid value.
  772. //
  773. // The value must be either -1 or an integer between 1 and 3,653.
  774. //
  775. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster
  776. func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
  777. req, out := c.CreateClusterRequest(input)
  778. return out, req.Send()
  779. }
  780. // CreateClusterWithContext is the same as CreateCluster with the addition of
  781. // the ability to pass a context and additional request options.
  782. //
  783. // See CreateCluster for details on how to use this API operation.
  784. //
  785. // The context must be non-nil and will be used for request cancellation. If
  786. // the context is nil a panic will occur. In the future the SDK may create
  787. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  788. // for more information on using Contexts.
  789. func (c *Redshift) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
  790. req, out := c.CreateClusterRequest(input)
  791. req.SetContext(ctx)
  792. req.ApplyOptions(opts...)
  793. return out, req.Send()
  794. }
  795. const opCreateClusterParameterGroup = "CreateClusterParameterGroup"
  796. // CreateClusterParameterGroupRequest generates a "aws/request.Request" representing the
  797. // client's request for the CreateClusterParameterGroup operation. The "output" return
  798. // value will be populated with the request's response once the request completes
  799. // successfully.
  800. //
  801. // Use "Send" method on the returned Request to send the API call to the service.
  802. // the "output" return value is not valid until after Send returns without error.
  803. //
  804. // See CreateClusterParameterGroup for more information on using the CreateClusterParameterGroup
  805. // API call, and error handling.
  806. //
  807. // This method is useful when you want to inject custom logic or configuration
  808. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  809. //
  810. //
  811. // // Example sending a request using the CreateClusterParameterGroupRequest method.
  812. // req, resp := client.CreateClusterParameterGroupRequest(params)
  813. //
  814. // err := req.Send()
  815. // if err == nil { // resp is now filled
  816. // fmt.Println(resp)
  817. // }
  818. //
  819. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterParameterGroup
  820. func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParameterGroupInput) (req *request.Request, output *CreateClusterParameterGroupOutput) {
  821. op := &request.Operation{
  822. Name: opCreateClusterParameterGroup,
  823. HTTPMethod: "POST",
  824. HTTPPath: "/",
  825. }
  826. if input == nil {
  827. input = &CreateClusterParameterGroupInput{}
  828. }
  829. output = &CreateClusterParameterGroupOutput{}
  830. req = c.newRequest(op, input, output)
  831. return
  832. }
  833. // CreateClusterParameterGroup API operation for Amazon Redshift.
  834. //
  835. // Creates an Amazon Redshift parameter group.
  836. //
  837. // Creating parameter groups is independent of creating clusters. You can associate
  838. // a cluster with a parameter group when you create the cluster. You can also
  839. // associate an existing cluster with a parameter group after the cluster is
  840. // created by using ModifyCluster.
  841. //
  842. // Parameters in the parameter group define specific behavior that applies to
  843. // the databases you create on the cluster. For more information about parameters
  844. // and parameter groups, go to Amazon Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  845. // in the Amazon Redshift Cluster Management Guide.
  846. //
  847. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  848. // with awserr.Error's Code and Message methods to get detailed information about
  849. // the error.
  850. //
  851. // See the AWS API reference guide for Amazon Redshift's
  852. // API operation CreateClusterParameterGroup for usage and error information.
  853. //
  854. // Returned Error Codes:
  855. // * ErrCodeClusterParameterGroupQuotaExceededFault "ClusterParameterGroupQuotaExceeded"
  856. // The request would result in the user exceeding the allowed number of cluster
  857. // parameter groups. For information about increasing your quota, go to Limits
  858. // in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  859. // in the Amazon Redshift Cluster Management Guide.
  860. //
  861. // * ErrCodeClusterParameterGroupAlreadyExistsFault "ClusterParameterGroupAlreadyExists"
  862. // A cluster parameter group with the same name already exists.
  863. //
  864. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  865. // You have exceeded the number of tags allowed.
  866. //
  867. // * ErrCodeInvalidTagFault "InvalidTagFault"
  868. // The tag is invalid.
  869. //
  870. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterParameterGroup
  871. func (c *Redshift) CreateClusterParameterGroup(input *CreateClusterParameterGroupInput) (*CreateClusterParameterGroupOutput, error) {
  872. req, out := c.CreateClusterParameterGroupRequest(input)
  873. return out, req.Send()
  874. }
  875. // CreateClusterParameterGroupWithContext is the same as CreateClusterParameterGroup with the addition of
  876. // the ability to pass a context and additional request options.
  877. //
  878. // See CreateClusterParameterGroup for details on how to use this API operation.
  879. //
  880. // The context must be non-nil and will be used for request cancellation. If
  881. // the context is nil a panic will occur. In the future the SDK may create
  882. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  883. // for more information on using Contexts.
  884. func (c *Redshift) CreateClusterParameterGroupWithContext(ctx aws.Context, input *CreateClusterParameterGroupInput, opts ...request.Option) (*CreateClusterParameterGroupOutput, error) {
  885. req, out := c.CreateClusterParameterGroupRequest(input)
  886. req.SetContext(ctx)
  887. req.ApplyOptions(opts...)
  888. return out, req.Send()
  889. }
  890. const opCreateClusterSecurityGroup = "CreateClusterSecurityGroup"
  891. // CreateClusterSecurityGroupRequest generates a "aws/request.Request" representing the
  892. // client's request for the CreateClusterSecurityGroup operation. The "output" return
  893. // value will be populated with the request's response once the request completes
  894. // successfully.
  895. //
  896. // Use "Send" method on the returned Request to send the API call to the service.
  897. // the "output" return value is not valid until after Send returns without error.
  898. //
  899. // See CreateClusterSecurityGroup for more information on using the CreateClusterSecurityGroup
  900. // API call, and error handling.
  901. //
  902. // This method is useful when you want to inject custom logic or configuration
  903. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  904. //
  905. //
  906. // // Example sending a request using the CreateClusterSecurityGroupRequest method.
  907. // req, resp := client.CreateClusterSecurityGroupRequest(params)
  908. //
  909. // err := req.Send()
  910. // if err == nil { // resp is now filled
  911. // fmt.Println(resp)
  912. // }
  913. //
  914. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSecurityGroup
  915. func (c *Redshift) CreateClusterSecurityGroupRequest(input *CreateClusterSecurityGroupInput) (req *request.Request, output *CreateClusterSecurityGroupOutput) {
  916. op := &request.Operation{
  917. Name: opCreateClusterSecurityGroup,
  918. HTTPMethod: "POST",
  919. HTTPPath: "/",
  920. }
  921. if input == nil {
  922. input = &CreateClusterSecurityGroupInput{}
  923. }
  924. output = &CreateClusterSecurityGroupOutput{}
  925. req = c.newRequest(op, input, output)
  926. return
  927. }
  928. // CreateClusterSecurityGroup API operation for Amazon Redshift.
  929. //
  930. // Creates a new Amazon Redshift security group. You use security groups to
  931. // control access to non-VPC clusters.
  932. //
  933. // For information about managing security groups, go to Amazon Redshift Cluster
  934. // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  935. // in the Amazon Redshift Cluster Management Guide.
  936. //
  937. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  938. // with awserr.Error's Code and Message methods to get detailed information about
  939. // the error.
  940. //
  941. // See the AWS API reference guide for Amazon Redshift's
  942. // API operation CreateClusterSecurityGroup for usage and error information.
  943. //
  944. // Returned Error Codes:
  945. // * ErrCodeClusterSecurityGroupAlreadyExistsFault "ClusterSecurityGroupAlreadyExists"
  946. // A cluster security group with the same name already exists.
  947. //
  948. // * ErrCodeClusterSecurityGroupQuotaExceededFault "QuotaExceeded.ClusterSecurityGroup"
  949. // The request would result in the user exceeding the allowed number of cluster
  950. // security groups. For information about increasing your quota, go to Limits
  951. // in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  952. // in the Amazon Redshift Cluster Management Guide.
  953. //
  954. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  955. // You have exceeded the number of tags allowed.
  956. //
  957. // * ErrCodeInvalidTagFault "InvalidTagFault"
  958. // The tag is invalid.
  959. //
  960. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSecurityGroup
  961. func (c *Redshift) CreateClusterSecurityGroup(input *CreateClusterSecurityGroupInput) (*CreateClusterSecurityGroupOutput, error) {
  962. req, out := c.CreateClusterSecurityGroupRequest(input)
  963. return out, req.Send()
  964. }
  965. // CreateClusterSecurityGroupWithContext is the same as CreateClusterSecurityGroup with the addition of
  966. // the ability to pass a context and additional request options.
  967. //
  968. // See CreateClusterSecurityGroup for details on how to use this API operation.
  969. //
  970. // The context must be non-nil and will be used for request cancellation. If
  971. // the context is nil a panic will occur. In the future the SDK may create
  972. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  973. // for more information on using Contexts.
  974. func (c *Redshift) CreateClusterSecurityGroupWithContext(ctx aws.Context, input *CreateClusterSecurityGroupInput, opts ...request.Option) (*CreateClusterSecurityGroupOutput, error) {
  975. req, out := c.CreateClusterSecurityGroupRequest(input)
  976. req.SetContext(ctx)
  977. req.ApplyOptions(opts...)
  978. return out, req.Send()
  979. }
  980. const opCreateClusterSnapshot = "CreateClusterSnapshot"
  981. // CreateClusterSnapshotRequest generates a "aws/request.Request" representing the
  982. // client's request for the CreateClusterSnapshot operation. The "output" return
  983. // value will be populated with the request's response once the request completes
  984. // successfully.
  985. //
  986. // Use "Send" method on the returned Request to send the API call to the service.
  987. // the "output" return value is not valid until after Send returns without error.
  988. //
  989. // See CreateClusterSnapshot for more information on using the CreateClusterSnapshot
  990. // API call, and error handling.
  991. //
  992. // This method is useful when you want to inject custom logic or configuration
  993. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  994. //
  995. //
  996. // // Example sending a request using the CreateClusterSnapshotRequest method.
  997. // req, resp := client.CreateClusterSnapshotRequest(params)
  998. //
  999. // err := req.Send()
  1000. // if err == nil { // resp is now filled
  1001. // fmt.Println(resp)
  1002. // }
  1003. //
  1004. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSnapshot
  1005. func (c *Redshift) CreateClusterSnapshotRequest(input *CreateClusterSnapshotInput) (req *request.Request, output *CreateClusterSnapshotOutput) {
  1006. op := &request.Operation{
  1007. Name: opCreateClusterSnapshot,
  1008. HTTPMethod: "POST",
  1009. HTTPPath: "/",
  1010. }
  1011. if input == nil {
  1012. input = &CreateClusterSnapshotInput{}
  1013. }
  1014. output = &CreateClusterSnapshotOutput{}
  1015. req = c.newRequest(op, input, output)
  1016. return
  1017. }
  1018. // CreateClusterSnapshot API operation for Amazon Redshift.
  1019. //
  1020. // Creates a manual snapshot of the specified cluster. The cluster must be in
  1021. // the available state.
  1022. //
  1023. // For more information about working with snapshots, go to Amazon Redshift
  1024. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  1025. // in the Amazon Redshift Cluster Management Guide.
  1026. //
  1027. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1028. // with awserr.Error's Code and Message methods to get detailed information about
  1029. // the error.
  1030. //
  1031. // See the AWS API reference guide for Amazon Redshift's
  1032. // API operation CreateClusterSnapshot for usage and error information.
  1033. //
  1034. // Returned Error Codes:
  1035. // * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists"
  1036. // The value specified as a snapshot identifier is already used by an existing
  1037. // snapshot.
  1038. //
  1039. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  1040. // The specified cluster is not in the available state.
  1041. //
  1042. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  1043. // The ClusterIdentifier parameter does not refer to an existing cluster.
  1044. //
  1045. // * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded"
  1046. // The request would result in the user exceeding the allowed number of cluster
  1047. // snapshots.
  1048. //
  1049. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1050. // You have exceeded the number of tags allowed.
  1051. //
  1052. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1053. // The tag is invalid.
  1054. //
  1055. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  1056. // The retention period specified is either in the past or is not a valid value.
  1057. //
  1058. // The value must be either -1 or an integer between 1 and 3,653.
  1059. //
  1060. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSnapshot
  1061. func (c *Redshift) CreateClusterSnapshot(input *CreateClusterSnapshotInput) (*CreateClusterSnapshotOutput, error) {
  1062. req, out := c.CreateClusterSnapshotRequest(input)
  1063. return out, req.Send()
  1064. }
  1065. // CreateClusterSnapshotWithContext is the same as CreateClusterSnapshot with the addition of
  1066. // the ability to pass a context and additional request options.
  1067. //
  1068. // See CreateClusterSnapshot for details on how to use this API operation.
  1069. //
  1070. // The context must be non-nil and will be used for request cancellation. If
  1071. // the context is nil a panic will occur. In the future the SDK may create
  1072. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1073. // for more information on using Contexts.
  1074. func (c *Redshift) CreateClusterSnapshotWithContext(ctx aws.Context, input *CreateClusterSnapshotInput, opts ...request.Option) (*CreateClusterSnapshotOutput, error) {
  1075. req, out := c.CreateClusterSnapshotRequest(input)
  1076. req.SetContext(ctx)
  1077. req.ApplyOptions(opts...)
  1078. return out, req.Send()
  1079. }
  1080. const opCreateClusterSubnetGroup = "CreateClusterSubnetGroup"
  1081. // CreateClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  1082. // client's request for the CreateClusterSubnetGroup operation. The "output" return
  1083. // value will be populated with the request's response once the request completes
  1084. // successfully.
  1085. //
  1086. // Use "Send" method on the returned Request to send the API call to the service.
  1087. // the "output" return value is not valid until after Send returns without error.
  1088. //
  1089. // See CreateClusterSubnetGroup for more information on using the CreateClusterSubnetGroup
  1090. // API call, and error handling.
  1091. //
  1092. // This method is useful when you want to inject custom logic or configuration
  1093. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1094. //
  1095. //
  1096. // // Example sending a request using the CreateClusterSubnetGroupRequest method.
  1097. // req, resp := client.CreateClusterSubnetGroupRequest(params)
  1098. //
  1099. // err := req.Send()
  1100. // if err == nil { // resp is now filled
  1101. // fmt.Println(resp)
  1102. // }
  1103. //
  1104. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSubnetGroup
  1105. func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGroupInput) (req *request.Request, output *CreateClusterSubnetGroupOutput) {
  1106. op := &request.Operation{
  1107. Name: opCreateClusterSubnetGroup,
  1108. HTTPMethod: "POST",
  1109. HTTPPath: "/",
  1110. }
  1111. if input == nil {
  1112. input = &CreateClusterSubnetGroupInput{}
  1113. }
  1114. output = &CreateClusterSubnetGroupOutput{}
  1115. req = c.newRequest(op, input, output)
  1116. return
  1117. }
  1118. // CreateClusterSubnetGroup API operation for Amazon Redshift.
  1119. //
  1120. // Creates a new Amazon Redshift subnet group. You must provide a list of one
  1121. // or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC)
  1122. // when creating Amazon Redshift subnet group.
  1123. //
  1124. // For information about subnet groups, go to Amazon Redshift Cluster Subnet
  1125. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html)
  1126. // in the Amazon Redshift Cluster Management Guide.
  1127. //
  1128. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1129. // with awserr.Error's Code and Message methods to get detailed information about
  1130. // the error.
  1131. //
  1132. // See the AWS API reference guide for Amazon Redshift's
  1133. // API operation CreateClusterSubnetGroup for usage and error information.
  1134. //
  1135. // Returned Error Codes:
  1136. // * ErrCodeClusterSubnetGroupAlreadyExistsFault "ClusterSubnetGroupAlreadyExists"
  1137. // A ClusterSubnetGroupName is already used by an existing cluster subnet group.
  1138. //
  1139. // * ErrCodeClusterSubnetGroupQuotaExceededFault "ClusterSubnetGroupQuotaExceeded"
  1140. // The request would result in user exceeding the allowed number of cluster
  1141. // subnet groups. For information about increasing your quota, go to Limits
  1142. // in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  1143. // in the Amazon Redshift Cluster Management Guide.
  1144. //
  1145. // * ErrCodeClusterSubnetQuotaExceededFault "ClusterSubnetQuotaExceededFault"
  1146. // The request would result in user exceeding the allowed number of subnets
  1147. // in a cluster subnet groups. For information about increasing your quota,
  1148. // go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  1149. // in the Amazon Redshift Cluster Management Guide.
  1150. //
  1151. // * ErrCodeInvalidSubnet "InvalidSubnet"
  1152. // The requested subnet is not valid, or not all of the subnets are in the same
  1153. // VPC.
  1154. //
  1155. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  1156. // Your account is not authorized to perform the requested operation.
  1157. //
  1158. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1159. // You have exceeded the number of tags allowed.
  1160. //
  1161. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1162. // The tag is invalid.
  1163. //
  1164. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  1165. // The request cannot be completed because a dependent service is throttling
  1166. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  1167. //
  1168. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSubnetGroup
  1169. func (c *Redshift) CreateClusterSubnetGroup(input *CreateClusterSubnetGroupInput) (*CreateClusterSubnetGroupOutput, error) {
  1170. req, out := c.CreateClusterSubnetGroupRequest(input)
  1171. return out, req.Send()
  1172. }
  1173. // CreateClusterSubnetGroupWithContext is the same as CreateClusterSubnetGroup with the addition of
  1174. // the ability to pass a context and additional request options.
  1175. //
  1176. // See CreateClusterSubnetGroup for details on how to use this API operation.
  1177. //
  1178. // The context must be non-nil and will be used for request cancellation. If
  1179. // the context is nil a panic will occur. In the future the SDK may create
  1180. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1181. // for more information on using Contexts.
  1182. func (c *Redshift) CreateClusterSubnetGroupWithContext(ctx aws.Context, input *CreateClusterSubnetGroupInput, opts ...request.Option) (*CreateClusterSubnetGroupOutput, error) {
  1183. req, out := c.CreateClusterSubnetGroupRequest(input)
  1184. req.SetContext(ctx)
  1185. req.ApplyOptions(opts...)
  1186. return out, req.Send()
  1187. }
  1188. const opCreateEventSubscription = "CreateEventSubscription"
  1189. // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
  1190. // client's request for the CreateEventSubscription operation. The "output" return
  1191. // value will be populated with the request's response once the request completes
  1192. // successfully.
  1193. //
  1194. // Use "Send" method on the returned Request to send the API call to the service.
  1195. // the "output" return value is not valid until after Send returns without error.
  1196. //
  1197. // See CreateEventSubscription for more information on using the CreateEventSubscription
  1198. // API call, and error handling.
  1199. //
  1200. // This method is useful when you want to inject custom logic or configuration
  1201. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1202. //
  1203. //
  1204. // // Example sending a request using the CreateEventSubscriptionRequest method.
  1205. // req, resp := client.CreateEventSubscriptionRequest(params)
  1206. //
  1207. // err := req.Send()
  1208. // if err == nil { // resp is now filled
  1209. // fmt.Println(resp)
  1210. // }
  1211. //
  1212. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateEventSubscription
  1213. func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
  1214. op := &request.Operation{
  1215. Name: opCreateEventSubscription,
  1216. HTTPMethod: "POST",
  1217. HTTPPath: "/",
  1218. }
  1219. if input == nil {
  1220. input = &CreateEventSubscriptionInput{}
  1221. }
  1222. output = &CreateEventSubscriptionOutput{}
  1223. req = c.newRequest(op, input, output)
  1224. return
  1225. }
  1226. // CreateEventSubscription API operation for Amazon Redshift.
  1227. //
  1228. // Creates an Amazon Redshift event notification subscription. This action requires
  1229. // an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the
  1230. // Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To
  1231. // obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and
  1232. // subscribe to the topic. The ARN is displayed in the SNS console.
  1233. //
  1234. // You can specify the source type, and lists of Amazon Redshift source IDs,
  1235. // event categories, and event severities. Notifications will be sent for all
  1236. // events you want that match those criteria. For example, you can specify source
  1237. // type = cluster, source ID = my-cluster-1 and mycluster2, event categories
  1238. // = Availability, Backup, and severity = ERROR. The subscription will only
  1239. // send notifications for those ERROR events in the Availability and Backup
  1240. // categories for the specified clusters.
  1241. //
  1242. // If you specify both the source type and source IDs, such as source type =
  1243. // cluster and source identifier = my-cluster-1, notifications will be sent
  1244. // for all the cluster events for my-cluster-1. If you specify a source type
  1245. // but do not specify a source identifier, you will receive notice of the events
  1246. // for the objects of that type in your AWS account. If you do not specify either
  1247. // the SourceType nor the SourceIdentifier, you will be notified of events generated
  1248. // from all Amazon Redshift sources belonging to your AWS account. You must
  1249. // specify a source type if you specify a source ID.
  1250. //
  1251. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1252. // with awserr.Error's Code and Message methods to get detailed information about
  1253. // the error.
  1254. //
  1255. // See the AWS API reference guide for Amazon Redshift's
  1256. // API operation CreateEventSubscription for usage and error information.
  1257. //
  1258. // Returned Error Codes:
  1259. // * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  1260. // The request would exceed the allowed number of event subscriptions for this
  1261. // account. For information about increasing your quota, go to Limits in Amazon
  1262. // Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  1263. // in the Amazon Redshift Cluster Management Guide.
  1264. //
  1265. // * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
  1266. // There is already an existing event notification subscription with the specified
  1267. // name.
  1268. //
  1269. // * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  1270. // Amazon SNS has responded that there is a problem with the specified Amazon
  1271. // SNS topic.
  1272. //
  1273. // * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  1274. // You do not have permission to publish to the specified Amazon SNS topic.
  1275. //
  1276. // * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  1277. // An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not
  1278. // exist.
  1279. //
  1280. // * ErrCodeSubscriptionEventIdNotFoundFault "SubscriptionEventIdNotFound"
  1281. // An Amazon Redshift event with the specified event ID does not exist.
  1282. //
  1283. // * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  1284. // The value specified for the event category was not one of the allowed values,
  1285. // or it specified a category that does not apply to the specified source type.
  1286. // The allowed values are Configuration, Management, Monitoring, and Security.
  1287. //
  1288. // * ErrCodeSubscriptionSeverityNotFoundFault "SubscriptionSeverityNotFound"
  1289. // The value specified for the event severity was not one of the allowed values,
  1290. // or it specified a severity that does not apply to the specified source type.
  1291. // The allowed values are ERROR and INFO.
  1292. //
  1293. // * ErrCodeSourceNotFoundFault "SourceNotFound"
  1294. // The specified Amazon Redshift event source could not be found.
  1295. //
  1296. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1297. // You have exceeded the number of tags allowed.
  1298. //
  1299. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1300. // The tag is invalid.
  1301. //
  1302. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateEventSubscription
  1303. func (c *Redshift) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
  1304. req, out := c.CreateEventSubscriptionRequest(input)
  1305. return out, req.Send()
  1306. }
  1307. // CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
  1308. // the ability to pass a context and additional request options.
  1309. //
  1310. // See CreateEventSubscription for details on how to use this API operation.
  1311. //
  1312. // The context must be non-nil and will be used for request cancellation. If
  1313. // the context is nil a panic will occur. In the future the SDK may create
  1314. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1315. // for more information on using Contexts.
  1316. func (c *Redshift) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
  1317. req, out := c.CreateEventSubscriptionRequest(input)
  1318. req.SetContext(ctx)
  1319. req.ApplyOptions(opts...)
  1320. return out, req.Send()
  1321. }
  1322. const opCreateHsmClientCertificate = "CreateHsmClientCertificate"
  1323. // CreateHsmClientCertificateRequest generates a "aws/request.Request" representing the
  1324. // client's request for the CreateHsmClientCertificate operation. The "output" return
  1325. // value will be populated with the request's response once the request completes
  1326. // successfully.
  1327. //
  1328. // Use "Send" method on the returned Request to send the API call to the service.
  1329. // the "output" return value is not valid until after Send returns without error.
  1330. //
  1331. // See CreateHsmClientCertificate for more information on using the CreateHsmClientCertificate
  1332. // API call, and error handling.
  1333. //
  1334. // This method is useful when you want to inject custom logic or configuration
  1335. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1336. //
  1337. //
  1338. // // Example sending a request using the CreateHsmClientCertificateRequest method.
  1339. // req, resp := client.CreateHsmClientCertificateRequest(params)
  1340. //
  1341. // err := req.Send()
  1342. // if err == nil { // resp is now filled
  1343. // fmt.Println(resp)
  1344. // }
  1345. //
  1346. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmClientCertificate
  1347. func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCertificateInput) (req *request.Request, output *CreateHsmClientCertificateOutput) {
  1348. op := &request.Operation{
  1349. Name: opCreateHsmClientCertificate,
  1350. HTTPMethod: "POST",
  1351. HTTPPath: "/",
  1352. }
  1353. if input == nil {
  1354. input = &CreateHsmClientCertificateInput{}
  1355. }
  1356. output = &CreateHsmClientCertificateOutput{}
  1357. req = c.newRequest(op, input, output)
  1358. return
  1359. }
  1360. // CreateHsmClientCertificate API operation for Amazon Redshift.
  1361. //
  1362. // Creates an HSM client certificate that an Amazon Redshift cluster will use
  1363. // to connect to the client's HSM in order to store and retrieve the keys used
  1364. // to encrypt the cluster databases.
  1365. //
  1366. // The command returns a public key, which you must store in the HSM. In addition
  1367. // to creating the HSM certificate, you must create an Amazon Redshift HSM configuration
  1368. // that provides a cluster the information needed to store and use encryption
  1369. // keys in the HSM. For more information, go to Hardware Security Modules (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html)
  1370. // in the Amazon Redshift Cluster Management Guide.
  1371. //
  1372. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1373. // with awserr.Error's Code and Message methods to get detailed information about
  1374. // the error.
  1375. //
  1376. // See the AWS API reference guide for Amazon Redshift's
  1377. // API operation CreateHsmClientCertificate for usage and error information.
  1378. //
  1379. // Returned Error Codes:
  1380. // * ErrCodeHsmClientCertificateAlreadyExistsFault "HsmClientCertificateAlreadyExistsFault"
  1381. // There is already an existing Amazon Redshift HSM client certificate with
  1382. // the specified identifier.
  1383. //
  1384. // * ErrCodeHsmClientCertificateQuotaExceededFault "HsmClientCertificateQuotaExceededFault"
  1385. // The quota for HSM client certificates has been reached. For information about
  1386. // increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  1387. // in the Amazon Redshift Cluster Management Guide.
  1388. //
  1389. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1390. // You have exceeded the number of tags allowed.
  1391. //
  1392. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1393. // The tag is invalid.
  1394. //
  1395. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmClientCertificate
  1396. func (c *Redshift) CreateHsmClientCertificate(input *CreateHsmClientCertificateInput) (*CreateHsmClientCertificateOutput, error) {
  1397. req, out := c.CreateHsmClientCertificateRequest(input)
  1398. return out, req.Send()
  1399. }
  1400. // CreateHsmClientCertificateWithContext is the same as CreateHsmClientCertificate with the addition of
  1401. // the ability to pass a context and additional request options.
  1402. //
  1403. // See CreateHsmClientCertificate for details on how to use this API operation.
  1404. //
  1405. // The context must be non-nil and will be used for request cancellation. If
  1406. // the context is nil a panic will occur. In the future the SDK may create
  1407. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1408. // for more information on using Contexts.
  1409. func (c *Redshift) CreateHsmClientCertificateWithContext(ctx aws.Context, input *CreateHsmClientCertificateInput, opts ...request.Option) (*CreateHsmClientCertificateOutput, error) {
  1410. req, out := c.CreateHsmClientCertificateRequest(input)
  1411. req.SetContext(ctx)
  1412. req.ApplyOptions(opts...)
  1413. return out, req.Send()
  1414. }
  1415. const opCreateHsmConfiguration = "CreateHsmConfiguration"
  1416. // CreateHsmConfigurationRequest generates a "aws/request.Request" representing the
  1417. // client's request for the CreateHsmConfiguration operation. The "output" return
  1418. // value will be populated with the request's response once the request completes
  1419. // successfully.
  1420. //
  1421. // Use "Send" method on the returned Request to send the API call to the service.
  1422. // the "output" return value is not valid until after Send returns without error.
  1423. //
  1424. // See CreateHsmConfiguration for more information on using the CreateHsmConfiguration
  1425. // API call, and error handling.
  1426. //
  1427. // This method is useful when you want to inject custom logic or configuration
  1428. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1429. //
  1430. //
  1431. // // Example sending a request using the CreateHsmConfigurationRequest method.
  1432. // req, resp := client.CreateHsmConfigurationRequest(params)
  1433. //
  1434. // err := req.Send()
  1435. // if err == nil { // resp is now filled
  1436. // fmt.Println(resp)
  1437. // }
  1438. //
  1439. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmConfiguration
  1440. func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationInput) (req *request.Request, output *CreateHsmConfigurationOutput) {
  1441. op := &request.Operation{
  1442. Name: opCreateHsmConfiguration,
  1443. HTTPMethod: "POST",
  1444. HTTPPath: "/",
  1445. }
  1446. if input == nil {
  1447. input = &CreateHsmConfigurationInput{}
  1448. }
  1449. output = &CreateHsmConfigurationOutput{}
  1450. req = c.newRequest(op, input, output)
  1451. return
  1452. }
  1453. // CreateHsmConfiguration API operation for Amazon Redshift.
  1454. //
  1455. // Creates an HSM configuration that contains the information required by an
  1456. // Amazon Redshift cluster to store and use database encryption keys in a Hardware
  1457. // Security Module (HSM). After creating the HSM configuration, you can specify
  1458. // it as a parameter when creating a cluster. The cluster will then store its
  1459. // encryption keys in the HSM.
  1460. //
  1461. // In addition to creating an HSM configuration, you must also create an HSM
  1462. // client certificate. For more information, go to Hardware Security Modules
  1463. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) in
  1464. // the Amazon Redshift Cluster Management Guide.
  1465. //
  1466. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1467. // with awserr.Error's Code and Message methods to get detailed information about
  1468. // the error.
  1469. //
  1470. // See the AWS API reference guide for Amazon Redshift's
  1471. // API operation CreateHsmConfiguration for usage and error information.
  1472. //
  1473. // Returned Error Codes:
  1474. // * ErrCodeHsmConfigurationAlreadyExistsFault "HsmConfigurationAlreadyExistsFault"
  1475. // There is already an existing Amazon Redshift HSM configuration with the specified
  1476. // identifier.
  1477. //
  1478. // * ErrCodeHsmConfigurationQuotaExceededFault "HsmConfigurationQuotaExceededFault"
  1479. // The quota for HSM configurations has been reached. For information about
  1480. // increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  1481. // in the Amazon Redshift Cluster Management Guide.
  1482. //
  1483. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1484. // You have exceeded the number of tags allowed.
  1485. //
  1486. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1487. // The tag is invalid.
  1488. //
  1489. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmConfiguration
  1490. func (c *Redshift) CreateHsmConfiguration(input *CreateHsmConfigurationInput) (*CreateHsmConfigurationOutput, error) {
  1491. req, out := c.CreateHsmConfigurationRequest(input)
  1492. return out, req.Send()
  1493. }
  1494. // CreateHsmConfigurationWithContext is the same as CreateHsmConfiguration with the addition of
  1495. // the ability to pass a context and additional request options.
  1496. //
  1497. // See CreateHsmConfiguration for details on how to use this API operation.
  1498. //
  1499. // The context must be non-nil and will be used for request cancellation. If
  1500. // the context is nil a panic will occur. In the future the SDK may create
  1501. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1502. // for more information on using Contexts.
  1503. func (c *Redshift) CreateHsmConfigurationWithContext(ctx aws.Context, input *CreateHsmConfigurationInput, opts ...request.Option) (*CreateHsmConfigurationOutput, error) {
  1504. req, out := c.CreateHsmConfigurationRequest(input)
  1505. req.SetContext(ctx)
  1506. req.ApplyOptions(opts...)
  1507. return out, req.Send()
  1508. }
  1509. const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant"
  1510. // CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the
  1511. // client's request for the CreateSnapshotCopyGrant operation. The "output" return
  1512. // value will be populated with the request's response once the request completes
  1513. // successfully.
  1514. //
  1515. // Use "Send" method on the returned Request to send the API call to the service.
  1516. // the "output" return value is not valid until after Send returns without error.
  1517. //
  1518. // See CreateSnapshotCopyGrant for more information on using the CreateSnapshotCopyGrant
  1519. // API call, and error handling.
  1520. //
  1521. // This method is useful when you want to inject custom logic or configuration
  1522. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1523. //
  1524. //
  1525. // // Example sending a request using the CreateSnapshotCopyGrantRequest method.
  1526. // req, resp := client.CreateSnapshotCopyGrantRequest(params)
  1527. //
  1528. // err := req.Send()
  1529. // if err == nil { // resp is now filled
  1530. // fmt.Println(resp)
  1531. // }
  1532. //
  1533. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotCopyGrant
  1534. func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrantInput) (req *request.Request, output *CreateSnapshotCopyGrantOutput) {
  1535. op := &request.Operation{
  1536. Name: opCreateSnapshotCopyGrant,
  1537. HTTPMethod: "POST",
  1538. HTTPPath: "/",
  1539. }
  1540. if input == nil {
  1541. input = &CreateSnapshotCopyGrantInput{}
  1542. }
  1543. output = &CreateSnapshotCopyGrantOutput{}
  1544. req = c.newRequest(op, input, output)
  1545. return
  1546. }
  1547. // CreateSnapshotCopyGrant API operation for Amazon Redshift.
  1548. //
  1549. // Creates a snapshot copy grant that permits Amazon Redshift to use a customer
  1550. // master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied
  1551. // snapshots in a destination region.
  1552. //
  1553. // For more information about managing snapshot copy grants, go to Amazon Redshift
  1554. // Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  1555. // in the Amazon Redshift Cluster Management Guide.
  1556. //
  1557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1558. // with awserr.Error's Code and Message methods to get detailed information about
  1559. // the error.
  1560. //
  1561. // See the AWS API reference guide for Amazon Redshift's
  1562. // API operation CreateSnapshotCopyGrant for usage and error information.
  1563. //
  1564. // Returned Error Codes:
  1565. // * ErrCodeSnapshotCopyGrantAlreadyExistsFault "SnapshotCopyGrantAlreadyExistsFault"
  1566. // The snapshot copy grant can't be created because a grant with the same name
  1567. // already exists.
  1568. //
  1569. // * ErrCodeSnapshotCopyGrantQuotaExceededFault "SnapshotCopyGrantQuotaExceededFault"
  1570. // The AWS account has exceeded the maximum number of snapshot copy grants in
  1571. // this region.
  1572. //
  1573. // * ErrCodeLimitExceededFault "LimitExceededFault"
  1574. // The encryption key has exceeded its grant limit in AWS KMS.
  1575. //
  1576. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1577. // You have exceeded the number of tags allowed.
  1578. //
  1579. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1580. // The tag is invalid.
  1581. //
  1582. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  1583. // The request cannot be completed because a dependent service is throttling
  1584. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  1585. //
  1586. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotCopyGrant
  1587. func (c *Redshift) CreateSnapshotCopyGrant(input *CreateSnapshotCopyGrantInput) (*CreateSnapshotCopyGrantOutput, error) {
  1588. req, out := c.CreateSnapshotCopyGrantRequest(input)
  1589. return out, req.Send()
  1590. }
  1591. // CreateSnapshotCopyGrantWithContext is the same as CreateSnapshotCopyGrant with the addition of
  1592. // the ability to pass a context and additional request options.
  1593. //
  1594. // See CreateSnapshotCopyGrant for details on how to use this API operation.
  1595. //
  1596. // The context must be non-nil and will be used for request cancellation. If
  1597. // the context is nil a panic will occur. In the future the SDK may create
  1598. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1599. // for more information on using Contexts.
  1600. func (c *Redshift) CreateSnapshotCopyGrantWithContext(ctx aws.Context, input *CreateSnapshotCopyGrantInput, opts ...request.Option) (*CreateSnapshotCopyGrantOutput, error) {
  1601. req, out := c.CreateSnapshotCopyGrantRequest(input)
  1602. req.SetContext(ctx)
  1603. req.ApplyOptions(opts...)
  1604. return out, req.Send()
  1605. }
  1606. const opCreateSnapshotSchedule = "CreateSnapshotSchedule"
  1607. // CreateSnapshotScheduleRequest generates a "aws/request.Request" representing the
  1608. // client's request for the CreateSnapshotSchedule operation. The "output" return
  1609. // value will be populated with the request's response once the request completes
  1610. // successfully.
  1611. //
  1612. // Use "Send" method on the returned Request to send the API call to the service.
  1613. // the "output" return value is not valid until after Send returns without error.
  1614. //
  1615. // See CreateSnapshotSchedule for more information on using the CreateSnapshotSchedule
  1616. // API call, and error handling.
  1617. //
  1618. // This method is useful when you want to inject custom logic or configuration
  1619. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1620. //
  1621. //
  1622. // // Example sending a request using the CreateSnapshotScheduleRequest method.
  1623. // req, resp := client.CreateSnapshotScheduleRequest(params)
  1624. //
  1625. // err := req.Send()
  1626. // if err == nil { // resp is now filled
  1627. // fmt.Println(resp)
  1628. // }
  1629. //
  1630. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule
  1631. func (c *Redshift) CreateSnapshotScheduleRequest(input *CreateSnapshotScheduleInput) (req *request.Request, output *CreateSnapshotScheduleOutput) {
  1632. op := &request.Operation{
  1633. Name: opCreateSnapshotSchedule,
  1634. HTTPMethod: "POST",
  1635. HTTPPath: "/",
  1636. }
  1637. if input == nil {
  1638. input = &CreateSnapshotScheduleInput{}
  1639. }
  1640. output = &CreateSnapshotScheduleOutput{}
  1641. req = c.newRequest(op, input, output)
  1642. return
  1643. }
  1644. // CreateSnapshotSchedule API operation for Amazon Redshift.
  1645. //
  1646. // Creates a new snapshot schedule.
  1647. //
  1648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1649. // with awserr.Error's Code and Message methods to get detailed information about
  1650. // the error.
  1651. //
  1652. // See the AWS API reference guide for Amazon Redshift's
  1653. // API operation CreateSnapshotSchedule for usage and error information.
  1654. //
  1655. // Returned Error Codes:
  1656. // * ErrCodeSnapshotScheduleAlreadyExistsFault "SnapshotScheduleAlreadyExists"
  1657. // The specified snapshot schedule already exists.
  1658. //
  1659. // * ErrCodeInvalidScheduleFault "InvalidSchedule"
  1660. // The schedule you submitted isn't valid.
  1661. //
  1662. // * ErrCodeSnapshotScheduleQuotaExceededFault "SnapshotScheduleQuotaExceeded"
  1663. // You have exceeded the quota of snapshot schedules.
  1664. //
  1665. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1666. // You have exceeded the number of tags allowed.
  1667. //
  1668. // * ErrCodeScheduleDefinitionTypeUnsupportedFault "ScheduleDefinitionTypeUnsupported"
  1669. // The definition you submitted is not supported.
  1670. //
  1671. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule
  1672. func (c *Redshift) CreateSnapshotSchedule(input *CreateSnapshotScheduleInput) (*CreateSnapshotScheduleOutput, error) {
  1673. req, out := c.CreateSnapshotScheduleRequest(input)
  1674. return out, req.Send()
  1675. }
  1676. // CreateSnapshotScheduleWithContext is the same as CreateSnapshotSchedule with the addition of
  1677. // the ability to pass a context and additional request options.
  1678. //
  1679. // See CreateSnapshotSchedule for details on how to use this API operation.
  1680. //
  1681. // The context must be non-nil and will be used for request cancellation. If
  1682. // the context is nil a panic will occur. In the future the SDK may create
  1683. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1684. // for more information on using Contexts.
  1685. func (c *Redshift) CreateSnapshotScheduleWithContext(ctx aws.Context, input *CreateSnapshotScheduleInput, opts ...request.Option) (*CreateSnapshotScheduleOutput, error) {
  1686. req, out := c.CreateSnapshotScheduleRequest(input)
  1687. req.SetContext(ctx)
  1688. req.ApplyOptions(opts...)
  1689. return out, req.Send()
  1690. }
  1691. const opCreateTags = "CreateTags"
  1692. // CreateTagsRequest generates a "aws/request.Request" representing the
  1693. // client's request for the CreateTags operation. The "output" return
  1694. // value will be populated with the request's response once the request completes
  1695. // successfully.
  1696. //
  1697. // Use "Send" method on the returned Request to send the API call to the service.
  1698. // the "output" return value is not valid until after Send returns without error.
  1699. //
  1700. // See CreateTags for more information on using the CreateTags
  1701. // API call, and error handling.
  1702. //
  1703. // This method is useful when you want to inject custom logic or configuration
  1704. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1705. //
  1706. //
  1707. // // Example sending a request using the CreateTagsRequest method.
  1708. // req, resp := client.CreateTagsRequest(params)
  1709. //
  1710. // err := req.Send()
  1711. // if err == nil { // resp is now filled
  1712. // fmt.Println(resp)
  1713. // }
  1714. //
  1715. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateTags
  1716. func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  1717. op := &request.Operation{
  1718. Name: opCreateTags,
  1719. HTTPMethod: "POST",
  1720. HTTPPath: "/",
  1721. }
  1722. if input == nil {
  1723. input = &CreateTagsInput{}
  1724. }
  1725. output = &CreateTagsOutput{}
  1726. req = c.newRequest(op, input, output)
  1727. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1728. return
  1729. }
  1730. // CreateTags API operation for Amazon Redshift.
  1731. //
  1732. // Adds one or more tags to a specified resource.
  1733. //
  1734. // A resource can have up to 50 tags. If you try to create more than 50 tags
  1735. // for a resource, you will receive an error and the attempt will fail.
  1736. //
  1737. // If you specify a key that already exists for the resource, the value for
  1738. // that key will be updated with the new value.
  1739. //
  1740. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1741. // with awserr.Error's Code and Message methods to get detailed information about
  1742. // the error.
  1743. //
  1744. // See the AWS API reference guide for Amazon Redshift's
  1745. // API operation CreateTags for usage and error information.
  1746. //
  1747. // Returned Error Codes:
  1748. // * ErrCodeTagLimitExceededFault "TagLimitExceededFault"
  1749. // You have exceeded the number of tags allowed.
  1750. //
  1751. // * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  1752. // The resource could not be found.
  1753. //
  1754. // * ErrCodeInvalidTagFault "InvalidTagFault"
  1755. // The tag is invalid.
  1756. //
  1757. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateTags
  1758. func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  1759. req, out := c.CreateTagsRequest(input)
  1760. return out, req.Send()
  1761. }
  1762. // CreateTagsWithContext is the same as CreateTags with the addition of
  1763. // the ability to pass a context and additional request options.
  1764. //
  1765. // See CreateTags for details on how to use this API operation.
  1766. //
  1767. // The context must be non-nil and will be used for request cancellation. If
  1768. // the context is nil a panic will occur. In the future the SDK may create
  1769. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1770. // for more information on using Contexts.
  1771. func (c *Redshift) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  1772. req, out := c.CreateTagsRequest(input)
  1773. req.SetContext(ctx)
  1774. req.ApplyOptions(opts...)
  1775. return out, req.Send()
  1776. }
  1777. const opDeleteCluster = "DeleteCluster"
  1778. // DeleteClusterRequest generates a "aws/request.Request" representing the
  1779. // client's request for the DeleteCluster operation. The "output" return
  1780. // value will be populated with the request's response once the request completes
  1781. // successfully.
  1782. //
  1783. // Use "Send" method on the returned Request to send the API call to the service.
  1784. // the "output" return value is not valid until after Send returns without error.
  1785. //
  1786. // See DeleteCluster for more information on using the DeleteCluster
  1787. // API call, and error handling.
  1788. //
  1789. // This method is useful when you want to inject custom logic or configuration
  1790. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1791. //
  1792. //
  1793. // // Example sending a request using the DeleteClusterRequest method.
  1794. // req, resp := client.DeleteClusterRequest(params)
  1795. //
  1796. // err := req.Send()
  1797. // if err == nil { // resp is now filled
  1798. // fmt.Println(resp)
  1799. // }
  1800. //
  1801. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteCluster
  1802. func (c *Redshift) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
  1803. op := &request.Operation{
  1804. Name: opDeleteCluster,
  1805. HTTPMethod: "POST",
  1806. HTTPPath: "/",
  1807. }
  1808. if input == nil {
  1809. input = &DeleteClusterInput{}
  1810. }
  1811. output = &DeleteClusterOutput{}
  1812. req = c.newRequest(op, input, output)
  1813. return
  1814. }
  1815. // DeleteCluster API operation for Amazon Redshift.
  1816. //
  1817. // Deletes a previously provisioned cluster. A successful response from the
  1818. // web service indicates that the request was received correctly. Use DescribeClusters
  1819. // to monitor the status of the deletion. The delete operation cannot be canceled
  1820. // or reverted once submitted. For more information about managing clusters,
  1821. // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  1822. // in the Amazon Redshift Cluster Management Guide.
  1823. //
  1824. // If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot
  1825. // to false and specify a name for FinalClusterSnapshotIdentifier. You can later
  1826. // restore this snapshot to resume using the cluster. If a final cluster snapshot
  1827. // is requested, the status of the cluster will be "final-snapshot" while the
  1828. // snapshot is being taken, then it's "deleting" once Amazon Redshift begins
  1829. // deleting the cluster.
  1830. //
  1831. // For more information about managing clusters, go to Amazon Redshift Clusters
  1832. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  1833. // in the Amazon Redshift Cluster Management Guide.
  1834. //
  1835. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1836. // with awserr.Error's Code and Message methods to get detailed information about
  1837. // the error.
  1838. //
  1839. // See the AWS API reference guide for Amazon Redshift's
  1840. // API operation DeleteCluster for usage and error information.
  1841. //
  1842. // Returned Error Codes:
  1843. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  1844. // The ClusterIdentifier parameter does not refer to an existing cluster.
  1845. //
  1846. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  1847. // The specified cluster is not in the available state.
  1848. //
  1849. // * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists"
  1850. // The value specified as a snapshot identifier is already used by an existing
  1851. // snapshot.
  1852. //
  1853. // * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded"
  1854. // The request would result in the user exceeding the allowed number of cluster
  1855. // snapshots.
  1856. //
  1857. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  1858. // The retention period specified is either in the past or is not a valid value.
  1859. //
  1860. // The value must be either -1 or an integer between 1 and 3,653.
  1861. //
  1862. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteCluster
  1863. func (c *Redshift) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
  1864. req, out := c.DeleteClusterRequest(input)
  1865. return out, req.Send()
  1866. }
  1867. // DeleteClusterWithContext is the same as DeleteCluster with the addition of
  1868. // the ability to pass a context and additional request options.
  1869. //
  1870. // See DeleteCluster for details on how to use this API operation.
  1871. //
  1872. // The context must be non-nil and will be used for request cancellation. If
  1873. // the context is nil a panic will occur. In the future the SDK may create
  1874. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1875. // for more information on using Contexts.
  1876. func (c *Redshift) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
  1877. req, out := c.DeleteClusterRequest(input)
  1878. req.SetContext(ctx)
  1879. req.ApplyOptions(opts...)
  1880. return out, req.Send()
  1881. }
  1882. const opDeleteClusterParameterGroup = "DeleteClusterParameterGroup"
  1883. // DeleteClusterParameterGroupRequest generates a "aws/request.Request" representing the
  1884. // client's request for the DeleteClusterParameterGroup operation. The "output" return
  1885. // value will be populated with the request's response once the request completes
  1886. // successfully.
  1887. //
  1888. // Use "Send" method on the returned Request to send the API call to the service.
  1889. // the "output" return value is not valid until after Send returns without error.
  1890. //
  1891. // See DeleteClusterParameterGroup for more information on using the DeleteClusterParameterGroup
  1892. // API call, and error handling.
  1893. //
  1894. // This method is useful when you want to inject custom logic or configuration
  1895. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1896. //
  1897. //
  1898. // // Example sending a request using the DeleteClusterParameterGroupRequest method.
  1899. // req, resp := client.DeleteClusterParameterGroupRequest(params)
  1900. //
  1901. // err := req.Send()
  1902. // if err == nil { // resp is now filled
  1903. // fmt.Println(resp)
  1904. // }
  1905. //
  1906. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterParameterGroup
  1907. func (c *Redshift) DeleteClusterParameterGroupRequest(input *DeleteClusterParameterGroupInput) (req *request.Request, output *DeleteClusterParameterGroupOutput) {
  1908. op := &request.Operation{
  1909. Name: opDeleteClusterParameterGroup,
  1910. HTTPMethod: "POST",
  1911. HTTPPath: "/",
  1912. }
  1913. if input == nil {
  1914. input = &DeleteClusterParameterGroupInput{}
  1915. }
  1916. output = &DeleteClusterParameterGroupOutput{}
  1917. req = c.newRequest(op, input, output)
  1918. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1919. return
  1920. }
  1921. // DeleteClusterParameterGroup API operation for Amazon Redshift.
  1922. //
  1923. // Deletes a specified Amazon Redshift parameter group.
  1924. //
  1925. // You cannot delete a parameter group if it is associated with a cluster.
  1926. //
  1927. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1928. // with awserr.Error's Code and Message methods to get detailed information about
  1929. // the error.
  1930. //
  1931. // See the AWS API reference guide for Amazon Redshift's
  1932. // API operation DeleteClusterParameterGroup for usage and error information.
  1933. //
  1934. // Returned Error Codes:
  1935. // * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState"
  1936. // The cluster parameter group action can not be completed because another task
  1937. // is in progress that involves the parameter group. Wait a few moments and
  1938. // try the operation again.
  1939. //
  1940. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  1941. // The parameter group name does not refer to an existing parameter group.
  1942. //
  1943. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterParameterGroup
  1944. func (c *Redshift) DeleteClusterParameterGroup(input *DeleteClusterParameterGroupInput) (*DeleteClusterParameterGroupOutput, error) {
  1945. req, out := c.DeleteClusterParameterGroupRequest(input)
  1946. return out, req.Send()
  1947. }
  1948. // DeleteClusterParameterGroupWithContext is the same as DeleteClusterParameterGroup with the addition of
  1949. // the ability to pass a context and additional request options.
  1950. //
  1951. // See DeleteClusterParameterGroup for details on how to use this API operation.
  1952. //
  1953. // The context must be non-nil and will be used for request cancellation. If
  1954. // the context is nil a panic will occur. In the future the SDK may create
  1955. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1956. // for more information on using Contexts.
  1957. func (c *Redshift) DeleteClusterParameterGroupWithContext(ctx aws.Context, input *DeleteClusterParameterGroupInput, opts ...request.Option) (*DeleteClusterParameterGroupOutput, error) {
  1958. req, out := c.DeleteClusterParameterGroupRequest(input)
  1959. req.SetContext(ctx)
  1960. req.ApplyOptions(opts...)
  1961. return out, req.Send()
  1962. }
  1963. const opDeleteClusterSecurityGroup = "DeleteClusterSecurityGroup"
  1964. // DeleteClusterSecurityGroupRequest generates a "aws/request.Request" representing the
  1965. // client's request for the DeleteClusterSecurityGroup operation. The "output" return
  1966. // value will be populated with the request's response once the request completes
  1967. // successfully.
  1968. //
  1969. // Use "Send" method on the returned Request to send the API call to the service.
  1970. // the "output" return value is not valid until after Send returns without error.
  1971. //
  1972. // See DeleteClusterSecurityGroup for more information on using the DeleteClusterSecurityGroup
  1973. // API call, and error handling.
  1974. //
  1975. // This method is useful when you want to inject custom logic or configuration
  1976. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1977. //
  1978. //
  1979. // // Example sending a request using the DeleteClusterSecurityGroupRequest method.
  1980. // req, resp := client.DeleteClusterSecurityGroupRequest(params)
  1981. //
  1982. // err := req.Send()
  1983. // if err == nil { // resp is now filled
  1984. // fmt.Println(resp)
  1985. // }
  1986. //
  1987. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSecurityGroup
  1988. func (c *Redshift) DeleteClusterSecurityGroupRequest(input *DeleteClusterSecurityGroupInput) (req *request.Request, output *DeleteClusterSecurityGroupOutput) {
  1989. op := &request.Operation{
  1990. Name: opDeleteClusterSecurityGroup,
  1991. HTTPMethod: "POST",
  1992. HTTPPath: "/",
  1993. }
  1994. if input == nil {
  1995. input = &DeleteClusterSecurityGroupInput{}
  1996. }
  1997. output = &DeleteClusterSecurityGroupOutput{}
  1998. req = c.newRequest(op, input, output)
  1999. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2000. return
  2001. }
  2002. // DeleteClusterSecurityGroup API operation for Amazon Redshift.
  2003. //
  2004. // Deletes an Amazon Redshift security group.
  2005. //
  2006. // You cannot delete a security group that is associated with any clusters.
  2007. // You cannot delete the default security group.
  2008. //
  2009. // For information about managing security groups, go to Amazon Redshift Cluster
  2010. // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  2011. // in the Amazon Redshift Cluster Management Guide.
  2012. //
  2013. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2014. // with awserr.Error's Code and Message methods to get detailed information about
  2015. // the error.
  2016. //
  2017. // See the AWS API reference guide for Amazon Redshift's
  2018. // API operation DeleteClusterSecurityGroup for usage and error information.
  2019. //
  2020. // Returned Error Codes:
  2021. // * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState"
  2022. // The state of the cluster security group is not available.
  2023. //
  2024. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  2025. // The cluster security group name does not refer to an existing cluster security
  2026. // group.
  2027. //
  2028. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSecurityGroup
  2029. func (c *Redshift) DeleteClusterSecurityGroup(input *DeleteClusterSecurityGroupInput) (*DeleteClusterSecurityGroupOutput, error) {
  2030. req, out := c.DeleteClusterSecurityGroupRequest(input)
  2031. return out, req.Send()
  2032. }
  2033. // DeleteClusterSecurityGroupWithContext is the same as DeleteClusterSecurityGroup with the addition of
  2034. // the ability to pass a context and additional request options.
  2035. //
  2036. // See DeleteClusterSecurityGroup for details on how to use this API operation.
  2037. //
  2038. // The context must be non-nil and will be used for request cancellation. If
  2039. // the context is nil a panic will occur. In the future the SDK may create
  2040. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2041. // for more information on using Contexts.
  2042. func (c *Redshift) DeleteClusterSecurityGroupWithContext(ctx aws.Context, input *DeleteClusterSecurityGroupInput, opts ...request.Option) (*DeleteClusterSecurityGroupOutput, error) {
  2043. req, out := c.DeleteClusterSecurityGroupRequest(input)
  2044. req.SetContext(ctx)
  2045. req.ApplyOptions(opts...)
  2046. return out, req.Send()
  2047. }
  2048. const opDeleteClusterSnapshot = "DeleteClusterSnapshot"
  2049. // DeleteClusterSnapshotRequest generates a "aws/request.Request" representing the
  2050. // client's request for the DeleteClusterSnapshot operation. The "output" return
  2051. // value will be populated with the request's response once the request completes
  2052. // successfully.
  2053. //
  2054. // Use "Send" method on the returned Request to send the API call to the service.
  2055. // the "output" return value is not valid until after Send returns without error.
  2056. //
  2057. // See DeleteClusterSnapshot for more information on using the DeleteClusterSnapshot
  2058. // API call, and error handling.
  2059. //
  2060. // This method is useful when you want to inject custom logic or configuration
  2061. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2062. //
  2063. //
  2064. // // Example sending a request using the DeleteClusterSnapshotRequest method.
  2065. // req, resp := client.DeleteClusterSnapshotRequest(params)
  2066. //
  2067. // err := req.Send()
  2068. // if err == nil { // resp is now filled
  2069. // fmt.Println(resp)
  2070. // }
  2071. //
  2072. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSnapshot
  2073. func (c *Redshift) DeleteClusterSnapshotRequest(input *DeleteClusterSnapshotInput) (req *request.Request, output *DeleteClusterSnapshotOutput) {
  2074. op := &request.Operation{
  2075. Name: opDeleteClusterSnapshot,
  2076. HTTPMethod: "POST",
  2077. HTTPPath: "/",
  2078. }
  2079. if input == nil {
  2080. input = &DeleteClusterSnapshotInput{}
  2081. }
  2082. output = &DeleteClusterSnapshotOutput{}
  2083. req = c.newRequest(op, input, output)
  2084. return
  2085. }
  2086. // DeleteClusterSnapshot API operation for Amazon Redshift.
  2087. //
  2088. // Deletes the specified manual snapshot. The snapshot must be in the available
  2089. // state, with no other users authorized to access the snapshot.
  2090. //
  2091. // Unlike automated snapshots, manual snapshots are retained even after you
  2092. // delete your cluster. Amazon Redshift does not delete your manual snapshots.
  2093. // You must delete manual snapshot explicitly to avoid getting charged. If other
  2094. // accounts are authorized to access the snapshot, you must revoke all of the
  2095. // authorizations before you can delete the snapshot.
  2096. //
  2097. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2098. // with awserr.Error's Code and Message methods to get detailed information about
  2099. // the error.
  2100. //
  2101. // See the AWS API reference guide for Amazon Redshift's
  2102. // API operation DeleteClusterSnapshot for usage and error information.
  2103. //
  2104. // Returned Error Codes:
  2105. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  2106. // The specified cluster snapshot is not in the available state, or other accounts
  2107. // are authorized to access the snapshot.
  2108. //
  2109. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  2110. // The snapshot identifier does not refer to an existing cluster snapshot.
  2111. //
  2112. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSnapshot
  2113. func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*DeleteClusterSnapshotOutput, error) {
  2114. req, out := c.DeleteClusterSnapshotRequest(input)
  2115. return out, req.Send()
  2116. }
  2117. // DeleteClusterSnapshotWithContext is the same as DeleteClusterSnapshot with the addition of
  2118. // the ability to pass a context and additional request options.
  2119. //
  2120. // See DeleteClusterSnapshot for details on how to use this API operation.
  2121. //
  2122. // The context must be non-nil and will be used for request cancellation. If
  2123. // the context is nil a panic will occur. In the future the SDK may create
  2124. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2125. // for more information on using Contexts.
  2126. func (c *Redshift) DeleteClusterSnapshotWithContext(ctx aws.Context, input *DeleteClusterSnapshotInput, opts ...request.Option) (*DeleteClusterSnapshotOutput, error) {
  2127. req, out := c.DeleteClusterSnapshotRequest(input)
  2128. req.SetContext(ctx)
  2129. req.ApplyOptions(opts...)
  2130. return out, req.Send()
  2131. }
  2132. const opDeleteClusterSubnetGroup = "DeleteClusterSubnetGroup"
  2133. // DeleteClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  2134. // client's request for the DeleteClusterSubnetGroup operation. The "output" return
  2135. // value will be populated with the request's response once the request completes
  2136. // successfully.
  2137. //
  2138. // Use "Send" method on the returned Request to send the API call to the service.
  2139. // the "output" return value is not valid until after Send returns without error.
  2140. //
  2141. // See DeleteClusterSubnetGroup for more information on using the DeleteClusterSubnetGroup
  2142. // API call, and error handling.
  2143. //
  2144. // This method is useful when you want to inject custom logic or configuration
  2145. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2146. //
  2147. //
  2148. // // Example sending a request using the DeleteClusterSubnetGroupRequest method.
  2149. // req, resp := client.DeleteClusterSubnetGroupRequest(params)
  2150. //
  2151. // err := req.Send()
  2152. // if err == nil { // resp is now filled
  2153. // fmt.Println(resp)
  2154. // }
  2155. //
  2156. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSubnetGroup
  2157. func (c *Redshift) DeleteClusterSubnetGroupRequest(input *DeleteClusterSubnetGroupInput) (req *request.Request, output *DeleteClusterSubnetGroupOutput) {
  2158. op := &request.Operation{
  2159. Name: opDeleteClusterSubnetGroup,
  2160. HTTPMethod: "POST",
  2161. HTTPPath: "/",
  2162. }
  2163. if input == nil {
  2164. input = &DeleteClusterSubnetGroupInput{}
  2165. }
  2166. output = &DeleteClusterSubnetGroupOutput{}
  2167. req = c.newRequest(op, input, output)
  2168. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2169. return
  2170. }
  2171. // DeleteClusterSubnetGroup API operation for Amazon Redshift.
  2172. //
  2173. // Deletes the specified cluster subnet group.
  2174. //
  2175. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2176. // with awserr.Error's Code and Message methods to get detailed information about
  2177. // the error.
  2178. //
  2179. // See the AWS API reference guide for Amazon Redshift's
  2180. // API operation DeleteClusterSubnetGroup for usage and error information.
  2181. //
  2182. // Returned Error Codes:
  2183. // * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault"
  2184. // The cluster subnet group cannot be deleted because it is in use.
  2185. //
  2186. // * ErrCodeInvalidClusterSubnetStateFault "InvalidClusterSubnetStateFault"
  2187. // The state of the subnet is invalid.
  2188. //
  2189. // * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  2190. // The cluster subnet group name does not refer to an existing cluster subnet
  2191. // group.
  2192. //
  2193. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSubnetGroup
  2194. func (c *Redshift) DeleteClusterSubnetGroup(input *DeleteClusterSubnetGroupInput) (*DeleteClusterSubnetGroupOutput, error) {
  2195. req, out := c.DeleteClusterSubnetGroupRequest(input)
  2196. return out, req.Send()
  2197. }
  2198. // DeleteClusterSubnetGroupWithContext is the same as DeleteClusterSubnetGroup with the addition of
  2199. // the ability to pass a context and additional request options.
  2200. //
  2201. // See DeleteClusterSubnetGroup for details on how to use this API operation.
  2202. //
  2203. // The context must be non-nil and will be used for request cancellation. If
  2204. // the context is nil a panic will occur. In the future the SDK may create
  2205. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2206. // for more information on using Contexts.
  2207. func (c *Redshift) DeleteClusterSubnetGroupWithContext(ctx aws.Context, input *DeleteClusterSubnetGroupInput, opts ...request.Option) (*DeleteClusterSubnetGroupOutput, error) {
  2208. req, out := c.DeleteClusterSubnetGroupRequest(input)
  2209. req.SetContext(ctx)
  2210. req.ApplyOptions(opts...)
  2211. return out, req.Send()
  2212. }
  2213. const opDeleteEventSubscription = "DeleteEventSubscription"
  2214. // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
  2215. // client's request for the DeleteEventSubscription operation. The "output" return
  2216. // value will be populated with the request's response once the request completes
  2217. // successfully.
  2218. //
  2219. // Use "Send" method on the returned Request to send the API call to the service.
  2220. // the "output" return value is not valid until after Send returns without error.
  2221. //
  2222. // See DeleteEventSubscription for more information on using the DeleteEventSubscription
  2223. // API call, and error handling.
  2224. //
  2225. // This method is useful when you want to inject custom logic or configuration
  2226. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2227. //
  2228. //
  2229. // // Example sending a request using the DeleteEventSubscriptionRequest method.
  2230. // req, resp := client.DeleteEventSubscriptionRequest(params)
  2231. //
  2232. // err := req.Send()
  2233. // if err == nil { // resp is now filled
  2234. // fmt.Println(resp)
  2235. // }
  2236. //
  2237. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteEventSubscription
  2238. func (c *Redshift) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
  2239. op := &request.Operation{
  2240. Name: opDeleteEventSubscription,
  2241. HTTPMethod: "POST",
  2242. HTTPPath: "/",
  2243. }
  2244. if input == nil {
  2245. input = &DeleteEventSubscriptionInput{}
  2246. }
  2247. output = &DeleteEventSubscriptionOutput{}
  2248. req = c.newRequest(op, input, output)
  2249. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2250. return
  2251. }
  2252. // DeleteEventSubscription API operation for Amazon Redshift.
  2253. //
  2254. // Deletes an Amazon Redshift event notification subscription.
  2255. //
  2256. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2257. // with awserr.Error's Code and Message methods to get detailed information about
  2258. // the error.
  2259. //
  2260. // See the AWS API reference guide for Amazon Redshift's
  2261. // API operation DeleteEventSubscription for usage and error information.
  2262. //
  2263. // Returned Error Codes:
  2264. // * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  2265. // An Amazon Redshift event notification subscription with the specified name
  2266. // does not exist.
  2267. //
  2268. // * ErrCodeInvalidSubscriptionStateFault "InvalidSubscriptionStateFault"
  2269. // The subscription request is invalid because it is a duplicate request. This
  2270. // subscription request is already in progress.
  2271. //
  2272. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteEventSubscription
  2273. func (c *Redshift) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
  2274. req, out := c.DeleteEventSubscriptionRequest(input)
  2275. return out, req.Send()
  2276. }
  2277. // DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
  2278. // the ability to pass a context and additional request options.
  2279. //
  2280. // See DeleteEventSubscription for details on how to use this API operation.
  2281. //
  2282. // The context must be non-nil and will be used for request cancellation. If
  2283. // the context is nil a panic will occur. In the future the SDK may create
  2284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2285. // for more information on using Contexts.
  2286. func (c *Redshift) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
  2287. req, out := c.DeleteEventSubscriptionRequest(input)
  2288. req.SetContext(ctx)
  2289. req.ApplyOptions(opts...)
  2290. return out, req.Send()
  2291. }
  2292. const opDeleteHsmClientCertificate = "DeleteHsmClientCertificate"
  2293. // DeleteHsmClientCertificateRequest generates a "aws/request.Request" representing the
  2294. // client's request for the DeleteHsmClientCertificate operation. The "output" return
  2295. // value will be populated with the request's response once the request completes
  2296. // successfully.
  2297. //
  2298. // Use "Send" method on the returned Request to send the API call to the service.
  2299. // the "output" return value is not valid until after Send returns without error.
  2300. //
  2301. // See DeleteHsmClientCertificate for more information on using the DeleteHsmClientCertificate
  2302. // API call, and error handling.
  2303. //
  2304. // This method is useful when you want to inject custom logic or configuration
  2305. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2306. //
  2307. //
  2308. // // Example sending a request using the DeleteHsmClientCertificateRequest method.
  2309. // req, resp := client.DeleteHsmClientCertificateRequest(params)
  2310. //
  2311. // err := req.Send()
  2312. // if err == nil { // resp is now filled
  2313. // fmt.Println(resp)
  2314. // }
  2315. //
  2316. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmClientCertificate
  2317. func (c *Redshift) DeleteHsmClientCertificateRequest(input *DeleteHsmClientCertificateInput) (req *request.Request, output *DeleteHsmClientCertificateOutput) {
  2318. op := &request.Operation{
  2319. Name: opDeleteHsmClientCertificate,
  2320. HTTPMethod: "POST",
  2321. HTTPPath: "/",
  2322. }
  2323. if input == nil {
  2324. input = &DeleteHsmClientCertificateInput{}
  2325. }
  2326. output = &DeleteHsmClientCertificateOutput{}
  2327. req = c.newRequest(op, input, output)
  2328. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2329. return
  2330. }
  2331. // DeleteHsmClientCertificate API operation for Amazon Redshift.
  2332. //
  2333. // Deletes the specified HSM client certificate.
  2334. //
  2335. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2336. // with awserr.Error's Code and Message methods to get detailed information about
  2337. // the error.
  2338. //
  2339. // See the AWS API reference guide for Amazon Redshift's
  2340. // API operation DeleteHsmClientCertificate for usage and error information.
  2341. //
  2342. // Returned Error Codes:
  2343. // * ErrCodeInvalidHsmClientCertificateStateFault "InvalidHsmClientCertificateStateFault"
  2344. // The specified HSM client certificate is not in the available state, or it
  2345. // is still in use by one or more Amazon Redshift clusters.
  2346. //
  2347. // * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault"
  2348. // There is no Amazon Redshift HSM client certificate with the specified identifier.
  2349. //
  2350. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmClientCertificate
  2351. func (c *Redshift) DeleteHsmClientCertificate(input *DeleteHsmClientCertificateInput) (*DeleteHsmClientCertificateOutput, error) {
  2352. req, out := c.DeleteHsmClientCertificateRequest(input)
  2353. return out, req.Send()
  2354. }
  2355. // DeleteHsmClientCertificateWithContext is the same as DeleteHsmClientCertificate with the addition of
  2356. // the ability to pass a context and additional request options.
  2357. //
  2358. // See DeleteHsmClientCertificate for details on how to use this API operation.
  2359. //
  2360. // The context must be non-nil and will be used for request cancellation. If
  2361. // the context is nil a panic will occur. In the future the SDK may create
  2362. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2363. // for more information on using Contexts.
  2364. func (c *Redshift) DeleteHsmClientCertificateWithContext(ctx aws.Context, input *DeleteHsmClientCertificateInput, opts ...request.Option) (*DeleteHsmClientCertificateOutput, error) {
  2365. req, out := c.DeleteHsmClientCertificateRequest(input)
  2366. req.SetContext(ctx)
  2367. req.ApplyOptions(opts...)
  2368. return out, req.Send()
  2369. }
  2370. const opDeleteHsmConfiguration = "DeleteHsmConfiguration"
  2371. // DeleteHsmConfigurationRequest generates a "aws/request.Request" representing the
  2372. // client's request for the DeleteHsmConfiguration operation. The "output" return
  2373. // value will be populated with the request's response once the request completes
  2374. // successfully.
  2375. //
  2376. // Use "Send" method on the returned Request to send the API call to the service.
  2377. // the "output" return value is not valid until after Send returns without error.
  2378. //
  2379. // See DeleteHsmConfiguration for more information on using the DeleteHsmConfiguration
  2380. // API call, and error handling.
  2381. //
  2382. // This method is useful when you want to inject custom logic or configuration
  2383. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2384. //
  2385. //
  2386. // // Example sending a request using the DeleteHsmConfigurationRequest method.
  2387. // req, resp := client.DeleteHsmConfigurationRequest(params)
  2388. //
  2389. // err := req.Send()
  2390. // if err == nil { // resp is now filled
  2391. // fmt.Println(resp)
  2392. // }
  2393. //
  2394. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmConfiguration
  2395. func (c *Redshift) DeleteHsmConfigurationRequest(input *DeleteHsmConfigurationInput) (req *request.Request, output *DeleteHsmConfigurationOutput) {
  2396. op := &request.Operation{
  2397. Name: opDeleteHsmConfiguration,
  2398. HTTPMethod: "POST",
  2399. HTTPPath: "/",
  2400. }
  2401. if input == nil {
  2402. input = &DeleteHsmConfigurationInput{}
  2403. }
  2404. output = &DeleteHsmConfigurationOutput{}
  2405. req = c.newRequest(op, input, output)
  2406. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2407. return
  2408. }
  2409. // DeleteHsmConfiguration API operation for Amazon Redshift.
  2410. //
  2411. // Deletes the specified Amazon Redshift HSM configuration.
  2412. //
  2413. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2414. // with awserr.Error's Code and Message methods to get detailed information about
  2415. // the error.
  2416. //
  2417. // See the AWS API reference guide for Amazon Redshift's
  2418. // API operation DeleteHsmConfiguration for usage and error information.
  2419. //
  2420. // Returned Error Codes:
  2421. // * ErrCodeInvalidHsmConfigurationStateFault "InvalidHsmConfigurationStateFault"
  2422. // The specified HSM configuration is not in the available state, or it is still
  2423. // in use by one or more Amazon Redshift clusters.
  2424. //
  2425. // * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault"
  2426. // There is no Amazon Redshift HSM configuration with the specified identifier.
  2427. //
  2428. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmConfiguration
  2429. func (c *Redshift) DeleteHsmConfiguration(input *DeleteHsmConfigurationInput) (*DeleteHsmConfigurationOutput, error) {
  2430. req, out := c.DeleteHsmConfigurationRequest(input)
  2431. return out, req.Send()
  2432. }
  2433. // DeleteHsmConfigurationWithContext is the same as DeleteHsmConfiguration with the addition of
  2434. // the ability to pass a context and additional request options.
  2435. //
  2436. // See DeleteHsmConfiguration for details on how to use this API operation.
  2437. //
  2438. // The context must be non-nil and will be used for request cancellation. If
  2439. // the context is nil a panic will occur. In the future the SDK may create
  2440. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2441. // for more information on using Contexts.
  2442. func (c *Redshift) DeleteHsmConfigurationWithContext(ctx aws.Context, input *DeleteHsmConfigurationInput, opts ...request.Option) (*DeleteHsmConfigurationOutput, error) {
  2443. req, out := c.DeleteHsmConfigurationRequest(input)
  2444. req.SetContext(ctx)
  2445. req.ApplyOptions(opts...)
  2446. return out, req.Send()
  2447. }
  2448. const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant"
  2449. // DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the
  2450. // client's request for the DeleteSnapshotCopyGrant operation. The "output" return
  2451. // value will be populated with the request's response once the request completes
  2452. // successfully.
  2453. //
  2454. // Use "Send" method on the returned Request to send the API call to the service.
  2455. // the "output" return value is not valid until after Send returns without error.
  2456. //
  2457. // See DeleteSnapshotCopyGrant for more information on using the DeleteSnapshotCopyGrant
  2458. // API call, and error handling.
  2459. //
  2460. // This method is useful when you want to inject custom logic or configuration
  2461. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2462. //
  2463. //
  2464. // // Example sending a request using the DeleteSnapshotCopyGrantRequest method.
  2465. // req, resp := client.DeleteSnapshotCopyGrantRequest(params)
  2466. //
  2467. // err := req.Send()
  2468. // if err == nil { // resp is now filled
  2469. // fmt.Println(resp)
  2470. // }
  2471. //
  2472. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotCopyGrant
  2473. func (c *Redshift) DeleteSnapshotCopyGrantRequest(input *DeleteSnapshotCopyGrantInput) (req *request.Request, output *DeleteSnapshotCopyGrantOutput) {
  2474. op := &request.Operation{
  2475. Name: opDeleteSnapshotCopyGrant,
  2476. HTTPMethod: "POST",
  2477. HTTPPath: "/",
  2478. }
  2479. if input == nil {
  2480. input = &DeleteSnapshotCopyGrantInput{}
  2481. }
  2482. output = &DeleteSnapshotCopyGrantOutput{}
  2483. req = c.newRequest(op, input, output)
  2484. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2485. return
  2486. }
  2487. // DeleteSnapshotCopyGrant API operation for Amazon Redshift.
  2488. //
  2489. // Deletes the specified snapshot copy grant.
  2490. //
  2491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2492. // with awserr.Error's Code and Message methods to get detailed information about
  2493. // the error.
  2494. //
  2495. // See the AWS API reference guide for Amazon Redshift's
  2496. // API operation DeleteSnapshotCopyGrant for usage and error information.
  2497. //
  2498. // Returned Error Codes:
  2499. // * ErrCodeInvalidSnapshotCopyGrantStateFault "InvalidSnapshotCopyGrantStateFault"
  2500. // The snapshot copy grant can't be deleted because it is used by one or more
  2501. // clusters.
  2502. //
  2503. // * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault"
  2504. // The specified snapshot copy grant can't be found. Make sure that the name
  2505. // is typed correctly and that the grant exists in the destination region.
  2506. //
  2507. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotCopyGrant
  2508. func (c *Redshift) DeleteSnapshotCopyGrant(input *DeleteSnapshotCopyGrantInput) (*DeleteSnapshotCopyGrantOutput, error) {
  2509. req, out := c.DeleteSnapshotCopyGrantRequest(input)
  2510. return out, req.Send()
  2511. }
  2512. // DeleteSnapshotCopyGrantWithContext is the same as DeleteSnapshotCopyGrant with the addition of
  2513. // the ability to pass a context and additional request options.
  2514. //
  2515. // See DeleteSnapshotCopyGrant for details on how to use this API operation.
  2516. //
  2517. // The context must be non-nil and will be used for request cancellation. If
  2518. // the context is nil a panic will occur. In the future the SDK may create
  2519. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2520. // for more information on using Contexts.
  2521. func (c *Redshift) DeleteSnapshotCopyGrantWithContext(ctx aws.Context, input *DeleteSnapshotCopyGrantInput, opts ...request.Option) (*DeleteSnapshotCopyGrantOutput, error) {
  2522. req, out := c.DeleteSnapshotCopyGrantRequest(input)
  2523. req.SetContext(ctx)
  2524. req.ApplyOptions(opts...)
  2525. return out, req.Send()
  2526. }
  2527. const opDeleteSnapshotSchedule = "DeleteSnapshotSchedule"
  2528. // DeleteSnapshotScheduleRequest generates a "aws/request.Request" representing the
  2529. // client's request for the DeleteSnapshotSchedule operation. The "output" return
  2530. // value will be populated with the request's response once the request completes
  2531. // successfully.
  2532. //
  2533. // Use "Send" method on the returned Request to send the API call to the service.
  2534. // the "output" return value is not valid until after Send returns without error.
  2535. //
  2536. // See DeleteSnapshotSchedule for more information on using the DeleteSnapshotSchedule
  2537. // API call, and error handling.
  2538. //
  2539. // This method is useful when you want to inject custom logic or configuration
  2540. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2541. //
  2542. //
  2543. // // Example sending a request using the DeleteSnapshotScheduleRequest method.
  2544. // req, resp := client.DeleteSnapshotScheduleRequest(params)
  2545. //
  2546. // err := req.Send()
  2547. // if err == nil { // resp is now filled
  2548. // fmt.Println(resp)
  2549. // }
  2550. //
  2551. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotSchedule
  2552. func (c *Redshift) DeleteSnapshotScheduleRequest(input *DeleteSnapshotScheduleInput) (req *request.Request, output *DeleteSnapshotScheduleOutput) {
  2553. op := &request.Operation{
  2554. Name: opDeleteSnapshotSchedule,
  2555. HTTPMethod: "POST",
  2556. HTTPPath: "/",
  2557. }
  2558. if input == nil {
  2559. input = &DeleteSnapshotScheduleInput{}
  2560. }
  2561. output = &DeleteSnapshotScheduleOutput{}
  2562. req = c.newRequest(op, input, output)
  2563. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2564. return
  2565. }
  2566. // DeleteSnapshotSchedule API operation for Amazon Redshift.
  2567. //
  2568. // Deletes a snapshot schedule.
  2569. //
  2570. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2571. // with awserr.Error's Code and Message methods to get detailed information about
  2572. // the error.
  2573. //
  2574. // See the AWS API reference guide for Amazon Redshift's
  2575. // API operation DeleteSnapshotSchedule for usage and error information.
  2576. //
  2577. // Returned Error Codes:
  2578. // * ErrCodeInvalidClusterSnapshotScheduleStateFault "InvalidClusterSnapshotScheduleState"
  2579. // The cluster snapshot schedule state is not valid.
  2580. //
  2581. // * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound"
  2582. // We could not find the specified snapshot schedule.
  2583. //
  2584. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotSchedule
  2585. func (c *Redshift) DeleteSnapshotSchedule(input *DeleteSnapshotScheduleInput) (*DeleteSnapshotScheduleOutput, error) {
  2586. req, out := c.DeleteSnapshotScheduleRequest(input)
  2587. return out, req.Send()
  2588. }
  2589. // DeleteSnapshotScheduleWithContext is the same as DeleteSnapshotSchedule with the addition of
  2590. // the ability to pass a context and additional request options.
  2591. //
  2592. // See DeleteSnapshotSchedule for details on how to use this API operation.
  2593. //
  2594. // The context must be non-nil and will be used for request cancellation. If
  2595. // the context is nil a panic will occur. In the future the SDK may create
  2596. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2597. // for more information on using Contexts.
  2598. func (c *Redshift) DeleteSnapshotScheduleWithContext(ctx aws.Context, input *DeleteSnapshotScheduleInput, opts ...request.Option) (*DeleteSnapshotScheduleOutput, error) {
  2599. req, out := c.DeleteSnapshotScheduleRequest(input)
  2600. req.SetContext(ctx)
  2601. req.ApplyOptions(opts...)
  2602. return out, req.Send()
  2603. }
  2604. const opDeleteTags = "DeleteTags"
  2605. // DeleteTagsRequest generates a "aws/request.Request" representing the
  2606. // client's request for the DeleteTags operation. The "output" return
  2607. // value will be populated with the request's response once the request completes
  2608. // successfully.
  2609. //
  2610. // Use "Send" method on the returned Request to send the API call to the service.
  2611. // the "output" return value is not valid until after Send returns without error.
  2612. //
  2613. // See DeleteTags for more information on using the DeleteTags
  2614. // API call, and error handling.
  2615. //
  2616. // This method is useful when you want to inject custom logic or configuration
  2617. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2618. //
  2619. //
  2620. // // Example sending a request using the DeleteTagsRequest method.
  2621. // req, resp := client.DeleteTagsRequest(params)
  2622. //
  2623. // err := req.Send()
  2624. // if err == nil { // resp is now filled
  2625. // fmt.Println(resp)
  2626. // }
  2627. //
  2628. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteTags
  2629. func (c *Redshift) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  2630. op := &request.Operation{
  2631. Name: opDeleteTags,
  2632. HTTPMethod: "POST",
  2633. HTTPPath: "/",
  2634. }
  2635. if input == nil {
  2636. input = &DeleteTagsInput{}
  2637. }
  2638. output = &DeleteTagsOutput{}
  2639. req = c.newRequest(op, input, output)
  2640. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2641. return
  2642. }
  2643. // DeleteTags API operation for Amazon Redshift.
  2644. //
  2645. // Deletes a tag or tags from a resource. You must provide the ARN of the resource
  2646. // from which you want to delete the tag or tags.
  2647. //
  2648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2649. // with awserr.Error's Code and Message methods to get detailed information about
  2650. // the error.
  2651. //
  2652. // See the AWS API reference guide for Amazon Redshift's
  2653. // API operation DeleteTags for usage and error information.
  2654. //
  2655. // Returned Error Codes:
  2656. // * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  2657. // The resource could not be found.
  2658. //
  2659. // * ErrCodeInvalidTagFault "InvalidTagFault"
  2660. // The tag is invalid.
  2661. //
  2662. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteTags
  2663. func (c *Redshift) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  2664. req, out := c.DeleteTagsRequest(input)
  2665. return out, req.Send()
  2666. }
  2667. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  2668. // the ability to pass a context and additional request options.
  2669. //
  2670. // See DeleteTags for details on how to use this API operation.
  2671. //
  2672. // The context must be non-nil and will be used for request cancellation. If
  2673. // the context is nil a panic will occur. In the future the SDK may create
  2674. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2675. // for more information on using Contexts.
  2676. func (c *Redshift) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  2677. req, out := c.DeleteTagsRequest(input)
  2678. req.SetContext(ctx)
  2679. req.ApplyOptions(opts...)
  2680. return out, req.Send()
  2681. }
  2682. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  2683. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  2684. // client's request for the DescribeAccountAttributes operation. The "output" return
  2685. // value will be populated with the request's response once the request completes
  2686. // successfully.
  2687. //
  2688. // Use "Send" method on the returned Request to send the API call to the service.
  2689. // the "output" return value is not valid until after Send returns without error.
  2690. //
  2691. // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  2692. // API call, and error handling.
  2693. //
  2694. // This method is useful when you want to inject custom logic or configuration
  2695. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2696. //
  2697. //
  2698. // // Example sending a request using the DescribeAccountAttributesRequest method.
  2699. // req, resp := client.DescribeAccountAttributesRequest(params)
  2700. //
  2701. // err := req.Send()
  2702. // if err == nil { // resp is now filled
  2703. // fmt.Println(resp)
  2704. // }
  2705. //
  2706. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeAccountAttributes
  2707. func (c *Redshift) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  2708. op := &request.Operation{
  2709. Name: opDescribeAccountAttributes,
  2710. HTTPMethod: "POST",
  2711. HTTPPath: "/",
  2712. }
  2713. if input == nil {
  2714. input = &DescribeAccountAttributesInput{}
  2715. }
  2716. output = &DescribeAccountAttributesOutput{}
  2717. req = c.newRequest(op, input, output)
  2718. return
  2719. }
  2720. // DescribeAccountAttributes API operation for Amazon Redshift.
  2721. //
  2722. // Returns a list of attributes attached to an account
  2723. //
  2724. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2725. // with awserr.Error's Code and Message methods to get detailed information about
  2726. // the error.
  2727. //
  2728. // See the AWS API reference guide for Amazon Redshift's
  2729. // API operation DescribeAccountAttributes for usage and error information.
  2730. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeAccountAttributes
  2731. func (c *Redshift) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  2732. req, out := c.DescribeAccountAttributesRequest(input)
  2733. return out, req.Send()
  2734. }
  2735. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  2736. // the ability to pass a context and additional request options.
  2737. //
  2738. // See DescribeAccountAttributes for details on how to use this API operation.
  2739. //
  2740. // The context must be non-nil and will be used for request cancellation. If
  2741. // the context is nil a panic will occur. In the future the SDK may create
  2742. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2743. // for more information on using Contexts.
  2744. func (c *Redshift) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  2745. req, out := c.DescribeAccountAttributesRequest(input)
  2746. req.SetContext(ctx)
  2747. req.ApplyOptions(opts...)
  2748. return out, req.Send()
  2749. }
  2750. const opDescribeClusterDbRevisions = "DescribeClusterDbRevisions"
  2751. // DescribeClusterDbRevisionsRequest generates a "aws/request.Request" representing the
  2752. // client's request for the DescribeClusterDbRevisions operation. The "output" return
  2753. // value will be populated with the request's response once the request completes
  2754. // successfully.
  2755. //
  2756. // Use "Send" method on the returned Request to send the API call to the service.
  2757. // the "output" return value is not valid until after Send returns without error.
  2758. //
  2759. // See DescribeClusterDbRevisions for more information on using the DescribeClusterDbRevisions
  2760. // API call, and error handling.
  2761. //
  2762. // This method is useful when you want to inject custom logic or configuration
  2763. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2764. //
  2765. //
  2766. // // Example sending a request using the DescribeClusterDbRevisionsRequest method.
  2767. // req, resp := client.DescribeClusterDbRevisionsRequest(params)
  2768. //
  2769. // err := req.Send()
  2770. // if err == nil { // resp is now filled
  2771. // fmt.Println(resp)
  2772. // }
  2773. //
  2774. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterDbRevisions
  2775. func (c *Redshift) DescribeClusterDbRevisionsRequest(input *DescribeClusterDbRevisionsInput) (req *request.Request, output *DescribeClusterDbRevisionsOutput) {
  2776. op := &request.Operation{
  2777. Name: opDescribeClusterDbRevisions,
  2778. HTTPMethod: "POST",
  2779. HTTPPath: "/",
  2780. }
  2781. if input == nil {
  2782. input = &DescribeClusterDbRevisionsInput{}
  2783. }
  2784. output = &DescribeClusterDbRevisionsOutput{}
  2785. req = c.newRequest(op, input, output)
  2786. return
  2787. }
  2788. // DescribeClusterDbRevisions API operation for Amazon Redshift.
  2789. //
  2790. // Returns an array of ClusterDbRevision objects.
  2791. //
  2792. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2793. // with awserr.Error's Code and Message methods to get detailed information about
  2794. // the error.
  2795. //
  2796. // See the AWS API reference guide for Amazon Redshift's
  2797. // API operation DescribeClusterDbRevisions for usage and error information.
  2798. //
  2799. // Returned Error Codes:
  2800. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  2801. // The ClusterIdentifier parameter does not refer to an existing cluster.
  2802. //
  2803. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  2804. // The specified cluster is not in the available state.
  2805. //
  2806. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterDbRevisions
  2807. func (c *Redshift) DescribeClusterDbRevisions(input *DescribeClusterDbRevisionsInput) (*DescribeClusterDbRevisionsOutput, error) {
  2808. req, out := c.DescribeClusterDbRevisionsRequest(input)
  2809. return out, req.Send()
  2810. }
  2811. // DescribeClusterDbRevisionsWithContext is the same as DescribeClusterDbRevisions with the addition of
  2812. // the ability to pass a context and additional request options.
  2813. //
  2814. // See DescribeClusterDbRevisions for details on how to use this API operation.
  2815. //
  2816. // The context must be non-nil and will be used for request cancellation. If
  2817. // the context is nil a panic will occur. In the future the SDK may create
  2818. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2819. // for more information on using Contexts.
  2820. func (c *Redshift) DescribeClusterDbRevisionsWithContext(ctx aws.Context, input *DescribeClusterDbRevisionsInput, opts ...request.Option) (*DescribeClusterDbRevisionsOutput, error) {
  2821. req, out := c.DescribeClusterDbRevisionsRequest(input)
  2822. req.SetContext(ctx)
  2823. req.ApplyOptions(opts...)
  2824. return out, req.Send()
  2825. }
  2826. const opDescribeClusterParameterGroups = "DescribeClusterParameterGroups"
  2827. // DescribeClusterParameterGroupsRequest generates a "aws/request.Request" representing the
  2828. // client's request for the DescribeClusterParameterGroups operation. The "output" return
  2829. // value will be populated with the request's response once the request completes
  2830. // successfully.
  2831. //
  2832. // Use "Send" method on the returned Request to send the API call to the service.
  2833. // the "output" return value is not valid until after Send returns without error.
  2834. //
  2835. // See DescribeClusterParameterGroups for more information on using the DescribeClusterParameterGroups
  2836. // API call, and error handling.
  2837. //
  2838. // This method is useful when you want to inject custom logic or configuration
  2839. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2840. //
  2841. //
  2842. // // Example sending a request using the DescribeClusterParameterGroupsRequest method.
  2843. // req, resp := client.DescribeClusterParameterGroupsRequest(params)
  2844. //
  2845. // err := req.Send()
  2846. // if err == nil { // resp is now filled
  2847. // fmt.Println(resp)
  2848. // }
  2849. //
  2850. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameterGroups
  2851. func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterParameterGroupsInput) (req *request.Request, output *DescribeClusterParameterGroupsOutput) {
  2852. op := &request.Operation{
  2853. Name: opDescribeClusterParameterGroups,
  2854. HTTPMethod: "POST",
  2855. HTTPPath: "/",
  2856. Paginator: &request.Paginator{
  2857. InputTokens: []string{"Marker"},
  2858. OutputTokens: []string{"Marker"},
  2859. LimitToken: "MaxRecords",
  2860. TruncationToken: "",
  2861. },
  2862. }
  2863. if input == nil {
  2864. input = &DescribeClusterParameterGroupsInput{}
  2865. }
  2866. output = &DescribeClusterParameterGroupsOutput{}
  2867. req = c.newRequest(op, input, output)
  2868. return
  2869. }
  2870. // DescribeClusterParameterGroups API operation for Amazon Redshift.
  2871. //
  2872. // Returns a list of Amazon Redshift parameter groups, including parameter groups
  2873. // you created and the default parameter group. For each parameter group, the
  2874. // response includes the parameter group name, description, and parameter group
  2875. // family name. You can optionally specify a name to retrieve the description
  2876. // of a specific parameter group.
  2877. //
  2878. // For more information about parameters and parameter groups, go to Amazon
  2879. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  2880. // in the Amazon Redshift Cluster Management Guide.
  2881. //
  2882. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  2883. // returns all parameter groups that match any combination of the specified
  2884. // keys and values. For example, if you have owner and environment for tag keys,
  2885. // and admin and test for tag values, all parameter groups that have any combination
  2886. // of those values are returned.
  2887. //
  2888. // If both tag keys and values are omitted from the request, parameter groups
  2889. // are returned regardless of whether they have tag keys or values associated
  2890. // with them.
  2891. //
  2892. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2893. // with awserr.Error's Code and Message methods to get detailed information about
  2894. // the error.
  2895. //
  2896. // See the AWS API reference guide for Amazon Redshift's
  2897. // API operation DescribeClusterParameterGroups for usage and error information.
  2898. //
  2899. // Returned Error Codes:
  2900. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  2901. // The parameter group name does not refer to an existing parameter group.
  2902. //
  2903. // * ErrCodeInvalidTagFault "InvalidTagFault"
  2904. // The tag is invalid.
  2905. //
  2906. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameterGroups
  2907. func (c *Redshift) DescribeClusterParameterGroups(input *DescribeClusterParameterGroupsInput) (*DescribeClusterParameterGroupsOutput, error) {
  2908. req, out := c.DescribeClusterParameterGroupsRequest(input)
  2909. return out, req.Send()
  2910. }
  2911. // DescribeClusterParameterGroupsWithContext is the same as DescribeClusterParameterGroups with the addition of
  2912. // the ability to pass a context and additional request options.
  2913. //
  2914. // See DescribeClusterParameterGroups for details on how to use this API operation.
  2915. //
  2916. // The context must be non-nil and will be used for request cancellation. If
  2917. // the context is nil a panic will occur. In the future the SDK may create
  2918. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2919. // for more information on using Contexts.
  2920. func (c *Redshift) DescribeClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeClusterParameterGroupsInput, opts ...request.Option) (*DescribeClusterParameterGroupsOutput, error) {
  2921. req, out := c.DescribeClusterParameterGroupsRequest(input)
  2922. req.SetContext(ctx)
  2923. req.ApplyOptions(opts...)
  2924. return out, req.Send()
  2925. }
  2926. // DescribeClusterParameterGroupsPages iterates over the pages of a DescribeClusterParameterGroups operation,
  2927. // calling the "fn" function with the response data for each page. To stop
  2928. // iterating, return false from the fn function.
  2929. //
  2930. // See DescribeClusterParameterGroups method for more information on how to use this operation.
  2931. //
  2932. // Note: This operation can generate multiple requests to a service.
  2933. //
  2934. // // Example iterating over at most 3 pages of a DescribeClusterParameterGroups operation.
  2935. // pageNum := 0
  2936. // err := client.DescribeClusterParameterGroupsPages(params,
  2937. // func(page *DescribeClusterParameterGroupsOutput, lastPage bool) bool {
  2938. // pageNum++
  2939. // fmt.Println(page)
  2940. // return pageNum <= 3
  2941. // })
  2942. //
  2943. func (c *Redshift) DescribeClusterParameterGroupsPages(input *DescribeClusterParameterGroupsInput, fn func(*DescribeClusterParameterGroupsOutput, bool) bool) error {
  2944. return c.DescribeClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2945. }
  2946. // DescribeClusterParameterGroupsPagesWithContext same as DescribeClusterParameterGroupsPages except
  2947. // it takes a Context and allows setting request options on the pages.
  2948. //
  2949. // The context must be non-nil and will be used for request cancellation. If
  2950. // the context is nil a panic will occur. In the future the SDK may create
  2951. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2952. // for more information on using Contexts.
  2953. func (c *Redshift) DescribeClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterParameterGroupsInput, fn func(*DescribeClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  2954. p := request.Pagination{
  2955. NewRequest: func() (*request.Request, error) {
  2956. var inCpy *DescribeClusterParameterGroupsInput
  2957. if input != nil {
  2958. tmp := *input
  2959. inCpy = &tmp
  2960. }
  2961. req, _ := c.DescribeClusterParameterGroupsRequest(inCpy)
  2962. req.SetContext(ctx)
  2963. req.ApplyOptions(opts...)
  2964. return req, nil
  2965. },
  2966. }
  2967. cont := true
  2968. for p.Next() && cont {
  2969. cont = fn(p.Page().(*DescribeClusterParameterGroupsOutput), !p.HasNextPage())
  2970. }
  2971. return p.Err()
  2972. }
  2973. const opDescribeClusterParameters = "DescribeClusterParameters"
  2974. // DescribeClusterParametersRequest generates a "aws/request.Request" representing the
  2975. // client's request for the DescribeClusterParameters operation. The "output" return
  2976. // value will be populated with the request's response once the request completes
  2977. // successfully.
  2978. //
  2979. // Use "Send" method on the returned Request to send the API call to the service.
  2980. // the "output" return value is not valid until after Send returns without error.
  2981. //
  2982. // See DescribeClusterParameters for more information on using the DescribeClusterParameters
  2983. // API call, and error handling.
  2984. //
  2985. // This method is useful when you want to inject custom logic or configuration
  2986. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2987. //
  2988. //
  2989. // // Example sending a request using the DescribeClusterParametersRequest method.
  2990. // req, resp := client.DescribeClusterParametersRequest(params)
  2991. //
  2992. // err := req.Send()
  2993. // if err == nil { // resp is now filled
  2994. // fmt.Println(resp)
  2995. // }
  2996. //
  2997. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameters
  2998. func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParametersInput) (req *request.Request, output *DescribeClusterParametersOutput) {
  2999. op := &request.Operation{
  3000. Name: opDescribeClusterParameters,
  3001. HTTPMethod: "POST",
  3002. HTTPPath: "/",
  3003. Paginator: &request.Paginator{
  3004. InputTokens: []string{"Marker"},
  3005. OutputTokens: []string{"Marker"},
  3006. LimitToken: "MaxRecords",
  3007. TruncationToken: "",
  3008. },
  3009. }
  3010. if input == nil {
  3011. input = &DescribeClusterParametersInput{}
  3012. }
  3013. output = &DescribeClusterParametersOutput{}
  3014. req = c.newRequest(op, input, output)
  3015. return
  3016. }
  3017. // DescribeClusterParameters API operation for Amazon Redshift.
  3018. //
  3019. // Returns a detailed list of parameters contained within the specified Amazon
  3020. // Redshift parameter group. For each parameter the response includes information
  3021. // such as parameter name, description, data type, value, whether the parameter
  3022. // value is modifiable, and so on.
  3023. //
  3024. // You can specify source filter to retrieve parameters of only specific type.
  3025. // For example, to retrieve parameters that were modified by a user action such
  3026. // as from ModifyClusterParameterGroup, you can specify source equal to user.
  3027. //
  3028. // For more information about parameters and parameter groups, go to Amazon
  3029. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  3030. // in the Amazon Redshift Cluster Management Guide.
  3031. //
  3032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3033. // with awserr.Error's Code and Message methods to get detailed information about
  3034. // the error.
  3035. //
  3036. // See the AWS API reference guide for Amazon Redshift's
  3037. // API operation DescribeClusterParameters for usage and error information.
  3038. //
  3039. // Returned Error Codes:
  3040. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  3041. // The parameter group name does not refer to an existing parameter group.
  3042. //
  3043. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameters
  3044. func (c *Redshift) DescribeClusterParameters(input *DescribeClusterParametersInput) (*DescribeClusterParametersOutput, error) {
  3045. req, out := c.DescribeClusterParametersRequest(input)
  3046. return out, req.Send()
  3047. }
  3048. // DescribeClusterParametersWithContext is the same as DescribeClusterParameters with the addition of
  3049. // the ability to pass a context and additional request options.
  3050. //
  3051. // See DescribeClusterParameters for details on how to use this API operation.
  3052. //
  3053. // The context must be non-nil and will be used for request cancellation. If
  3054. // the context is nil a panic will occur. In the future the SDK may create
  3055. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3056. // for more information on using Contexts.
  3057. func (c *Redshift) DescribeClusterParametersWithContext(ctx aws.Context, input *DescribeClusterParametersInput, opts ...request.Option) (*DescribeClusterParametersOutput, error) {
  3058. req, out := c.DescribeClusterParametersRequest(input)
  3059. req.SetContext(ctx)
  3060. req.ApplyOptions(opts...)
  3061. return out, req.Send()
  3062. }
  3063. // DescribeClusterParametersPages iterates over the pages of a DescribeClusterParameters operation,
  3064. // calling the "fn" function with the response data for each page. To stop
  3065. // iterating, return false from the fn function.
  3066. //
  3067. // See DescribeClusterParameters method for more information on how to use this operation.
  3068. //
  3069. // Note: This operation can generate multiple requests to a service.
  3070. //
  3071. // // Example iterating over at most 3 pages of a DescribeClusterParameters operation.
  3072. // pageNum := 0
  3073. // err := client.DescribeClusterParametersPages(params,
  3074. // func(page *DescribeClusterParametersOutput, lastPage bool) bool {
  3075. // pageNum++
  3076. // fmt.Println(page)
  3077. // return pageNum <= 3
  3078. // })
  3079. //
  3080. func (c *Redshift) DescribeClusterParametersPages(input *DescribeClusterParametersInput, fn func(*DescribeClusterParametersOutput, bool) bool) error {
  3081. return c.DescribeClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  3082. }
  3083. // DescribeClusterParametersPagesWithContext same as DescribeClusterParametersPages except
  3084. // it takes a Context and allows setting request options on the pages.
  3085. //
  3086. // The context must be non-nil and will be used for request cancellation. If
  3087. // the context is nil a panic will occur. In the future the SDK may create
  3088. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3089. // for more information on using Contexts.
  3090. func (c *Redshift) DescribeClusterParametersPagesWithContext(ctx aws.Context, input *DescribeClusterParametersInput, fn func(*DescribeClusterParametersOutput, bool) bool, opts ...request.Option) error {
  3091. p := request.Pagination{
  3092. NewRequest: func() (*request.Request, error) {
  3093. var inCpy *DescribeClusterParametersInput
  3094. if input != nil {
  3095. tmp := *input
  3096. inCpy = &tmp
  3097. }
  3098. req, _ := c.DescribeClusterParametersRequest(inCpy)
  3099. req.SetContext(ctx)
  3100. req.ApplyOptions(opts...)
  3101. return req, nil
  3102. },
  3103. }
  3104. cont := true
  3105. for p.Next() && cont {
  3106. cont = fn(p.Page().(*DescribeClusterParametersOutput), !p.HasNextPage())
  3107. }
  3108. return p.Err()
  3109. }
  3110. const opDescribeClusterSecurityGroups = "DescribeClusterSecurityGroups"
  3111. // DescribeClusterSecurityGroupsRequest generates a "aws/request.Request" representing the
  3112. // client's request for the DescribeClusterSecurityGroups operation. The "output" return
  3113. // value will be populated with the request's response once the request completes
  3114. // successfully.
  3115. //
  3116. // Use "Send" method on the returned Request to send the API call to the service.
  3117. // the "output" return value is not valid until after Send returns without error.
  3118. //
  3119. // See DescribeClusterSecurityGroups for more information on using the DescribeClusterSecurityGroups
  3120. // API call, and error handling.
  3121. //
  3122. // This method is useful when you want to inject custom logic or configuration
  3123. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3124. //
  3125. //
  3126. // // Example sending a request using the DescribeClusterSecurityGroupsRequest method.
  3127. // req, resp := client.DescribeClusterSecurityGroupsRequest(params)
  3128. //
  3129. // err := req.Send()
  3130. // if err == nil { // resp is now filled
  3131. // fmt.Println(resp)
  3132. // }
  3133. //
  3134. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSecurityGroups
  3135. func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSecurityGroupsInput) (req *request.Request, output *DescribeClusterSecurityGroupsOutput) {
  3136. op := &request.Operation{
  3137. Name: opDescribeClusterSecurityGroups,
  3138. HTTPMethod: "POST",
  3139. HTTPPath: "/",
  3140. Paginator: &request.Paginator{
  3141. InputTokens: []string{"Marker"},
  3142. OutputTokens: []string{"Marker"},
  3143. LimitToken: "MaxRecords",
  3144. TruncationToken: "",
  3145. },
  3146. }
  3147. if input == nil {
  3148. input = &DescribeClusterSecurityGroupsInput{}
  3149. }
  3150. output = &DescribeClusterSecurityGroupsOutput{}
  3151. req = c.newRequest(op, input, output)
  3152. return
  3153. }
  3154. // DescribeClusterSecurityGroups API operation for Amazon Redshift.
  3155. //
  3156. // Returns information about Amazon Redshift security groups. If the name of
  3157. // a security group is specified, the response will contain only information
  3158. // about only that security group.
  3159. //
  3160. // For information about managing security groups, go to Amazon Redshift Cluster
  3161. // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  3162. // in the Amazon Redshift Cluster Management Guide.
  3163. //
  3164. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  3165. // returns all security groups that match any combination of the specified keys
  3166. // and values. For example, if you have owner and environment for tag keys,
  3167. // and admin and test for tag values, all security groups that have any combination
  3168. // of those values are returned.
  3169. //
  3170. // If both tag keys and values are omitted from the request, security groups
  3171. // are returned regardless of whether they have tag keys or values associated
  3172. // with them.
  3173. //
  3174. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3175. // with awserr.Error's Code and Message methods to get detailed information about
  3176. // the error.
  3177. //
  3178. // See the AWS API reference guide for Amazon Redshift's
  3179. // API operation DescribeClusterSecurityGroups for usage and error information.
  3180. //
  3181. // Returned Error Codes:
  3182. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  3183. // The cluster security group name does not refer to an existing cluster security
  3184. // group.
  3185. //
  3186. // * ErrCodeInvalidTagFault "InvalidTagFault"
  3187. // The tag is invalid.
  3188. //
  3189. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSecurityGroups
  3190. func (c *Redshift) DescribeClusterSecurityGroups(input *DescribeClusterSecurityGroupsInput) (*DescribeClusterSecurityGroupsOutput, error) {
  3191. req, out := c.DescribeClusterSecurityGroupsRequest(input)
  3192. return out, req.Send()
  3193. }
  3194. // DescribeClusterSecurityGroupsWithContext is the same as DescribeClusterSecurityGroups with the addition of
  3195. // the ability to pass a context and additional request options.
  3196. //
  3197. // See DescribeClusterSecurityGroups for details on how to use this API operation.
  3198. //
  3199. // The context must be non-nil and will be used for request cancellation. If
  3200. // the context is nil a panic will occur. In the future the SDK may create
  3201. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3202. // for more information on using Contexts.
  3203. func (c *Redshift) DescribeClusterSecurityGroupsWithContext(ctx aws.Context, input *DescribeClusterSecurityGroupsInput, opts ...request.Option) (*DescribeClusterSecurityGroupsOutput, error) {
  3204. req, out := c.DescribeClusterSecurityGroupsRequest(input)
  3205. req.SetContext(ctx)
  3206. req.ApplyOptions(opts...)
  3207. return out, req.Send()
  3208. }
  3209. // DescribeClusterSecurityGroupsPages iterates over the pages of a DescribeClusterSecurityGroups operation,
  3210. // calling the "fn" function with the response data for each page. To stop
  3211. // iterating, return false from the fn function.
  3212. //
  3213. // See DescribeClusterSecurityGroups method for more information on how to use this operation.
  3214. //
  3215. // Note: This operation can generate multiple requests to a service.
  3216. //
  3217. // // Example iterating over at most 3 pages of a DescribeClusterSecurityGroups operation.
  3218. // pageNum := 0
  3219. // err := client.DescribeClusterSecurityGroupsPages(params,
  3220. // func(page *DescribeClusterSecurityGroupsOutput, lastPage bool) bool {
  3221. // pageNum++
  3222. // fmt.Println(page)
  3223. // return pageNum <= 3
  3224. // })
  3225. //
  3226. func (c *Redshift) DescribeClusterSecurityGroupsPages(input *DescribeClusterSecurityGroupsInput, fn func(*DescribeClusterSecurityGroupsOutput, bool) bool) error {
  3227. return c.DescribeClusterSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3228. }
  3229. // DescribeClusterSecurityGroupsPagesWithContext same as DescribeClusterSecurityGroupsPages except
  3230. // it takes a Context and allows setting request options on the pages.
  3231. //
  3232. // The context must be non-nil and will be used for request cancellation. If
  3233. // the context is nil a panic will occur. In the future the SDK may create
  3234. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3235. // for more information on using Contexts.
  3236. func (c *Redshift) DescribeClusterSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterSecurityGroupsInput, fn func(*DescribeClusterSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
  3237. p := request.Pagination{
  3238. NewRequest: func() (*request.Request, error) {
  3239. var inCpy *DescribeClusterSecurityGroupsInput
  3240. if input != nil {
  3241. tmp := *input
  3242. inCpy = &tmp
  3243. }
  3244. req, _ := c.DescribeClusterSecurityGroupsRequest(inCpy)
  3245. req.SetContext(ctx)
  3246. req.ApplyOptions(opts...)
  3247. return req, nil
  3248. },
  3249. }
  3250. cont := true
  3251. for p.Next() && cont {
  3252. cont = fn(p.Page().(*DescribeClusterSecurityGroupsOutput), !p.HasNextPage())
  3253. }
  3254. return p.Err()
  3255. }
  3256. const opDescribeClusterSnapshots = "DescribeClusterSnapshots"
  3257. // DescribeClusterSnapshotsRequest generates a "aws/request.Request" representing the
  3258. // client's request for the DescribeClusterSnapshots operation. The "output" return
  3259. // value will be populated with the request's response once the request completes
  3260. // successfully.
  3261. //
  3262. // Use "Send" method on the returned Request to send the API call to the service.
  3263. // the "output" return value is not valid until after Send returns without error.
  3264. //
  3265. // See DescribeClusterSnapshots for more information on using the DescribeClusterSnapshots
  3266. // API call, and error handling.
  3267. //
  3268. // This method is useful when you want to inject custom logic or configuration
  3269. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3270. //
  3271. //
  3272. // // Example sending a request using the DescribeClusterSnapshotsRequest method.
  3273. // req, resp := client.DescribeClusterSnapshotsRequest(params)
  3274. //
  3275. // err := req.Send()
  3276. // if err == nil { // resp is now filled
  3277. // fmt.Println(resp)
  3278. // }
  3279. //
  3280. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSnapshots
  3281. func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapshotsInput) (req *request.Request, output *DescribeClusterSnapshotsOutput) {
  3282. op := &request.Operation{
  3283. Name: opDescribeClusterSnapshots,
  3284. HTTPMethod: "POST",
  3285. HTTPPath: "/",
  3286. Paginator: &request.Paginator{
  3287. InputTokens: []string{"Marker"},
  3288. OutputTokens: []string{"Marker"},
  3289. LimitToken: "MaxRecords",
  3290. TruncationToken: "",
  3291. },
  3292. }
  3293. if input == nil {
  3294. input = &DescribeClusterSnapshotsInput{}
  3295. }
  3296. output = &DescribeClusterSnapshotsOutput{}
  3297. req = c.newRequest(op, input, output)
  3298. return
  3299. }
  3300. // DescribeClusterSnapshots API operation for Amazon Redshift.
  3301. //
  3302. // Returns one or more snapshot objects, which contain metadata about your cluster
  3303. // snapshots. By default, this operation returns information about all snapshots
  3304. // of all clusters that are owned by you AWS customer account. No information
  3305. // is returned for snapshots owned by inactive AWS customer accounts.
  3306. //
  3307. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  3308. // returns all snapshots that match any combination of the specified keys and
  3309. // values. For example, if you have owner and environment for tag keys, and
  3310. // admin and test for tag values, all snapshots that have any combination of
  3311. // those values are returned. Only snapshots that you own are returned in the
  3312. // response; shared snapshots are not returned with the tag key and tag value
  3313. // request parameters.
  3314. //
  3315. // If both tag keys and values are omitted from the request, snapshots are returned
  3316. // regardless of whether they have tag keys or values associated with them.
  3317. //
  3318. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3319. // with awserr.Error's Code and Message methods to get detailed information about
  3320. // the error.
  3321. //
  3322. // See the AWS API reference guide for Amazon Redshift's
  3323. // API operation DescribeClusterSnapshots for usage and error information.
  3324. //
  3325. // Returned Error Codes:
  3326. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  3327. // The ClusterIdentifier parameter does not refer to an existing cluster.
  3328. //
  3329. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  3330. // The snapshot identifier does not refer to an existing cluster snapshot.
  3331. //
  3332. // * ErrCodeInvalidTagFault "InvalidTagFault"
  3333. // The tag is invalid.
  3334. //
  3335. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSnapshots
  3336. func (c *Redshift) DescribeClusterSnapshots(input *DescribeClusterSnapshotsInput) (*DescribeClusterSnapshotsOutput, error) {
  3337. req, out := c.DescribeClusterSnapshotsRequest(input)
  3338. return out, req.Send()
  3339. }
  3340. // DescribeClusterSnapshotsWithContext is the same as DescribeClusterSnapshots with the addition of
  3341. // the ability to pass a context and additional request options.
  3342. //
  3343. // See DescribeClusterSnapshots for details on how to use this API operation.
  3344. //
  3345. // The context must be non-nil and will be used for request cancellation. If
  3346. // the context is nil a panic will occur. In the future the SDK may create
  3347. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3348. // for more information on using Contexts.
  3349. func (c *Redshift) DescribeClusterSnapshotsWithContext(ctx aws.Context, input *DescribeClusterSnapshotsInput, opts ...request.Option) (*DescribeClusterSnapshotsOutput, error) {
  3350. req, out := c.DescribeClusterSnapshotsRequest(input)
  3351. req.SetContext(ctx)
  3352. req.ApplyOptions(opts...)
  3353. return out, req.Send()
  3354. }
  3355. // DescribeClusterSnapshotsPages iterates over the pages of a DescribeClusterSnapshots operation,
  3356. // calling the "fn" function with the response data for each page. To stop
  3357. // iterating, return false from the fn function.
  3358. //
  3359. // See DescribeClusterSnapshots method for more information on how to use this operation.
  3360. //
  3361. // Note: This operation can generate multiple requests to a service.
  3362. //
  3363. // // Example iterating over at most 3 pages of a DescribeClusterSnapshots operation.
  3364. // pageNum := 0
  3365. // err := client.DescribeClusterSnapshotsPages(params,
  3366. // func(page *DescribeClusterSnapshotsOutput, lastPage bool) bool {
  3367. // pageNum++
  3368. // fmt.Println(page)
  3369. // return pageNum <= 3
  3370. // })
  3371. //
  3372. func (c *Redshift) DescribeClusterSnapshotsPages(input *DescribeClusterSnapshotsInput, fn func(*DescribeClusterSnapshotsOutput, bool) bool) error {
  3373. return c.DescribeClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  3374. }
  3375. // DescribeClusterSnapshotsPagesWithContext same as DescribeClusterSnapshotsPages except
  3376. // it takes a Context and allows setting request options on the pages.
  3377. //
  3378. // The context must be non-nil and will be used for request cancellation. If
  3379. // the context is nil a panic will occur. In the future the SDK may create
  3380. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3381. // for more information on using Contexts.
  3382. func (c *Redshift) DescribeClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeClusterSnapshotsInput, fn func(*DescribeClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
  3383. p := request.Pagination{
  3384. NewRequest: func() (*request.Request, error) {
  3385. var inCpy *DescribeClusterSnapshotsInput
  3386. if input != nil {
  3387. tmp := *input
  3388. inCpy = &tmp
  3389. }
  3390. req, _ := c.DescribeClusterSnapshotsRequest(inCpy)
  3391. req.SetContext(ctx)
  3392. req.ApplyOptions(opts...)
  3393. return req, nil
  3394. },
  3395. }
  3396. cont := true
  3397. for p.Next() && cont {
  3398. cont = fn(p.Page().(*DescribeClusterSnapshotsOutput), !p.HasNextPage())
  3399. }
  3400. return p.Err()
  3401. }
  3402. const opDescribeClusterSubnetGroups = "DescribeClusterSubnetGroups"
  3403. // DescribeClusterSubnetGroupsRequest generates a "aws/request.Request" representing the
  3404. // client's request for the DescribeClusterSubnetGroups operation. The "output" return
  3405. // value will be populated with the request's response once the request completes
  3406. // successfully.
  3407. //
  3408. // Use "Send" method on the returned Request to send the API call to the service.
  3409. // the "output" return value is not valid until after Send returns without error.
  3410. //
  3411. // See DescribeClusterSubnetGroups for more information on using the DescribeClusterSubnetGroups
  3412. // API call, and error handling.
  3413. //
  3414. // This method is useful when you want to inject custom logic or configuration
  3415. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3416. //
  3417. //
  3418. // // Example sending a request using the DescribeClusterSubnetGroupsRequest method.
  3419. // req, resp := client.DescribeClusterSubnetGroupsRequest(params)
  3420. //
  3421. // err := req.Send()
  3422. // if err == nil { // resp is now filled
  3423. // fmt.Println(resp)
  3424. // }
  3425. //
  3426. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSubnetGroups
  3427. func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubnetGroupsInput) (req *request.Request, output *DescribeClusterSubnetGroupsOutput) {
  3428. op := &request.Operation{
  3429. Name: opDescribeClusterSubnetGroups,
  3430. HTTPMethod: "POST",
  3431. HTTPPath: "/",
  3432. Paginator: &request.Paginator{
  3433. InputTokens: []string{"Marker"},
  3434. OutputTokens: []string{"Marker"},
  3435. LimitToken: "MaxRecords",
  3436. TruncationToken: "",
  3437. },
  3438. }
  3439. if input == nil {
  3440. input = &DescribeClusterSubnetGroupsInput{}
  3441. }
  3442. output = &DescribeClusterSubnetGroupsOutput{}
  3443. req = c.newRequest(op, input, output)
  3444. return
  3445. }
  3446. // DescribeClusterSubnetGroups API operation for Amazon Redshift.
  3447. //
  3448. // Returns one or more cluster subnet group objects, which contain metadata
  3449. // about your cluster subnet groups. By default, this operation returns information
  3450. // about all cluster subnet groups that are defined in you AWS account.
  3451. //
  3452. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  3453. // returns all subnet groups that match any combination of the specified keys
  3454. // and values. For example, if you have owner and environment for tag keys,
  3455. // and admin and test for tag values, all subnet groups that have any combination
  3456. // of those values are returned.
  3457. //
  3458. // If both tag keys and values are omitted from the request, subnet groups are
  3459. // returned regardless of whether they have tag keys or values associated with
  3460. // them.
  3461. //
  3462. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3463. // with awserr.Error's Code and Message methods to get detailed information about
  3464. // the error.
  3465. //
  3466. // See the AWS API reference guide for Amazon Redshift's
  3467. // API operation DescribeClusterSubnetGroups for usage and error information.
  3468. //
  3469. // Returned Error Codes:
  3470. // * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  3471. // The cluster subnet group name does not refer to an existing cluster subnet
  3472. // group.
  3473. //
  3474. // * ErrCodeInvalidTagFault "InvalidTagFault"
  3475. // The tag is invalid.
  3476. //
  3477. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSubnetGroups
  3478. func (c *Redshift) DescribeClusterSubnetGroups(input *DescribeClusterSubnetGroupsInput) (*DescribeClusterSubnetGroupsOutput, error) {
  3479. req, out := c.DescribeClusterSubnetGroupsRequest(input)
  3480. return out, req.Send()
  3481. }
  3482. // DescribeClusterSubnetGroupsWithContext is the same as DescribeClusterSubnetGroups with the addition of
  3483. // the ability to pass a context and additional request options.
  3484. //
  3485. // See DescribeClusterSubnetGroups for details on how to use this API operation.
  3486. //
  3487. // The context must be non-nil and will be used for request cancellation. If
  3488. // the context is nil a panic will occur. In the future the SDK may create
  3489. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3490. // for more information on using Contexts.
  3491. func (c *Redshift) DescribeClusterSubnetGroupsWithContext(ctx aws.Context, input *DescribeClusterSubnetGroupsInput, opts ...request.Option) (*DescribeClusterSubnetGroupsOutput, error) {
  3492. req, out := c.DescribeClusterSubnetGroupsRequest(input)
  3493. req.SetContext(ctx)
  3494. req.ApplyOptions(opts...)
  3495. return out, req.Send()
  3496. }
  3497. // DescribeClusterSubnetGroupsPages iterates over the pages of a DescribeClusterSubnetGroups operation,
  3498. // calling the "fn" function with the response data for each page. To stop
  3499. // iterating, return false from the fn function.
  3500. //
  3501. // See DescribeClusterSubnetGroups method for more information on how to use this operation.
  3502. //
  3503. // Note: This operation can generate multiple requests to a service.
  3504. //
  3505. // // Example iterating over at most 3 pages of a DescribeClusterSubnetGroups operation.
  3506. // pageNum := 0
  3507. // err := client.DescribeClusterSubnetGroupsPages(params,
  3508. // func(page *DescribeClusterSubnetGroupsOutput, lastPage bool) bool {
  3509. // pageNum++
  3510. // fmt.Println(page)
  3511. // return pageNum <= 3
  3512. // })
  3513. //
  3514. func (c *Redshift) DescribeClusterSubnetGroupsPages(input *DescribeClusterSubnetGroupsInput, fn func(*DescribeClusterSubnetGroupsOutput, bool) bool) error {
  3515. return c.DescribeClusterSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3516. }
  3517. // DescribeClusterSubnetGroupsPagesWithContext same as DescribeClusterSubnetGroupsPages except
  3518. // it takes a Context and allows setting request options on the pages.
  3519. //
  3520. // The context must be non-nil and will be used for request cancellation. If
  3521. // the context is nil a panic will occur. In the future the SDK may create
  3522. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3523. // for more information on using Contexts.
  3524. func (c *Redshift) DescribeClusterSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterSubnetGroupsInput, fn func(*DescribeClusterSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
  3525. p := request.Pagination{
  3526. NewRequest: func() (*request.Request, error) {
  3527. var inCpy *DescribeClusterSubnetGroupsInput
  3528. if input != nil {
  3529. tmp := *input
  3530. inCpy = &tmp
  3531. }
  3532. req, _ := c.DescribeClusterSubnetGroupsRequest(inCpy)
  3533. req.SetContext(ctx)
  3534. req.ApplyOptions(opts...)
  3535. return req, nil
  3536. },
  3537. }
  3538. cont := true
  3539. for p.Next() && cont {
  3540. cont = fn(p.Page().(*DescribeClusterSubnetGroupsOutput), !p.HasNextPage())
  3541. }
  3542. return p.Err()
  3543. }
  3544. const opDescribeClusterTracks = "DescribeClusterTracks"
  3545. // DescribeClusterTracksRequest generates a "aws/request.Request" representing the
  3546. // client's request for the DescribeClusterTracks operation. The "output" return
  3547. // value will be populated with the request's response once the request completes
  3548. // successfully.
  3549. //
  3550. // Use "Send" method on the returned Request to send the API call to the service.
  3551. // the "output" return value is not valid until after Send returns without error.
  3552. //
  3553. // See DescribeClusterTracks for more information on using the DescribeClusterTracks
  3554. // API call, and error handling.
  3555. //
  3556. // This method is useful when you want to inject custom logic or configuration
  3557. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3558. //
  3559. //
  3560. // // Example sending a request using the DescribeClusterTracksRequest method.
  3561. // req, resp := client.DescribeClusterTracksRequest(params)
  3562. //
  3563. // err := req.Send()
  3564. // if err == nil { // resp is now filled
  3565. // fmt.Println(resp)
  3566. // }
  3567. //
  3568. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterTracks
  3569. func (c *Redshift) DescribeClusterTracksRequest(input *DescribeClusterTracksInput) (req *request.Request, output *DescribeClusterTracksOutput) {
  3570. op := &request.Operation{
  3571. Name: opDescribeClusterTracks,
  3572. HTTPMethod: "POST",
  3573. HTTPPath: "/",
  3574. }
  3575. if input == nil {
  3576. input = &DescribeClusterTracksInput{}
  3577. }
  3578. output = &DescribeClusterTracksOutput{}
  3579. req = c.newRequest(op, input, output)
  3580. return
  3581. }
  3582. // DescribeClusterTracks API operation for Amazon Redshift.
  3583. //
  3584. // Returns a list of all the available maintenance tracks.
  3585. //
  3586. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3587. // with awserr.Error's Code and Message methods to get detailed information about
  3588. // the error.
  3589. //
  3590. // See the AWS API reference guide for Amazon Redshift's
  3591. // API operation DescribeClusterTracks for usage and error information.
  3592. //
  3593. // Returned Error Codes:
  3594. // * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack"
  3595. // The provided cluster track name is not valid.
  3596. //
  3597. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  3598. // Your account is not authorized to perform the requested operation.
  3599. //
  3600. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterTracks
  3601. func (c *Redshift) DescribeClusterTracks(input *DescribeClusterTracksInput) (*DescribeClusterTracksOutput, error) {
  3602. req, out := c.DescribeClusterTracksRequest(input)
  3603. return out, req.Send()
  3604. }
  3605. // DescribeClusterTracksWithContext is the same as DescribeClusterTracks with the addition of
  3606. // the ability to pass a context and additional request options.
  3607. //
  3608. // See DescribeClusterTracks for details on how to use this API operation.
  3609. //
  3610. // The context must be non-nil and will be used for request cancellation. If
  3611. // the context is nil a panic will occur. In the future the SDK may create
  3612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3613. // for more information on using Contexts.
  3614. func (c *Redshift) DescribeClusterTracksWithContext(ctx aws.Context, input *DescribeClusterTracksInput, opts ...request.Option) (*DescribeClusterTracksOutput, error) {
  3615. req, out := c.DescribeClusterTracksRequest(input)
  3616. req.SetContext(ctx)
  3617. req.ApplyOptions(opts...)
  3618. return out, req.Send()
  3619. }
  3620. const opDescribeClusterVersions = "DescribeClusterVersions"
  3621. // DescribeClusterVersionsRequest generates a "aws/request.Request" representing the
  3622. // client's request for the DescribeClusterVersions operation. The "output" return
  3623. // value will be populated with the request's response once the request completes
  3624. // successfully.
  3625. //
  3626. // Use "Send" method on the returned Request to send the API call to the service.
  3627. // the "output" return value is not valid until after Send returns without error.
  3628. //
  3629. // See DescribeClusterVersions for more information on using the DescribeClusterVersions
  3630. // API call, and error handling.
  3631. //
  3632. // This method is useful when you want to inject custom logic or configuration
  3633. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3634. //
  3635. //
  3636. // // Example sending a request using the DescribeClusterVersionsRequest method.
  3637. // req, resp := client.DescribeClusterVersionsRequest(params)
  3638. //
  3639. // err := req.Send()
  3640. // if err == nil { // resp is now filled
  3641. // fmt.Println(resp)
  3642. // }
  3643. //
  3644. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterVersions
  3645. func (c *Redshift) DescribeClusterVersionsRequest(input *DescribeClusterVersionsInput) (req *request.Request, output *DescribeClusterVersionsOutput) {
  3646. op := &request.Operation{
  3647. Name: opDescribeClusterVersions,
  3648. HTTPMethod: "POST",
  3649. HTTPPath: "/",
  3650. Paginator: &request.Paginator{
  3651. InputTokens: []string{"Marker"},
  3652. OutputTokens: []string{"Marker"},
  3653. LimitToken: "MaxRecords",
  3654. TruncationToken: "",
  3655. },
  3656. }
  3657. if input == nil {
  3658. input = &DescribeClusterVersionsInput{}
  3659. }
  3660. output = &DescribeClusterVersionsOutput{}
  3661. req = c.newRequest(op, input, output)
  3662. return
  3663. }
  3664. // DescribeClusterVersions API operation for Amazon Redshift.
  3665. //
  3666. // Returns descriptions of the available Amazon Redshift cluster versions. You
  3667. // can call this operation even before creating any clusters to learn more about
  3668. // the Amazon Redshift versions. For more information about managing clusters,
  3669. // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  3670. // in the Amazon Redshift Cluster Management Guide.
  3671. //
  3672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3673. // with awserr.Error's Code and Message methods to get detailed information about
  3674. // the error.
  3675. //
  3676. // See the AWS API reference guide for Amazon Redshift's
  3677. // API operation DescribeClusterVersions for usage and error information.
  3678. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterVersions
  3679. func (c *Redshift) DescribeClusterVersions(input *DescribeClusterVersionsInput) (*DescribeClusterVersionsOutput, error) {
  3680. req, out := c.DescribeClusterVersionsRequest(input)
  3681. return out, req.Send()
  3682. }
  3683. // DescribeClusterVersionsWithContext is the same as DescribeClusterVersions with the addition of
  3684. // the ability to pass a context and additional request options.
  3685. //
  3686. // See DescribeClusterVersions for details on how to use this API operation.
  3687. //
  3688. // The context must be non-nil and will be used for request cancellation. If
  3689. // the context is nil a panic will occur. In the future the SDK may create
  3690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3691. // for more information on using Contexts.
  3692. func (c *Redshift) DescribeClusterVersionsWithContext(ctx aws.Context, input *DescribeClusterVersionsInput, opts ...request.Option) (*DescribeClusterVersionsOutput, error) {
  3693. req, out := c.DescribeClusterVersionsRequest(input)
  3694. req.SetContext(ctx)
  3695. req.ApplyOptions(opts...)
  3696. return out, req.Send()
  3697. }
  3698. // DescribeClusterVersionsPages iterates over the pages of a DescribeClusterVersions operation,
  3699. // calling the "fn" function with the response data for each page. To stop
  3700. // iterating, return false from the fn function.
  3701. //
  3702. // See DescribeClusterVersions method for more information on how to use this operation.
  3703. //
  3704. // Note: This operation can generate multiple requests to a service.
  3705. //
  3706. // // Example iterating over at most 3 pages of a DescribeClusterVersions operation.
  3707. // pageNum := 0
  3708. // err := client.DescribeClusterVersionsPages(params,
  3709. // func(page *DescribeClusterVersionsOutput, lastPage bool) bool {
  3710. // pageNum++
  3711. // fmt.Println(page)
  3712. // return pageNum <= 3
  3713. // })
  3714. //
  3715. func (c *Redshift) DescribeClusterVersionsPages(input *DescribeClusterVersionsInput, fn func(*DescribeClusterVersionsOutput, bool) bool) error {
  3716. return c.DescribeClusterVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3717. }
  3718. // DescribeClusterVersionsPagesWithContext same as DescribeClusterVersionsPages except
  3719. // it takes a Context and allows setting request options on the pages.
  3720. //
  3721. // The context must be non-nil and will be used for request cancellation. If
  3722. // the context is nil a panic will occur. In the future the SDK may create
  3723. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3724. // for more information on using Contexts.
  3725. func (c *Redshift) DescribeClusterVersionsPagesWithContext(ctx aws.Context, input *DescribeClusterVersionsInput, fn func(*DescribeClusterVersionsOutput, bool) bool, opts ...request.Option) error {
  3726. p := request.Pagination{
  3727. NewRequest: func() (*request.Request, error) {
  3728. var inCpy *DescribeClusterVersionsInput
  3729. if input != nil {
  3730. tmp := *input
  3731. inCpy = &tmp
  3732. }
  3733. req, _ := c.DescribeClusterVersionsRequest(inCpy)
  3734. req.SetContext(ctx)
  3735. req.ApplyOptions(opts...)
  3736. return req, nil
  3737. },
  3738. }
  3739. cont := true
  3740. for p.Next() && cont {
  3741. cont = fn(p.Page().(*DescribeClusterVersionsOutput), !p.HasNextPage())
  3742. }
  3743. return p.Err()
  3744. }
  3745. const opDescribeClusters = "DescribeClusters"
  3746. // DescribeClustersRequest generates a "aws/request.Request" representing the
  3747. // client's request for the DescribeClusters operation. The "output" return
  3748. // value will be populated with the request's response once the request completes
  3749. // successfully.
  3750. //
  3751. // Use "Send" method on the returned Request to send the API call to the service.
  3752. // the "output" return value is not valid until after Send returns without error.
  3753. //
  3754. // See DescribeClusters for more information on using the DescribeClusters
  3755. // API call, and error handling.
  3756. //
  3757. // This method is useful when you want to inject custom logic or configuration
  3758. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3759. //
  3760. //
  3761. // // Example sending a request using the DescribeClustersRequest method.
  3762. // req, resp := client.DescribeClustersRequest(params)
  3763. //
  3764. // err := req.Send()
  3765. // if err == nil { // resp is now filled
  3766. // fmt.Println(resp)
  3767. // }
  3768. //
  3769. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusters
  3770. func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
  3771. op := &request.Operation{
  3772. Name: opDescribeClusters,
  3773. HTTPMethod: "POST",
  3774. HTTPPath: "/",
  3775. Paginator: &request.Paginator{
  3776. InputTokens: []string{"Marker"},
  3777. OutputTokens: []string{"Marker"},
  3778. LimitToken: "MaxRecords",
  3779. TruncationToken: "",
  3780. },
  3781. }
  3782. if input == nil {
  3783. input = &DescribeClustersInput{}
  3784. }
  3785. output = &DescribeClustersOutput{}
  3786. req = c.newRequest(op, input, output)
  3787. return
  3788. }
  3789. // DescribeClusters API operation for Amazon Redshift.
  3790. //
  3791. // Returns properties of provisioned clusters including general cluster properties,
  3792. // cluster database properties, maintenance and backup properties, and security
  3793. // and access properties. This operation supports pagination. For more information
  3794. // about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  3795. // in the Amazon Redshift Cluster Management Guide.
  3796. //
  3797. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  3798. // returns all clusters that match any combination of the specified keys and
  3799. // values. For example, if you have owner and environment for tag keys, and
  3800. // admin and test for tag values, all clusters that have any combination of
  3801. // those values are returned.
  3802. //
  3803. // If both tag keys and values are omitted from the request, clusters are returned
  3804. // regardless of whether they have tag keys or values associated with them.
  3805. //
  3806. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3807. // with awserr.Error's Code and Message methods to get detailed information about
  3808. // the error.
  3809. //
  3810. // See the AWS API reference guide for Amazon Redshift's
  3811. // API operation DescribeClusters for usage and error information.
  3812. //
  3813. // Returned Error Codes:
  3814. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  3815. // The ClusterIdentifier parameter does not refer to an existing cluster.
  3816. //
  3817. // * ErrCodeInvalidTagFault "InvalidTagFault"
  3818. // The tag is invalid.
  3819. //
  3820. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusters
  3821. func (c *Redshift) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
  3822. req, out := c.DescribeClustersRequest(input)
  3823. return out, req.Send()
  3824. }
  3825. // DescribeClustersWithContext is the same as DescribeClusters with the addition of
  3826. // the ability to pass a context and additional request options.
  3827. //
  3828. // See DescribeClusters for details on how to use this API operation.
  3829. //
  3830. // The context must be non-nil and will be used for request cancellation. If
  3831. // the context is nil a panic will occur. In the future the SDK may create
  3832. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3833. // for more information on using Contexts.
  3834. func (c *Redshift) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) {
  3835. req, out := c.DescribeClustersRequest(input)
  3836. req.SetContext(ctx)
  3837. req.ApplyOptions(opts...)
  3838. return out, req.Send()
  3839. }
  3840. // DescribeClustersPages iterates over the pages of a DescribeClusters operation,
  3841. // calling the "fn" function with the response data for each page. To stop
  3842. // iterating, return false from the fn function.
  3843. //
  3844. // See DescribeClusters method for more information on how to use this operation.
  3845. //
  3846. // Note: This operation can generate multiple requests to a service.
  3847. //
  3848. // // Example iterating over at most 3 pages of a DescribeClusters operation.
  3849. // pageNum := 0
  3850. // err := client.DescribeClustersPages(params,
  3851. // func(page *DescribeClustersOutput, lastPage bool) bool {
  3852. // pageNum++
  3853. // fmt.Println(page)
  3854. // return pageNum <= 3
  3855. // })
  3856. //
  3857. func (c *Redshift) DescribeClustersPages(input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool) error {
  3858. return c.DescribeClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  3859. }
  3860. // DescribeClustersPagesWithContext same as DescribeClustersPages except
  3861. // it takes a Context and allows setting request options on the pages.
  3862. //
  3863. // The context must be non-nil and will be used for request cancellation. If
  3864. // the context is nil a panic will occur. In the future the SDK may create
  3865. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3866. // for more information on using Contexts.
  3867. func (c *Redshift) DescribeClustersPagesWithContext(ctx aws.Context, input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool, opts ...request.Option) error {
  3868. p := request.Pagination{
  3869. NewRequest: func() (*request.Request, error) {
  3870. var inCpy *DescribeClustersInput
  3871. if input != nil {
  3872. tmp := *input
  3873. inCpy = &tmp
  3874. }
  3875. req, _ := c.DescribeClustersRequest(inCpy)
  3876. req.SetContext(ctx)
  3877. req.ApplyOptions(opts...)
  3878. return req, nil
  3879. },
  3880. }
  3881. cont := true
  3882. for p.Next() && cont {
  3883. cont = fn(p.Page().(*DescribeClustersOutput), !p.HasNextPage())
  3884. }
  3885. return p.Err()
  3886. }
  3887. const opDescribeDefaultClusterParameters = "DescribeDefaultClusterParameters"
  3888. // DescribeDefaultClusterParametersRequest generates a "aws/request.Request" representing the
  3889. // client's request for the DescribeDefaultClusterParameters operation. The "output" return
  3890. // value will be populated with the request's response once the request completes
  3891. // successfully.
  3892. //
  3893. // Use "Send" method on the returned Request to send the API call to the service.
  3894. // the "output" return value is not valid until after Send returns without error.
  3895. //
  3896. // See DescribeDefaultClusterParameters for more information on using the DescribeDefaultClusterParameters
  3897. // API call, and error handling.
  3898. //
  3899. // This method is useful when you want to inject custom logic or configuration
  3900. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3901. //
  3902. //
  3903. // // Example sending a request using the DescribeDefaultClusterParametersRequest method.
  3904. // req, resp := client.DescribeDefaultClusterParametersRequest(params)
  3905. //
  3906. // err := req.Send()
  3907. // if err == nil { // resp is now filled
  3908. // fmt.Println(resp)
  3909. // }
  3910. //
  3911. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeDefaultClusterParameters
  3912. func (c *Redshift) DescribeDefaultClusterParametersRequest(input *DescribeDefaultClusterParametersInput) (req *request.Request, output *DescribeDefaultClusterParametersOutput) {
  3913. op := &request.Operation{
  3914. Name: opDescribeDefaultClusterParameters,
  3915. HTTPMethod: "POST",
  3916. HTTPPath: "/",
  3917. Paginator: &request.Paginator{
  3918. InputTokens: []string{"Marker"},
  3919. OutputTokens: []string{"DefaultClusterParameters.Marker"},
  3920. LimitToken: "MaxRecords",
  3921. TruncationToken: "",
  3922. },
  3923. }
  3924. if input == nil {
  3925. input = &DescribeDefaultClusterParametersInput{}
  3926. }
  3927. output = &DescribeDefaultClusterParametersOutput{}
  3928. req = c.newRequest(op, input, output)
  3929. return
  3930. }
  3931. // DescribeDefaultClusterParameters API operation for Amazon Redshift.
  3932. //
  3933. // Returns a list of parameter settings for the specified parameter group family.
  3934. //
  3935. // For more information about parameters and parameter groups, go to Amazon
  3936. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  3937. // in the Amazon Redshift Cluster Management Guide.
  3938. //
  3939. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3940. // with awserr.Error's Code and Message methods to get detailed information about
  3941. // the error.
  3942. //
  3943. // See the AWS API reference guide for Amazon Redshift's
  3944. // API operation DescribeDefaultClusterParameters for usage and error information.
  3945. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeDefaultClusterParameters
  3946. func (c *Redshift) DescribeDefaultClusterParameters(input *DescribeDefaultClusterParametersInput) (*DescribeDefaultClusterParametersOutput, error) {
  3947. req, out := c.DescribeDefaultClusterParametersRequest(input)
  3948. return out, req.Send()
  3949. }
  3950. // DescribeDefaultClusterParametersWithContext is the same as DescribeDefaultClusterParameters with the addition of
  3951. // the ability to pass a context and additional request options.
  3952. //
  3953. // See DescribeDefaultClusterParameters for details on how to use this API operation.
  3954. //
  3955. // The context must be non-nil and will be used for request cancellation. If
  3956. // the context is nil a panic will occur. In the future the SDK may create
  3957. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3958. // for more information on using Contexts.
  3959. func (c *Redshift) DescribeDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeDefaultClusterParametersInput, opts ...request.Option) (*DescribeDefaultClusterParametersOutput, error) {
  3960. req, out := c.DescribeDefaultClusterParametersRequest(input)
  3961. req.SetContext(ctx)
  3962. req.ApplyOptions(opts...)
  3963. return out, req.Send()
  3964. }
  3965. // DescribeDefaultClusterParametersPages iterates over the pages of a DescribeDefaultClusterParameters operation,
  3966. // calling the "fn" function with the response data for each page. To stop
  3967. // iterating, return false from the fn function.
  3968. //
  3969. // See DescribeDefaultClusterParameters method for more information on how to use this operation.
  3970. //
  3971. // Note: This operation can generate multiple requests to a service.
  3972. //
  3973. // // Example iterating over at most 3 pages of a DescribeDefaultClusterParameters operation.
  3974. // pageNum := 0
  3975. // err := client.DescribeDefaultClusterParametersPages(params,
  3976. // func(page *DescribeDefaultClusterParametersOutput, lastPage bool) bool {
  3977. // pageNum++
  3978. // fmt.Println(page)
  3979. // return pageNum <= 3
  3980. // })
  3981. //
  3982. func (c *Redshift) DescribeDefaultClusterParametersPages(input *DescribeDefaultClusterParametersInput, fn func(*DescribeDefaultClusterParametersOutput, bool) bool) error {
  3983. return c.DescribeDefaultClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  3984. }
  3985. // DescribeDefaultClusterParametersPagesWithContext same as DescribeDefaultClusterParametersPages except
  3986. // it takes a Context and allows setting request options on the pages.
  3987. //
  3988. // The context must be non-nil and will be used for request cancellation. If
  3989. // the context is nil a panic will occur. In the future the SDK may create
  3990. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3991. // for more information on using Contexts.
  3992. func (c *Redshift) DescribeDefaultClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDefaultClusterParametersInput, fn func(*DescribeDefaultClusterParametersOutput, bool) bool, opts ...request.Option) error {
  3993. p := request.Pagination{
  3994. NewRequest: func() (*request.Request, error) {
  3995. var inCpy *DescribeDefaultClusterParametersInput
  3996. if input != nil {
  3997. tmp := *input
  3998. inCpy = &tmp
  3999. }
  4000. req, _ := c.DescribeDefaultClusterParametersRequest(inCpy)
  4001. req.SetContext(ctx)
  4002. req.ApplyOptions(opts...)
  4003. return req, nil
  4004. },
  4005. }
  4006. cont := true
  4007. for p.Next() && cont {
  4008. cont = fn(p.Page().(*DescribeDefaultClusterParametersOutput), !p.HasNextPage())
  4009. }
  4010. return p.Err()
  4011. }
  4012. const opDescribeEventCategories = "DescribeEventCategories"
  4013. // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
  4014. // client's request for the DescribeEventCategories operation. The "output" return
  4015. // value will be populated with the request's response once the request completes
  4016. // successfully.
  4017. //
  4018. // Use "Send" method on the returned Request to send the API call to the service.
  4019. // the "output" return value is not valid until after Send returns without error.
  4020. //
  4021. // See DescribeEventCategories for more information on using the DescribeEventCategories
  4022. // API call, and error handling.
  4023. //
  4024. // This method is useful when you want to inject custom logic or configuration
  4025. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4026. //
  4027. //
  4028. // // Example sending a request using the DescribeEventCategoriesRequest method.
  4029. // req, resp := client.DescribeEventCategoriesRequest(params)
  4030. //
  4031. // err := req.Send()
  4032. // if err == nil { // resp is now filled
  4033. // fmt.Println(resp)
  4034. // }
  4035. //
  4036. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventCategories
  4037. func (c *Redshift) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
  4038. op := &request.Operation{
  4039. Name: opDescribeEventCategories,
  4040. HTTPMethod: "POST",
  4041. HTTPPath: "/",
  4042. }
  4043. if input == nil {
  4044. input = &DescribeEventCategoriesInput{}
  4045. }
  4046. output = &DescribeEventCategoriesOutput{}
  4047. req = c.newRequest(op, input, output)
  4048. return
  4049. }
  4050. // DescribeEventCategories API operation for Amazon Redshift.
  4051. //
  4052. // Displays a list of event categories for all event source types, or for a
  4053. // specified source type. For a list of the event categories and source types,
  4054. // go to Amazon Redshift Event Notifications (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html).
  4055. //
  4056. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4057. // with awserr.Error's Code and Message methods to get detailed information about
  4058. // the error.
  4059. //
  4060. // See the AWS API reference guide for Amazon Redshift's
  4061. // API operation DescribeEventCategories for usage and error information.
  4062. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventCategories
  4063. func (c *Redshift) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
  4064. req, out := c.DescribeEventCategoriesRequest(input)
  4065. return out, req.Send()
  4066. }
  4067. // DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
  4068. // the ability to pass a context and additional request options.
  4069. //
  4070. // See DescribeEventCategories for details on how to use this API operation.
  4071. //
  4072. // The context must be non-nil and will be used for request cancellation. If
  4073. // the context is nil a panic will occur. In the future the SDK may create
  4074. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4075. // for more information on using Contexts.
  4076. func (c *Redshift) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
  4077. req, out := c.DescribeEventCategoriesRequest(input)
  4078. req.SetContext(ctx)
  4079. req.ApplyOptions(opts...)
  4080. return out, req.Send()
  4081. }
  4082. const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
  4083. // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
  4084. // client's request for the DescribeEventSubscriptions operation. The "output" return
  4085. // value will be populated with the request's response once the request completes
  4086. // successfully.
  4087. //
  4088. // Use "Send" method on the returned Request to send the API call to the service.
  4089. // the "output" return value is not valid until after Send returns without error.
  4090. //
  4091. // See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
  4092. // API call, and error handling.
  4093. //
  4094. // This method is useful when you want to inject custom logic or configuration
  4095. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4096. //
  4097. //
  4098. // // Example sending a request using the DescribeEventSubscriptionsRequest method.
  4099. // req, resp := client.DescribeEventSubscriptionsRequest(params)
  4100. //
  4101. // err := req.Send()
  4102. // if err == nil { // resp is now filled
  4103. // fmt.Println(resp)
  4104. // }
  4105. //
  4106. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventSubscriptions
  4107. func (c *Redshift) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
  4108. op := &request.Operation{
  4109. Name: opDescribeEventSubscriptions,
  4110. HTTPMethod: "POST",
  4111. HTTPPath: "/",
  4112. Paginator: &request.Paginator{
  4113. InputTokens: []string{"Marker"},
  4114. OutputTokens: []string{"Marker"},
  4115. LimitToken: "MaxRecords",
  4116. TruncationToken: "",
  4117. },
  4118. }
  4119. if input == nil {
  4120. input = &DescribeEventSubscriptionsInput{}
  4121. }
  4122. output = &DescribeEventSubscriptionsOutput{}
  4123. req = c.newRequest(op, input, output)
  4124. return
  4125. }
  4126. // DescribeEventSubscriptions API operation for Amazon Redshift.
  4127. //
  4128. // Lists descriptions of all the Amazon Redshift event notification subscriptions
  4129. // for a customer account. If you specify a subscription name, lists the description
  4130. // for that subscription.
  4131. //
  4132. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  4133. // returns all event notification subscriptions that match any combination of
  4134. // the specified keys and values. For example, if you have owner and environment
  4135. // for tag keys, and admin and test for tag values, all subscriptions that have
  4136. // any combination of those values are returned.
  4137. //
  4138. // If both tag keys and values are omitted from the request, subscriptions are
  4139. // returned regardless of whether they have tag keys or values associated with
  4140. // them.
  4141. //
  4142. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4143. // with awserr.Error's Code and Message methods to get detailed information about
  4144. // the error.
  4145. //
  4146. // See the AWS API reference guide for Amazon Redshift's
  4147. // API operation DescribeEventSubscriptions for usage and error information.
  4148. //
  4149. // Returned Error Codes:
  4150. // * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  4151. // An Amazon Redshift event notification subscription with the specified name
  4152. // does not exist.
  4153. //
  4154. // * ErrCodeInvalidTagFault "InvalidTagFault"
  4155. // The tag is invalid.
  4156. //
  4157. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventSubscriptions
  4158. func (c *Redshift) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
  4159. req, out := c.DescribeEventSubscriptionsRequest(input)
  4160. return out, req.Send()
  4161. }
  4162. // DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
  4163. // the ability to pass a context and additional request options.
  4164. //
  4165. // See DescribeEventSubscriptions for details on how to use this API operation.
  4166. //
  4167. // The context must be non-nil and will be used for request cancellation. If
  4168. // the context is nil a panic will occur. In the future the SDK may create
  4169. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4170. // for more information on using Contexts.
  4171. func (c *Redshift) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
  4172. req, out := c.DescribeEventSubscriptionsRequest(input)
  4173. req.SetContext(ctx)
  4174. req.ApplyOptions(opts...)
  4175. return out, req.Send()
  4176. }
  4177. // DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
  4178. // calling the "fn" function with the response data for each page. To stop
  4179. // iterating, return false from the fn function.
  4180. //
  4181. // See DescribeEventSubscriptions method for more information on how to use this operation.
  4182. //
  4183. // Note: This operation can generate multiple requests to a service.
  4184. //
  4185. // // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
  4186. // pageNum := 0
  4187. // err := client.DescribeEventSubscriptionsPages(params,
  4188. // func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool {
  4189. // pageNum++
  4190. // fmt.Println(page)
  4191. // return pageNum <= 3
  4192. // })
  4193. //
  4194. func (c *Redshift) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
  4195. return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4196. }
  4197. // DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
  4198. // it takes a Context and allows setting request options on the pages.
  4199. //
  4200. // The context must be non-nil and will be used for request cancellation. If
  4201. // the context is nil a panic will occur. In the future the SDK may create
  4202. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4203. // for more information on using Contexts.
  4204. func (c *Redshift) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
  4205. p := request.Pagination{
  4206. NewRequest: func() (*request.Request, error) {
  4207. var inCpy *DescribeEventSubscriptionsInput
  4208. if input != nil {
  4209. tmp := *input
  4210. inCpy = &tmp
  4211. }
  4212. req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
  4213. req.SetContext(ctx)
  4214. req.ApplyOptions(opts...)
  4215. return req, nil
  4216. },
  4217. }
  4218. cont := true
  4219. for p.Next() && cont {
  4220. cont = fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage())
  4221. }
  4222. return p.Err()
  4223. }
  4224. const opDescribeEvents = "DescribeEvents"
  4225. // DescribeEventsRequest generates a "aws/request.Request" representing the
  4226. // client's request for the DescribeEvents operation. The "output" return
  4227. // value will be populated with the request's response once the request completes
  4228. // successfully.
  4229. //
  4230. // Use "Send" method on the returned Request to send the API call to the service.
  4231. // the "output" return value is not valid until after Send returns without error.
  4232. //
  4233. // See DescribeEvents for more information on using the DescribeEvents
  4234. // API call, and error handling.
  4235. //
  4236. // This method is useful when you want to inject custom logic or configuration
  4237. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4238. //
  4239. //
  4240. // // Example sending a request using the DescribeEventsRequest method.
  4241. // req, resp := client.DescribeEventsRequest(params)
  4242. //
  4243. // err := req.Send()
  4244. // if err == nil { // resp is now filled
  4245. // fmt.Println(resp)
  4246. // }
  4247. //
  4248. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEvents
  4249. func (c *Redshift) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  4250. op := &request.Operation{
  4251. Name: opDescribeEvents,
  4252. HTTPMethod: "POST",
  4253. HTTPPath: "/",
  4254. Paginator: &request.Paginator{
  4255. InputTokens: []string{"Marker"},
  4256. OutputTokens: []string{"Marker"},
  4257. LimitToken: "MaxRecords",
  4258. TruncationToken: "",
  4259. },
  4260. }
  4261. if input == nil {
  4262. input = &DescribeEventsInput{}
  4263. }
  4264. output = &DescribeEventsOutput{}
  4265. req = c.newRequest(op, input, output)
  4266. return
  4267. }
  4268. // DescribeEvents API operation for Amazon Redshift.
  4269. //
  4270. // Returns events related to clusters, security groups, snapshots, and parameter
  4271. // groups for the past 14 days. Events specific to a particular cluster, security
  4272. // group, snapshot or parameter group can be obtained by providing the name
  4273. // as a parameter. By default, the past hour of events are returned.
  4274. //
  4275. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4276. // with awserr.Error's Code and Message methods to get detailed information about
  4277. // the error.
  4278. //
  4279. // See the AWS API reference guide for Amazon Redshift's
  4280. // API operation DescribeEvents for usage and error information.
  4281. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEvents
  4282. func (c *Redshift) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  4283. req, out := c.DescribeEventsRequest(input)
  4284. return out, req.Send()
  4285. }
  4286. // DescribeEventsWithContext is the same as DescribeEvents with the addition of
  4287. // the ability to pass a context and additional request options.
  4288. //
  4289. // See DescribeEvents for details on how to use this API operation.
  4290. //
  4291. // The context must be non-nil and will be used for request cancellation. If
  4292. // the context is nil a panic will occur. In the future the SDK may create
  4293. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4294. // for more information on using Contexts.
  4295. func (c *Redshift) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
  4296. req, out := c.DescribeEventsRequest(input)
  4297. req.SetContext(ctx)
  4298. req.ApplyOptions(opts...)
  4299. return out, req.Send()
  4300. }
  4301. // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  4302. // calling the "fn" function with the response data for each page. To stop
  4303. // iterating, return false from the fn function.
  4304. //
  4305. // See DescribeEvents method for more information on how to use this operation.
  4306. //
  4307. // Note: This operation can generate multiple requests to a service.
  4308. //
  4309. // // Example iterating over at most 3 pages of a DescribeEvents operation.
  4310. // pageNum := 0
  4311. // err := client.DescribeEventsPages(params,
  4312. // func(page *DescribeEventsOutput, lastPage bool) bool {
  4313. // pageNum++
  4314. // fmt.Println(page)
  4315. // return pageNum <= 3
  4316. // })
  4317. //
  4318. func (c *Redshift) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
  4319. return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  4320. }
  4321. // DescribeEventsPagesWithContext same as DescribeEventsPages except
  4322. // it takes a Context and allows setting request options on the pages.
  4323. //
  4324. // The context must be non-nil and will be used for request cancellation. If
  4325. // the context is nil a panic will occur. In the future the SDK may create
  4326. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4327. // for more information on using Contexts.
  4328. func (c *Redshift) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
  4329. p := request.Pagination{
  4330. NewRequest: func() (*request.Request, error) {
  4331. var inCpy *DescribeEventsInput
  4332. if input != nil {
  4333. tmp := *input
  4334. inCpy = &tmp
  4335. }
  4336. req, _ := c.DescribeEventsRequest(inCpy)
  4337. req.SetContext(ctx)
  4338. req.ApplyOptions(opts...)
  4339. return req, nil
  4340. },
  4341. }
  4342. cont := true
  4343. for p.Next() && cont {
  4344. cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage())
  4345. }
  4346. return p.Err()
  4347. }
  4348. const opDescribeHsmClientCertificates = "DescribeHsmClientCertificates"
  4349. // DescribeHsmClientCertificatesRequest generates a "aws/request.Request" representing the
  4350. // client's request for the DescribeHsmClientCertificates operation. The "output" return
  4351. // value will be populated with the request's response once the request completes
  4352. // successfully.
  4353. //
  4354. // Use "Send" method on the returned Request to send the API call to the service.
  4355. // the "output" return value is not valid until after Send returns without error.
  4356. //
  4357. // See DescribeHsmClientCertificates for more information on using the DescribeHsmClientCertificates
  4358. // API call, and error handling.
  4359. //
  4360. // This method is useful when you want to inject custom logic or configuration
  4361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4362. //
  4363. //
  4364. // // Example sending a request using the DescribeHsmClientCertificatesRequest method.
  4365. // req, resp := client.DescribeHsmClientCertificatesRequest(params)
  4366. //
  4367. // err := req.Send()
  4368. // if err == nil { // resp is now filled
  4369. // fmt.Println(resp)
  4370. // }
  4371. //
  4372. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmClientCertificates
  4373. func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClientCertificatesInput) (req *request.Request, output *DescribeHsmClientCertificatesOutput) {
  4374. op := &request.Operation{
  4375. Name: opDescribeHsmClientCertificates,
  4376. HTTPMethod: "POST",
  4377. HTTPPath: "/",
  4378. Paginator: &request.Paginator{
  4379. InputTokens: []string{"Marker"},
  4380. OutputTokens: []string{"Marker"},
  4381. LimitToken: "MaxRecords",
  4382. TruncationToken: "",
  4383. },
  4384. }
  4385. if input == nil {
  4386. input = &DescribeHsmClientCertificatesInput{}
  4387. }
  4388. output = &DescribeHsmClientCertificatesOutput{}
  4389. req = c.newRequest(op, input, output)
  4390. return
  4391. }
  4392. // DescribeHsmClientCertificates API operation for Amazon Redshift.
  4393. //
  4394. // Returns information about the specified HSM client certificate. If no certificate
  4395. // ID is specified, returns information about all the HSM certificates owned
  4396. // by your AWS customer account.
  4397. //
  4398. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  4399. // returns all HSM client certificates that match any combination of the specified
  4400. // keys and values. For example, if you have owner and environment for tag keys,
  4401. // and admin and test for tag values, all HSM client certificates that have
  4402. // any combination of those values are returned.
  4403. //
  4404. // If both tag keys and values are omitted from the request, HSM client certificates
  4405. // are returned regardless of whether they have tag keys or values associated
  4406. // with them.
  4407. //
  4408. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4409. // with awserr.Error's Code and Message methods to get detailed information about
  4410. // the error.
  4411. //
  4412. // See the AWS API reference guide for Amazon Redshift's
  4413. // API operation DescribeHsmClientCertificates for usage and error information.
  4414. //
  4415. // Returned Error Codes:
  4416. // * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault"
  4417. // There is no Amazon Redshift HSM client certificate with the specified identifier.
  4418. //
  4419. // * ErrCodeInvalidTagFault "InvalidTagFault"
  4420. // The tag is invalid.
  4421. //
  4422. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmClientCertificates
  4423. func (c *Redshift) DescribeHsmClientCertificates(input *DescribeHsmClientCertificatesInput) (*DescribeHsmClientCertificatesOutput, error) {
  4424. req, out := c.DescribeHsmClientCertificatesRequest(input)
  4425. return out, req.Send()
  4426. }
  4427. // DescribeHsmClientCertificatesWithContext is the same as DescribeHsmClientCertificates with the addition of
  4428. // the ability to pass a context and additional request options.
  4429. //
  4430. // See DescribeHsmClientCertificates for details on how to use this API operation.
  4431. //
  4432. // The context must be non-nil and will be used for request cancellation. If
  4433. // the context is nil a panic will occur. In the future the SDK may create
  4434. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4435. // for more information on using Contexts.
  4436. func (c *Redshift) DescribeHsmClientCertificatesWithContext(ctx aws.Context, input *DescribeHsmClientCertificatesInput, opts ...request.Option) (*DescribeHsmClientCertificatesOutput, error) {
  4437. req, out := c.DescribeHsmClientCertificatesRequest(input)
  4438. req.SetContext(ctx)
  4439. req.ApplyOptions(opts...)
  4440. return out, req.Send()
  4441. }
  4442. // DescribeHsmClientCertificatesPages iterates over the pages of a DescribeHsmClientCertificates operation,
  4443. // calling the "fn" function with the response data for each page. To stop
  4444. // iterating, return false from the fn function.
  4445. //
  4446. // See DescribeHsmClientCertificates method for more information on how to use this operation.
  4447. //
  4448. // Note: This operation can generate multiple requests to a service.
  4449. //
  4450. // // Example iterating over at most 3 pages of a DescribeHsmClientCertificates operation.
  4451. // pageNum := 0
  4452. // err := client.DescribeHsmClientCertificatesPages(params,
  4453. // func(page *DescribeHsmClientCertificatesOutput, lastPage bool) bool {
  4454. // pageNum++
  4455. // fmt.Println(page)
  4456. // return pageNum <= 3
  4457. // })
  4458. //
  4459. func (c *Redshift) DescribeHsmClientCertificatesPages(input *DescribeHsmClientCertificatesInput, fn func(*DescribeHsmClientCertificatesOutput, bool) bool) error {
  4460. return c.DescribeHsmClientCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4461. }
  4462. // DescribeHsmClientCertificatesPagesWithContext same as DescribeHsmClientCertificatesPages except
  4463. // it takes a Context and allows setting request options on the pages.
  4464. //
  4465. // The context must be non-nil and will be used for request cancellation. If
  4466. // the context is nil a panic will occur. In the future the SDK may create
  4467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4468. // for more information on using Contexts.
  4469. func (c *Redshift) DescribeHsmClientCertificatesPagesWithContext(ctx aws.Context, input *DescribeHsmClientCertificatesInput, fn func(*DescribeHsmClientCertificatesOutput, bool) bool, opts ...request.Option) error {
  4470. p := request.Pagination{
  4471. NewRequest: func() (*request.Request, error) {
  4472. var inCpy *DescribeHsmClientCertificatesInput
  4473. if input != nil {
  4474. tmp := *input
  4475. inCpy = &tmp
  4476. }
  4477. req, _ := c.DescribeHsmClientCertificatesRequest(inCpy)
  4478. req.SetContext(ctx)
  4479. req.ApplyOptions(opts...)
  4480. return req, nil
  4481. },
  4482. }
  4483. cont := true
  4484. for p.Next() && cont {
  4485. cont = fn(p.Page().(*DescribeHsmClientCertificatesOutput), !p.HasNextPage())
  4486. }
  4487. return p.Err()
  4488. }
  4489. const opDescribeHsmConfigurations = "DescribeHsmConfigurations"
  4490. // DescribeHsmConfigurationsRequest generates a "aws/request.Request" representing the
  4491. // client's request for the DescribeHsmConfigurations operation. The "output" return
  4492. // value will be populated with the request's response once the request completes
  4493. // successfully.
  4494. //
  4495. // Use "Send" method on the returned Request to send the API call to the service.
  4496. // the "output" return value is not valid until after Send returns without error.
  4497. //
  4498. // See DescribeHsmConfigurations for more information on using the DescribeHsmConfigurations
  4499. // API call, and error handling.
  4500. //
  4501. // This method is useful when you want to inject custom logic or configuration
  4502. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4503. //
  4504. //
  4505. // // Example sending a request using the DescribeHsmConfigurationsRequest method.
  4506. // req, resp := client.DescribeHsmConfigurationsRequest(params)
  4507. //
  4508. // err := req.Send()
  4509. // if err == nil { // resp is now filled
  4510. // fmt.Println(resp)
  4511. // }
  4512. //
  4513. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmConfigurations
  4514. func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurationsInput) (req *request.Request, output *DescribeHsmConfigurationsOutput) {
  4515. op := &request.Operation{
  4516. Name: opDescribeHsmConfigurations,
  4517. HTTPMethod: "POST",
  4518. HTTPPath: "/",
  4519. Paginator: &request.Paginator{
  4520. InputTokens: []string{"Marker"},
  4521. OutputTokens: []string{"Marker"},
  4522. LimitToken: "MaxRecords",
  4523. TruncationToken: "",
  4524. },
  4525. }
  4526. if input == nil {
  4527. input = &DescribeHsmConfigurationsInput{}
  4528. }
  4529. output = &DescribeHsmConfigurationsOutput{}
  4530. req = c.newRequest(op, input, output)
  4531. return
  4532. }
  4533. // DescribeHsmConfigurations API operation for Amazon Redshift.
  4534. //
  4535. // Returns information about the specified Amazon Redshift HSM configuration.
  4536. // If no configuration ID is specified, returns information about all the HSM
  4537. // configurations owned by your AWS customer account.
  4538. //
  4539. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  4540. // returns all HSM connections that match any combination of the specified keys
  4541. // and values. For example, if you have owner and environment for tag keys,
  4542. // and admin and test for tag values, all HSM connections that have any combination
  4543. // of those values are returned.
  4544. //
  4545. // If both tag keys and values are omitted from the request, HSM connections
  4546. // are returned regardless of whether they have tag keys or values associated
  4547. // with them.
  4548. //
  4549. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4550. // with awserr.Error's Code and Message methods to get detailed information about
  4551. // the error.
  4552. //
  4553. // See the AWS API reference guide for Amazon Redshift's
  4554. // API operation DescribeHsmConfigurations for usage and error information.
  4555. //
  4556. // Returned Error Codes:
  4557. // * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault"
  4558. // There is no Amazon Redshift HSM configuration with the specified identifier.
  4559. //
  4560. // * ErrCodeInvalidTagFault "InvalidTagFault"
  4561. // The tag is invalid.
  4562. //
  4563. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmConfigurations
  4564. func (c *Redshift) DescribeHsmConfigurations(input *DescribeHsmConfigurationsInput) (*DescribeHsmConfigurationsOutput, error) {
  4565. req, out := c.DescribeHsmConfigurationsRequest(input)
  4566. return out, req.Send()
  4567. }
  4568. // DescribeHsmConfigurationsWithContext is the same as DescribeHsmConfigurations with the addition of
  4569. // the ability to pass a context and additional request options.
  4570. //
  4571. // See DescribeHsmConfigurations for details on how to use this API operation.
  4572. //
  4573. // The context must be non-nil and will be used for request cancellation. If
  4574. // the context is nil a panic will occur. In the future the SDK may create
  4575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4576. // for more information on using Contexts.
  4577. func (c *Redshift) DescribeHsmConfigurationsWithContext(ctx aws.Context, input *DescribeHsmConfigurationsInput, opts ...request.Option) (*DescribeHsmConfigurationsOutput, error) {
  4578. req, out := c.DescribeHsmConfigurationsRequest(input)
  4579. req.SetContext(ctx)
  4580. req.ApplyOptions(opts...)
  4581. return out, req.Send()
  4582. }
  4583. // DescribeHsmConfigurationsPages iterates over the pages of a DescribeHsmConfigurations operation,
  4584. // calling the "fn" function with the response data for each page. To stop
  4585. // iterating, return false from the fn function.
  4586. //
  4587. // See DescribeHsmConfigurations method for more information on how to use this operation.
  4588. //
  4589. // Note: This operation can generate multiple requests to a service.
  4590. //
  4591. // // Example iterating over at most 3 pages of a DescribeHsmConfigurations operation.
  4592. // pageNum := 0
  4593. // err := client.DescribeHsmConfigurationsPages(params,
  4594. // func(page *DescribeHsmConfigurationsOutput, lastPage bool) bool {
  4595. // pageNum++
  4596. // fmt.Println(page)
  4597. // return pageNum <= 3
  4598. // })
  4599. //
  4600. func (c *Redshift) DescribeHsmConfigurationsPages(input *DescribeHsmConfigurationsInput, fn func(*DescribeHsmConfigurationsOutput, bool) bool) error {
  4601. return c.DescribeHsmConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  4602. }
  4603. // DescribeHsmConfigurationsPagesWithContext same as DescribeHsmConfigurationsPages except
  4604. // it takes a Context and allows setting request options on the pages.
  4605. //
  4606. // The context must be non-nil and will be used for request cancellation. If
  4607. // the context is nil a panic will occur. In the future the SDK may create
  4608. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4609. // for more information on using Contexts.
  4610. func (c *Redshift) DescribeHsmConfigurationsPagesWithContext(ctx aws.Context, input *DescribeHsmConfigurationsInput, fn func(*DescribeHsmConfigurationsOutput, bool) bool, opts ...request.Option) error {
  4611. p := request.Pagination{
  4612. NewRequest: func() (*request.Request, error) {
  4613. var inCpy *DescribeHsmConfigurationsInput
  4614. if input != nil {
  4615. tmp := *input
  4616. inCpy = &tmp
  4617. }
  4618. req, _ := c.DescribeHsmConfigurationsRequest(inCpy)
  4619. req.SetContext(ctx)
  4620. req.ApplyOptions(opts...)
  4621. return req, nil
  4622. },
  4623. }
  4624. cont := true
  4625. for p.Next() && cont {
  4626. cont = fn(p.Page().(*DescribeHsmConfigurationsOutput), !p.HasNextPage())
  4627. }
  4628. return p.Err()
  4629. }
  4630. const opDescribeLoggingStatus = "DescribeLoggingStatus"
  4631. // DescribeLoggingStatusRequest generates a "aws/request.Request" representing the
  4632. // client's request for the DescribeLoggingStatus operation. The "output" return
  4633. // value will be populated with the request's response once the request completes
  4634. // successfully.
  4635. //
  4636. // Use "Send" method on the returned Request to send the API call to the service.
  4637. // the "output" return value is not valid until after Send returns without error.
  4638. //
  4639. // See DescribeLoggingStatus for more information on using the DescribeLoggingStatus
  4640. // API call, and error handling.
  4641. //
  4642. // This method is useful when you want to inject custom logic or configuration
  4643. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4644. //
  4645. //
  4646. // // Example sending a request using the DescribeLoggingStatusRequest method.
  4647. // req, resp := client.DescribeLoggingStatusRequest(params)
  4648. //
  4649. // err := req.Send()
  4650. // if err == nil { // resp is now filled
  4651. // fmt.Println(resp)
  4652. // }
  4653. //
  4654. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeLoggingStatus
  4655. func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInput) (req *request.Request, output *LoggingStatus) {
  4656. op := &request.Operation{
  4657. Name: opDescribeLoggingStatus,
  4658. HTTPMethod: "POST",
  4659. HTTPPath: "/",
  4660. }
  4661. if input == nil {
  4662. input = &DescribeLoggingStatusInput{}
  4663. }
  4664. output = &LoggingStatus{}
  4665. req = c.newRequest(op, input, output)
  4666. return
  4667. }
  4668. // DescribeLoggingStatus API operation for Amazon Redshift.
  4669. //
  4670. // Describes whether information, such as queries and connection attempts, is
  4671. // being logged for the specified Amazon Redshift cluster.
  4672. //
  4673. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4674. // with awserr.Error's Code and Message methods to get detailed information about
  4675. // the error.
  4676. //
  4677. // See the AWS API reference guide for Amazon Redshift's
  4678. // API operation DescribeLoggingStatus for usage and error information.
  4679. //
  4680. // Returned Error Codes:
  4681. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  4682. // The ClusterIdentifier parameter does not refer to an existing cluster.
  4683. //
  4684. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeLoggingStatus
  4685. func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*LoggingStatus, error) {
  4686. req, out := c.DescribeLoggingStatusRequest(input)
  4687. return out, req.Send()
  4688. }
  4689. // DescribeLoggingStatusWithContext is the same as DescribeLoggingStatus with the addition of
  4690. // the ability to pass a context and additional request options.
  4691. //
  4692. // See DescribeLoggingStatus for details on how to use this API operation.
  4693. //
  4694. // The context must be non-nil and will be used for request cancellation. If
  4695. // the context is nil a panic will occur. In the future the SDK may create
  4696. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4697. // for more information on using Contexts.
  4698. func (c *Redshift) DescribeLoggingStatusWithContext(ctx aws.Context, input *DescribeLoggingStatusInput, opts ...request.Option) (*LoggingStatus, error) {
  4699. req, out := c.DescribeLoggingStatusRequest(input)
  4700. req.SetContext(ctx)
  4701. req.ApplyOptions(opts...)
  4702. return out, req.Send()
  4703. }
  4704. const opDescribeOrderableClusterOptions = "DescribeOrderableClusterOptions"
  4705. // DescribeOrderableClusterOptionsRequest generates a "aws/request.Request" representing the
  4706. // client's request for the DescribeOrderableClusterOptions operation. The "output" return
  4707. // value will be populated with the request's response once the request completes
  4708. // successfully.
  4709. //
  4710. // Use "Send" method on the returned Request to send the API call to the service.
  4711. // the "output" return value is not valid until after Send returns without error.
  4712. //
  4713. // See DescribeOrderableClusterOptions for more information on using the DescribeOrderableClusterOptions
  4714. // API call, and error handling.
  4715. //
  4716. // This method is useful when you want to inject custom logic or configuration
  4717. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4718. //
  4719. //
  4720. // // Example sending a request using the DescribeOrderableClusterOptionsRequest method.
  4721. // req, resp := client.DescribeOrderableClusterOptionsRequest(params)
  4722. //
  4723. // err := req.Send()
  4724. // if err == nil { // resp is now filled
  4725. // fmt.Println(resp)
  4726. // }
  4727. //
  4728. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeOrderableClusterOptions
  4729. func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderableClusterOptionsInput) (req *request.Request, output *DescribeOrderableClusterOptionsOutput) {
  4730. op := &request.Operation{
  4731. Name: opDescribeOrderableClusterOptions,
  4732. HTTPMethod: "POST",
  4733. HTTPPath: "/",
  4734. Paginator: &request.Paginator{
  4735. InputTokens: []string{"Marker"},
  4736. OutputTokens: []string{"Marker"},
  4737. LimitToken: "MaxRecords",
  4738. TruncationToken: "",
  4739. },
  4740. }
  4741. if input == nil {
  4742. input = &DescribeOrderableClusterOptionsInput{}
  4743. }
  4744. output = &DescribeOrderableClusterOptionsOutput{}
  4745. req = c.newRequest(op, input, output)
  4746. return
  4747. }
  4748. // DescribeOrderableClusterOptions API operation for Amazon Redshift.
  4749. //
  4750. // Returns a list of orderable cluster options. Before you create a new cluster
  4751. // you can use this operation to find what options are available, such as the
  4752. // EC2 Availability Zones (AZ) in the specific AWS Region that you can specify,
  4753. // and the node types you can request. The node types differ by available storage,
  4754. // memory, CPU and price. With the cost involved you might want to obtain a
  4755. // list of cluster options in the specific region and specify values when creating
  4756. // a cluster. For more information about managing clusters, go to Amazon Redshift
  4757. // Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  4758. // in the Amazon Redshift Cluster Management Guide.
  4759. //
  4760. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4761. // with awserr.Error's Code and Message methods to get detailed information about
  4762. // the error.
  4763. //
  4764. // See the AWS API reference guide for Amazon Redshift's
  4765. // API operation DescribeOrderableClusterOptions for usage and error information.
  4766. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeOrderableClusterOptions
  4767. func (c *Redshift) DescribeOrderableClusterOptions(input *DescribeOrderableClusterOptionsInput) (*DescribeOrderableClusterOptionsOutput, error) {
  4768. req, out := c.DescribeOrderableClusterOptionsRequest(input)
  4769. return out, req.Send()
  4770. }
  4771. // DescribeOrderableClusterOptionsWithContext is the same as DescribeOrderableClusterOptions with the addition of
  4772. // the ability to pass a context and additional request options.
  4773. //
  4774. // See DescribeOrderableClusterOptions for details on how to use this API operation.
  4775. //
  4776. // The context must be non-nil and will be used for request cancellation. If
  4777. // the context is nil a panic will occur. In the future the SDK may create
  4778. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4779. // for more information on using Contexts.
  4780. func (c *Redshift) DescribeOrderableClusterOptionsWithContext(ctx aws.Context, input *DescribeOrderableClusterOptionsInput, opts ...request.Option) (*DescribeOrderableClusterOptionsOutput, error) {
  4781. req, out := c.DescribeOrderableClusterOptionsRequest(input)
  4782. req.SetContext(ctx)
  4783. req.ApplyOptions(opts...)
  4784. return out, req.Send()
  4785. }
  4786. // DescribeOrderableClusterOptionsPages iterates over the pages of a DescribeOrderableClusterOptions operation,
  4787. // calling the "fn" function with the response data for each page. To stop
  4788. // iterating, return false from the fn function.
  4789. //
  4790. // See DescribeOrderableClusterOptions method for more information on how to use this operation.
  4791. //
  4792. // Note: This operation can generate multiple requests to a service.
  4793. //
  4794. // // Example iterating over at most 3 pages of a DescribeOrderableClusterOptions operation.
  4795. // pageNum := 0
  4796. // err := client.DescribeOrderableClusterOptionsPages(params,
  4797. // func(page *DescribeOrderableClusterOptionsOutput, lastPage bool) bool {
  4798. // pageNum++
  4799. // fmt.Println(page)
  4800. // return pageNum <= 3
  4801. // })
  4802. //
  4803. func (c *Redshift) DescribeOrderableClusterOptionsPages(input *DescribeOrderableClusterOptionsInput, fn func(*DescribeOrderableClusterOptionsOutput, bool) bool) error {
  4804. return c.DescribeOrderableClusterOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4805. }
  4806. // DescribeOrderableClusterOptionsPagesWithContext same as DescribeOrderableClusterOptionsPages except
  4807. // it takes a Context and allows setting request options on the pages.
  4808. //
  4809. // The context must be non-nil and will be used for request cancellation. If
  4810. // the context is nil a panic will occur. In the future the SDK may create
  4811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4812. // for more information on using Contexts.
  4813. func (c *Redshift) DescribeOrderableClusterOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableClusterOptionsInput, fn func(*DescribeOrderableClusterOptionsOutput, bool) bool, opts ...request.Option) error {
  4814. p := request.Pagination{
  4815. NewRequest: func() (*request.Request, error) {
  4816. var inCpy *DescribeOrderableClusterOptionsInput
  4817. if input != nil {
  4818. tmp := *input
  4819. inCpy = &tmp
  4820. }
  4821. req, _ := c.DescribeOrderableClusterOptionsRequest(inCpy)
  4822. req.SetContext(ctx)
  4823. req.ApplyOptions(opts...)
  4824. return req, nil
  4825. },
  4826. }
  4827. cont := true
  4828. for p.Next() && cont {
  4829. cont = fn(p.Page().(*DescribeOrderableClusterOptionsOutput), !p.HasNextPage())
  4830. }
  4831. return p.Err()
  4832. }
  4833. const opDescribeReservedNodeOfferings = "DescribeReservedNodeOfferings"
  4834. // DescribeReservedNodeOfferingsRequest generates a "aws/request.Request" representing the
  4835. // client's request for the DescribeReservedNodeOfferings operation. The "output" return
  4836. // value will be populated with the request's response once the request completes
  4837. // successfully.
  4838. //
  4839. // Use "Send" method on the returned Request to send the API call to the service.
  4840. // the "output" return value is not valid until after Send returns without error.
  4841. //
  4842. // See DescribeReservedNodeOfferings for more information on using the DescribeReservedNodeOfferings
  4843. // API call, and error handling.
  4844. //
  4845. // This method is useful when you want to inject custom logic or configuration
  4846. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4847. //
  4848. //
  4849. // // Example sending a request using the DescribeReservedNodeOfferingsRequest method.
  4850. // req, resp := client.DescribeReservedNodeOfferingsRequest(params)
  4851. //
  4852. // err := req.Send()
  4853. // if err == nil { // resp is now filled
  4854. // fmt.Println(resp)
  4855. // }
  4856. //
  4857. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodeOfferings
  4858. func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedNodeOfferingsInput) (req *request.Request, output *DescribeReservedNodeOfferingsOutput) {
  4859. op := &request.Operation{
  4860. Name: opDescribeReservedNodeOfferings,
  4861. HTTPMethod: "POST",
  4862. HTTPPath: "/",
  4863. Paginator: &request.Paginator{
  4864. InputTokens: []string{"Marker"},
  4865. OutputTokens: []string{"Marker"},
  4866. LimitToken: "MaxRecords",
  4867. TruncationToken: "",
  4868. },
  4869. }
  4870. if input == nil {
  4871. input = &DescribeReservedNodeOfferingsInput{}
  4872. }
  4873. output = &DescribeReservedNodeOfferingsOutput{}
  4874. req = c.newRequest(op, input, output)
  4875. return
  4876. }
  4877. // DescribeReservedNodeOfferings API operation for Amazon Redshift.
  4878. //
  4879. // Returns a list of the available reserved node offerings by Amazon Redshift
  4880. // with their descriptions including the node type, the fixed and recurring
  4881. // costs of reserving the node and duration the node will be reserved for you.
  4882. // These descriptions help you determine which reserve node offering you want
  4883. // to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering
  4884. // to reserve one or more nodes for your Amazon Redshift cluster.
  4885. //
  4886. // For more information about reserved node offerings, go to Purchasing Reserved
  4887. // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
  4888. // in the Amazon Redshift Cluster Management Guide.
  4889. //
  4890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4891. // with awserr.Error's Code and Message methods to get detailed information about
  4892. // the error.
  4893. //
  4894. // See the AWS API reference guide for Amazon Redshift's
  4895. // API operation DescribeReservedNodeOfferings for usage and error information.
  4896. //
  4897. // Returned Error Codes:
  4898. // * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound"
  4899. // Specified offering does not exist.
  4900. //
  4901. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  4902. // The requested operation isn't supported.
  4903. //
  4904. // * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault"
  4905. // Your request cannot be completed because a dependent internal service is
  4906. // temporarily unavailable. Wait 30 to 60 seconds and try again.
  4907. //
  4908. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodeOfferings
  4909. func (c *Redshift) DescribeReservedNodeOfferings(input *DescribeReservedNodeOfferingsInput) (*DescribeReservedNodeOfferingsOutput, error) {
  4910. req, out := c.DescribeReservedNodeOfferingsRequest(input)
  4911. return out, req.Send()
  4912. }
  4913. // DescribeReservedNodeOfferingsWithContext is the same as DescribeReservedNodeOfferings with the addition of
  4914. // the ability to pass a context and additional request options.
  4915. //
  4916. // See DescribeReservedNodeOfferings for details on how to use this API operation.
  4917. //
  4918. // The context must be non-nil and will be used for request cancellation. If
  4919. // the context is nil a panic will occur. In the future the SDK may create
  4920. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4921. // for more information on using Contexts.
  4922. func (c *Redshift) DescribeReservedNodeOfferingsWithContext(ctx aws.Context, input *DescribeReservedNodeOfferingsInput, opts ...request.Option) (*DescribeReservedNodeOfferingsOutput, error) {
  4923. req, out := c.DescribeReservedNodeOfferingsRequest(input)
  4924. req.SetContext(ctx)
  4925. req.ApplyOptions(opts...)
  4926. return out, req.Send()
  4927. }
  4928. // DescribeReservedNodeOfferingsPages iterates over the pages of a DescribeReservedNodeOfferings operation,
  4929. // calling the "fn" function with the response data for each page. To stop
  4930. // iterating, return false from the fn function.
  4931. //
  4932. // See DescribeReservedNodeOfferings method for more information on how to use this operation.
  4933. //
  4934. // Note: This operation can generate multiple requests to a service.
  4935. //
  4936. // // Example iterating over at most 3 pages of a DescribeReservedNodeOfferings operation.
  4937. // pageNum := 0
  4938. // err := client.DescribeReservedNodeOfferingsPages(params,
  4939. // func(page *DescribeReservedNodeOfferingsOutput, lastPage bool) bool {
  4940. // pageNum++
  4941. // fmt.Println(page)
  4942. // return pageNum <= 3
  4943. // })
  4944. //
  4945. func (c *Redshift) DescribeReservedNodeOfferingsPages(input *DescribeReservedNodeOfferingsInput, fn func(*DescribeReservedNodeOfferingsOutput, bool) bool) error {
  4946. return c.DescribeReservedNodeOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  4947. }
  4948. // DescribeReservedNodeOfferingsPagesWithContext same as DescribeReservedNodeOfferingsPages except
  4949. // it takes a Context and allows setting request options on the pages.
  4950. //
  4951. // The context must be non-nil and will be used for request cancellation. If
  4952. // the context is nil a panic will occur. In the future the SDK may create
  4953. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4954. // for more information on using Contexts.
  4955. func (c *Redshift) DescribeReservedNodeOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedNodeOfferingsInput, fn func(*DescribeReservedNodeOfferingsOutput, bool) bool, opts ...request.Option) error {
  4956. p := request.Pagination{
  4957. NewRequest: func() (*request.Request, error) {
  4958. var inCpy *DescribeReservedNodeOfferingsInput
  4959. if input != nil {
  4960. tmp := *input
  4961. inCpy = &tmp
  4962. }
  4963. req, _ := c.DescribeReservedNodeOfferingsRequest(inCpy)
  4964. req.SetContext(ctx)
  4965. req.ApplyOptions(opts...)
  4966. return req, nil
  4967. },
  4968. }
  4969. cont := true
  4970. for p.Next() && cont {
  4971. cont = fn(p.Page().(*DescribeReservedNodeOfferingsOutput), !p.HasNextPage())
  4972. }
  4973. return p.Err()
  4974. }
  4975. const opDescribeReservedNodes = "DescribeReservedNodes"
  4976. // DescribeReservedNodesRequest generates a "aws/request.Request" representing the
  4977. // client's request for the DescribeReservedNodes operation. The "output" return
  4978. // value will be populated with the request's response once the request completes
  4979. // successfully.
  4980. //
  4981. // Use "Send" method on the returned Request to send the API call to the service.
  4982. // the "output" return value is not valid until after Send returns without error.
  4983. //
  4984. // See DescribeReservedNodes for more information on using the DescribeReservedNodes
  4985. // API call, and error handling.
  4986. //
  4987. // This method is useful when you want to inject custom logic or configuration
  4988. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4989. //
  4990. //
  4991. // // Example sending a request using the DescribeReservedNodesRequest method.
  4992. // req, resp := client.DescribeReservedNodesRequest(params)
  4993. //
  4994. // err := req.Send()
  4995. // if err == nil { // resp is now filled
  4996. // fmt.Println(resp)
  4997. // }
  4998. //
  4999. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodes
  5000. func (c *Redshift) DescribeReservedNodesRequest(input *DescribeReservedNodesInput) (req *request.Request, output *DescribeReservedNodesOutput) {
  5001. op := &request.Operation{
  5002. Name: opDescribeReservedNodes,
  5003. HTTPMethod: "POST",
  5004. HTTPPath: "/",
  5005. Paginator: &request.Paginator{
  5006. InputTokens: []string{"Marker"},
  5007. OutputTokens: []string{"Marker"},
  5008. LimitToken: "MaxRecords",
  5009. TruncationToken: "",
  5010. },
  5011. }
  5012. if input == nil {
  5013. input = &DescribeReservedNodesInput{}
  5014. }
  5015. output = &DescribeReservedNodesOutput{}
  5016. req = c.newRequest(op, input, output)
  5017. return
  5018. }
  5019. // DescribeReservedNodes API operation for Amazon Redshift.
  5020. //
  5021. // Returns the descriptions of the reserved nodes.
  5022. //
  5023. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5024. // with awserr.Error's Code and Message methods to get detailed information about
  5025. // the error.
  5026. //
  5027. // See the AWS API reference guide for Amazon Redshift's
  5028. // API operation DescribeReservedNodes for usage and error information.
  5029. //
  5030. // Returned Error Codes:
  5031. // * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound"
  5032. // The specified reserved compute node not found.
  5033. //
  5034. // * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault"
  5035. // Your request cannot be completed because a dependent internal service is
  5036. // temporarily unavailable. Wait 30 to 60 seconds and try again.
  5037. //
  5038. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodes
  5039. func (c *Redshift) DescribeReservedNodes(input *DescribeReservedNodesInput) (*DescribeReservedNodesOutput, error) {
  5040. req, out := c.DescribeReservedNodesRequest(input)
  5041. return out, req.Send()
  5042. }
  5043. // DescribeReservedNodesWithContext is the same as DescribeReservedNodes with the addition of
  5044. // the ability to pass a context and additional request options.
  5045. //
  5046. // See DescribeReservedNodes for details on how to use this API operation.
  5047. //
  5048. // The context must be non-nil and will be used for request cancellation. If
  5049. // the context is nil a panic will occur. In the future the SDK may create
  5050. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5051. // for more information on using Contexts.
  5052. func (c *Redshift) DescribeReservedNodesWithContext(ctx aws.Context, input *DescribeReservedNodesInput, opts ...request.Option) (*DescribeReservedNodesOutput, error) {
  5053. req, out := c.DescribeReservedNodesRequest(input)
  5054. req.SetContext(ctx)
  5055. req.ApplyOptions(opts...)
  5056. return out, req.Send()
  5057. }
  5058. // DescribeReservedNodesPages iterates over the pages of a DescribeReservedNodes operation,
  5059. // calling the "fn" function with the response data for each page. To stop
  5060. // iterating, return false from the fn function.
  5061. //
  5062. // See DescribeReservedNodes method for more information on how to use this operation.
  5063. //
  5064. // Note: This operation can generate multiple requests to a service.
  5065. //
  5066. // // Example iterating over at most 3 pages of a DescribeReservedNodes operation.
  5067. // pageNum := 0
  5068. // err := client.DescribeReservedNodesPages(params,
  5069. // func(page *DescribeReservedNodesOutput, lastPage bool) bool {
  5070. // pageNum++
  5071. // fmt.Println(page)
  5072. // return pageNum <= 3
  5073. // })
  5074. //
  5075. func (c *Redshift) DescribeReservedNodesPages(input *DescribeReservedNodesInput, fn func(*DescribeReservedNodesOutput, bool) bool) error {
  5076. return c.DescribeReservedNodesPagesWithContext(aws.BackgroundContext(), input, fn)
  5077. }
  5078. // DescribeReservedNodesPagesWithContext same as DescribeReservedNodesPages except
  5079. // it takes a Context and allows setting request options on the pages.
  5080. //
  5081. // The context must be non-nil and will be used for request cancellation. If
  5082. // the context is nil a panic will occur. In the future the SDK may create
  5083. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5084. // for more information on using Contexts.
  5085. func (c *Redshift) DescribeReservedNodesPagesWithContext(ctx aws.Context, input *DescribeReservedNodesInput, fn func(*DescribeReservedNodesOutput, bool) bool, opts ...request.Option) error {
  5086. p := request.Pagination{
  5087. NewRequest: func() (*request.Request, error) {
  5088. var inCpy *DescribeReservedNodesInput
  5089. if input != nil {
  5090. tmp := *input
  5091. inCpy = &tmp
  5092. }
  5093. req, _ := c.DescribeReservedNodesRequest(inCpy)
  5094. req.SetContext(ctx)
  5095. req.ApplyOptions(opts...)
  5096. return req, nil
  5097. },
  5098. }
  5099. cont := true
  5100. for p.Next() && cont {
  5101. cont = fn(p.Page().(*DescribeReservedNodesOutput), !p.HasNextPage())
  5102. }
  5103. return p.Err()
  5104. }
  5105. const opDescribeResize = "DescribeResize"
  5106. // DescribeResizeRequest generates a "aws/request.Request" representing the
  5107. // client's request for the DescribeResize operation. The "output" return
  5108. // value will be populated with the request's response once the request completes
  5109. // successfully.
  5110. //
  5111. // Use "Send" method on the returned Request to send the API call to the service.
  5112. // the "output" return value is not valid until after Send returns without error.
  5113. //
  5114. // See DescribeResize for more information on using the DescribeResize
  5115. // API call, and error handling.
  5116. //
  5117. // This method is useful when you want to inject custom logic or configuration
  5118. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5119. //
  5120. //
  5121. // // Example sending a request using the DescribeResizeRequest method.
  5122. // req, resp := client.DescribeResizeRequest(params)
  5123. //
  5124. // err := req.Send()
  5125. // if err == nil { // resp is now filled
  5126. // fmt.Println(resp)
  5127. // }
  5128. //
  5129. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeResize
  5130. func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *request.Request, output *DescribeResizeOutput) {
  5131. op := &request.Operation{
  5132. Name: opDescribeResize,
  5133. HTTPMethod: "POST",
  5134. HTTPPath: "/",
  5135. }
  5136. if input == nil {
  5137. input = &DescribeResizeInput{}
  5138. }
  5139. output = &DescribeResizeOutput{}
  5140. req = c.newRequest(op, input, output)
  5141. return
  5142. }
  5143. // DescribeResize API operation for Amazon Redshift.
  5144. //
  5145. // Returns information about the last resize operation for the specified cluster.
  5146. // If no resize operation has ever been initiated for the specified cluster,
  5147. // a HTTP 404 error is returned. If a resize operation was initiated and completed,
  5148. // the status of the resize remains as SUCCEEDED until the next resize.
  5149. //
  5150. // A resize operation can be requested using ModifyCluster and specifying a
  5151. // different number or type of nodes for the cluster.
  5152. //
  5153. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5154. // with awserr.Error's Code and Message methods to get detailed information about
  5155. // the error.
  5156. //
  5157. // See the AWS API reference guide for Amazon Redshift's
  5158. // API operation DescribeResize for usage and error information.
  5159. //
  5160. // Returned Error Codes:
  5161. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5162. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5163. //
  5164. // * ErrCodeResizeNotFoundFault "ResizeNotFound"
  5165. // A resize operation for the specified cluster is not found.
  5166. //
  5167. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeResize
  5168. func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOutput, error) {
  5169. req, out := c.DescribeResizeRequest(input)
  5170. return out, req.Send()
  5171. }
  5172. // DescribeResizeWithContext is the same as DescribeResize with the addition of
  5173. // the ability to pass a context and additional request options.
  5174. //
  5175. // See DescribeResize for details on how to use this API operation.
  5176. //
  5177. // The context must be non-nil and will be used for request cancellation. If
  5178. // the context is nil a panic will occur. In the future the SDK may create
  5179. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5180. // for more information on using Contexts.
  5181. func (c *Redshift) DescribeResizeWithContext(ctx aws.Context, input *DescribeResizeInput, opts ...request.Option) (*DescribeResizeOutput, error) {
  5182. req, out := c.DescribeResizeRequest(input)
  5183. req.SetContext(ctx)
  5184. req.ApplyOptions(opts...)
  5185. return out, req.Send()
  5186. }
  5187. const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants"
  5188. // DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the
  5189. // client's request for the DescribeSnapshotCopyGrants operation. The "output" return
  5190. // value will be populated with the request's response once the request completes
  5191. // successfully.
  5192. //
  5193. // Use "Send" method on the returned Request to send the API call to the service.
  5194. // the "output" return value is not valid until after Send returns without error.
  5195. //
  5196. // See DescribeSnapshotCopyGrants for more information on using the DescribeSnapshotCopyGrants
  5197. // API call, and error handling.
  5198. //
  5199. // This method is useful when you want to inject custom logic or configuration
  5200. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5201. //
  5202. //
  5203. // // Example sending a request using the DescribeSnapshotCopyGrantsRequest method.
  5204. // req, resp := client.DescribeSnapshotCopyGrantsRequest(params)
  5205. //
  5206. // err := req.Send()
  5207. // if err == nil { // resp is now filled
  5208. // fmt.Println(resp)
  5209. // }
  5210. //
  5211. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotCopyGrants
  5212. func (c *Redshift) DescribeSnapshotCopyGrantsRequest(input *DescribeSnapshotCopyGrantsInput) (req *request.Request, output *DescribeSnapshotCopyGrantsOutput) {
  5213. op := &request.Operation{
  5214. Name: opDescribeSnapshotCopyGrants,
  5215. HTTPMethod: "POST",
  5216. HTTPPath: "/",
  5217. }
  5218. if input == nil {
  5219. input = &DescribeSnapshotCopyGrantsInput{}
  5220. }
  5221. output = &DescribeSnapshotCopyGrantsOutput{}
  5222. req = c.newRequest(op, input, output)
  5223. return
  5224. }
  5225. // DescribeSnapshotCopyGrants API operation for Amazon Redshift.
  5226. //
  5227. // Returns a list of snapshot copy grants owned by the AWS account in the destination
  5228. // region.
  5229. //
  5230. // For more information about managing snapshot copy grants, go to Amazon Redshift
  5231. // Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  5232. // in the Amazon Redshift Cluster Management Guide.
  5233. //
  5234. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5235. // with awserr.Error's Code and Message methods to get detailed information about
  5236. // the error.
  5237. //
  5238. // See the AWS API reference guide for Amazon Redshift's
  5239. // API operation DescribeSnapshotCopyGrants for usage and error information.
  5240. //
  5241. // Returned Error Codes:
  5242. // * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault"
  5243. // The specified snapshot copy grant can't be found. Make sure that the name
  5244. // is typed correctly and that the grant exists in the destination region.
  5245. //
  5246. // * ErrCodeInvalidTagFault "InvalidTagFault"
  5247. // The tag is invalid.
  5248. //
  5249. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotCopyGrants
  5250. func (c *Redshift) DescribeSnapshotCopyGrants(input *DescribeSnapshotCopyGrantsInput) (*DescribeSnapshotCopyGrantsOutput, error) {
  5251. req, out := c.DescribeSnapshotCopyGrantsRequest(input)
  5252. return out, req.Send()
  5253. }
  5254. // DescribeSnapshotCopyGrantsWithContext is the same as DescribeSnapshotCopyGrants with the addition of
  5255. // the ability to pass a context and additional request options.
  5256. //
  5257. // See DescribeSnapshotCopyGrants for details on how to use this API operation.
  5258. //
  5259. // The context must be non-nil and will be used for request cancellation. If
  5260. // the context is nil a panic will occur. In the future the SDK may create
  5261. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5262. // for more information on using Contexts.
  5263. func (c *Redshift) DescribeSnapshotCopyGrantsWithContext(ctx aws.Context, input *DescribeSnapshotCopyGrantsInput, opts ...request.Option) (*DescribeSnapshotCopyGrantsOutput, error) {
  5264. req, out := c.DescribeSnapshotCopyGrantsRequest(input)
  5265. req.SetContext(ctx)
  5266. req.ApplyOptions(opts...)
  5267. return out, req.Send()
  5268. }
  5269. const opDescribeSnapshotSchedules = "DescribeSnapshotSchedules"
  5270. // DescribeSnapshotSchedulesRequest generates a "aws/request.Request" representing the
  5271. // client's request for the DescribeSnapshotSchedules operation. The "output" return
  5272. // value will be populated with the request's response once the request completes
  5273. // successfully.
  5274. //
  5275. // Use "Send" method on the returned Request to send the API call to the service.
  5276. // the "output" return value is not valid until after Send returns without error.
  5277. //
  5278. // See DescribeSnapshotSchedules for more information on using the DescribeSnapshotSchedules
  5279. // API call, and error handling.
  5280. //
  5281. // This method is useful when you want to inject custom logic or configuration
  5282. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5283. //
  5284. //
  5285. // // Example sending a request using the DescribeSnapshotSchedulesRequest method.
  5286. // req, resp := client.DescribeSnapshotSchedulesRequest(params)
  5287. //
  5288. // err := req.Send()
  5289. // if err == nil { // resp is now filled
  5290. // fmt.Println(resp)
  5291. // }
  5292. //
  5293. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedules
  5294. func (c *Redshift) DescribeSnapshotSchedulesRequest(input *DescribeSnapshotSchedulesInput) (req *request.Request, output *DescribeSnapshotSchedulesOutput) {
  5295. op := &request.Operation{
  5296. Name: opDescribeSnapshotSchedules,
  5297. HTTPMethod: "POST",
  5298. HTTPPath: "/",
  5299. }
  5300. if input == nil {
  5301. input = &DescribeSnapshotSchedulesInput{}
  5302. }
  5303. output = &DescribeSnapshotSchedulesOutput{}
  5304. req = c.newRequest(op, input, output)
  5305. return
  5306. }
  5307. // DescribeSnapshotSchedules API operation for Amazon Redshift.
  5308. //
  5309. // Returns a list of snapshot schedules.
  5310. //
  5311. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5312. // with awserr.Error's Code and Message methods to get detailed information about
  5313. // the error.
  5314. //
  5315. // See the AWS API reference guide for Amazon Redshift's
  5316. // API operation DescribeSnapshotSchedules for usage and error information.
  5317. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedules
  5318. func (c *Redshift) DescribeSnapshotSchedules(input *DescribeSnapshotSchedulesInput) (*DescribeSnapshotSchedulesOutput, error) {
  5319. req, out := c.DescribeSnapshotSchedulesRequest(input)
  5320. return out, req.Send()
  5321. }
  5322. // DescribeSnapshotSchedulesWithContext is the same as DescribeSnapshotSchedules with the addition of
  5323. // the ability to pass a context and additional request options.
  5324. //
  5325. // See DescribeSnapshotSchedules for details on how to use this API operation.
  5326. //
  5327. // The context must be non-nil and will be used for request cancellation. If
  5328. // the context is nil a panic will occur. In the future the SDK may create
  5329. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5330. // for more information on using Contexts.
  5331. func (c *Redshift) DescribeSnapshotSchedulesWithContext(ctx aws.Context, input *DescribeSnapshotSchedulesInput, opts ...request.Option) (*DescribeSnapshotSchedulesOutput, error) {
  5332. req, out := c.DescribeSnapshotSchedulesRequest(input)
  5333. req.SetContext(ctx)
  5334. req.ApplyOptions(opts...)
  5335. return out, req.Send()
  5336. }
  5337. const opDescribeStorage = "DescribeStorage"
  5338. // DescribeStorageRequest generates a "aws/request.Request" representing the
  5339. // client's request for the DescribeStorage operation. The "output" return
  5340. // value will be populated with the request's response once the request completes
  5341. // successfully.
  5342. //
  5343. // Use "Send" method on the returned Request to send the API call to the service.
  5344. // the "output" return value is not valid until after Send returns without error.
  5345. //
  5346. // See DescribeStorage for more information on using the DescribeStorage
  5347. // API call, and error handling.
  5348. //
  5349. // This method is useful when you want to inject custom logic or configuration
  5350. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5351. //
  5352. //
  5353. // // Example sending a request using the DescribeStorageRequest method.
  5354. // req, resp := client.DescribeStorageRequest(params)
  5355. //
  5356. // err := req.Send()
  5357. // if err == nil { // resp is now filled
  5358. // fmt.Println(resp)
  5359. // }
  5360. //
  5361. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeStorage
  5362. func (c *Redshift) DescribeStorageRequest(input *DescribeStorageInput) (req *request.Request, output *DescribeStorageOutput) {
  5363. op := &request.Operation{
  5364. Name: opDescribeStorage,
  5365. HTTPMethod: "POST",
  5366. HTTPPath: "/",
  5367. }
  5368. if input == nil {
  5369. input = &DescribeStorageInput{}
  5370. }
  5371. output = &DescribeStorageOutput{}
  5372. req = c.newRequest(op, input, output)
  5373. return
  5374. }
  5375. // DescribeStorage API operation for Amazon Redshift.
  5376. //
  5377. // Returns the total amount of snapshot usage and provisioned storage for a
  5378. // user in megabytes.
  5379. //
  5380. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5381. // with awserr.Error's Code and Message methods to get detailed information about
  5382. // the error.
  5383. //
  5384. // See the AWS API reference guide for Amazon Redshift's
  5385. // API operation DescribeStorage for usage and error information.
  5386. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeStorage
  5387. func (c *Redshift) DescribeStorage(input *DescribeStorageInput) (*DescribeStorageOutput, error) {
  5388. req, out := c.DescribeStorageRequest(input)
  5389. return out, req.Send()
  5390. }
  5391. // DescribeStorageWithContext is the same as DescribeStorage with the addition of
  5392. // the ability to pass a context and additional request options.
  5393. //
  5394. // See DescribeStorage for details on how to use this API operation.
  5395. //
  5396. // The context must be non-nil and will be used for request cancellation. If
  5397. // the context is nil a panic will occur. In the future the SDK may create
  5398. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5399. // for more information on using Contexts.
  5400. func (c *Redshift) DescribeStorageWithContext(ctx aws.Context, input *DescribeStorageInput, opts ...request.Option) (*DescribeStorageOutput, error) {
  5401. req, out := c.DescribeStorageRequest(input)
  5402. req.SetContext(ctx)
  5403. req.ApplyOptions(opts...)
  5404. return out, req.Send()
  5405. }
  5406. const opDescribeTableRestoreStatus = "DescribeTableRestoreStatus"
  5407. // DescribeTableRestoreStatusRequest generates a "aws/request.Request" representing the
  5408. // client's request for the DescribeTableRestoreStatus operation. The "output" return
  5409. // value will be populated with the request's response once the request completes
  5410. // successfully.
  5411. //
  5412. // Use "Send" method on the returned Request to send the API call to the service.
  5413. // the "output" return value is not valid until after Send returns without error.
  5414. //
  5415. // See DescribeTableRestoreStatus for more information on using the DescribeTableRestoreStatus
  5416. // API call, and error handling.
  5417. //
  5418. // This method is useful when you want to inject custom logic or configuration
  5419. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5420. //
  5421. //
  5422. // // Example sending a request using the DescribeTableRestoreStatusRequest method.
  5423. // req, resp := client.DescribeTableRestoreStatusRequest(params)
  5424. //
  5425. // err := req.Send()
  5426. // if err == nil { // resp is now filled
  5427. // fmt.Println(resp)
  5428. // }
  5429. //
  5430. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTableRestoreStatus
  5431. func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestoreStatusInput) (req *request.Request, output *DescribeTableRestoreStatusOutput) {
  5432. op := &request.Operation{
  5433. Name: opDescribeTableRestoreStatus,
  5434. HTTPMethod: "POST",
  5435. HTTPPath: "/",
  5436. }
  5437. if input == nil {
  5438. input = &DescribeTableRestoreStatusInput{}
  5439. }
  5440. output = &DescribeTableRestoreStatusOutput{}
  5441. req = c.newRequest(op, input, output)
  5442. return
  5443. }
  5444. // DescribeTableRestoreStatus API operation for Amazon Redshift.
  5445. //
  5446. // Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot
  5447. // API action. If you don't specify a value for the TableRestoreRequestId parameter,
  5448. // then DescribeTableRestoreStatus returns the status of all table restore requests
  5449. // ordered by the date and time of the request in ascending order. Otherwise
  5450. // DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId.
  5451. //
  5452. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5453. // with awserr.Error's Code and Message methods to get detailed information about
  5454. // the error.
  5455. //
  5456. // See the AWS API reference guide for Amazon Redshift's
  5457. // API operation DescribeTableRestoreStatus for usage and error information.
  5458. //
  5459. // Returned Error Codes:
  5460. // * ErrCodeTableRestoreNotFoundFault "TableRestoreNotFoundFault"
  5461. // The specified TableRestoreRequestId value was not found.
  5462. //
  5463. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5464. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5465. //
  5466. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTableRestoreStatus
  5467. func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusInput) (*DescribeTableRestoreStatusOutput, error) {
  5468. req, out := c.DescribeTableRestoreStatusRequest(input)
  5469. return out, req.Send()
  5470. }
  5471. // DescribeTableRestoreStatusWithContext is the same as DescribeTableRestoreStatus with the addition of
  5472. // the ability to pass a context and additional request options.
  5473. //
  5474. // See DescribeTableRestoreStatus for details on how to use this API operation.
  5475. //
  5476. // The context must be non-nil and will be used for request cancellation. If
  5477. // the context is nil a panic will occur. In the future the SDK may create
  5478. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5479. // for more information on using Contexts.
  5480. func (c *Redshift) DescribeTableRestoreStatusWithContext(ctx aws.Context, input *DescribeTableRestoreStatusInput, opts ...request.Option) (*DescribeTableRestoreStatusOutput, error) {
  5481. req, out := c.DescribeTableRestoreStatusRequest(input)
  5482. req.SetContext(ctx)
  5483. req.ApplyOptions(opts...)
  5484. return out, req.Send()
  5485. }
  5486. const opDescribeTags = "DescribeTags"
  5487. // DescribeTagsRequest generates a "aws/request.Request" representing the
  5488. // client's request for the DescribeTags operation. The "output" return
  5489. // value will be populated with the request's response once the request completes
  5490. // successfully.
  5491. //
  5492. // Use "Send" method on the returned Request to send the API call to the service.
  5493. // the "output" return value is not valid until after Send returns without error.
  5494. //
  5495. // See DescribeTags for more information on using the DescribeTags
  5496. // API call, and error handling.
  5497. //
  5498. // This method is useful when you want to inject custom logic or configuration
  5499. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5500. //
  5501. //
  5502. // // Example sending a request using the DescribeTagsRequest method.
  5503. // req, resp := client.DescribeTagsRequest(params)
  5504. //
  5505. // err := req.Send()
  5506. // if err == nil { // resp is now filled
  5507. // fmt.Println(resp)
  5508. // }
  5509. //
  5510. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTags
  5511. func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  5512. op := &request.Operation{
  5513. Name: opDescribeTags,
  5514. HTTPMethod: "POST",
  5515. HTTPPath: "/",
  5516. }
  5517. if input == nil {
  5518. input = &DescribeTagsInput{}
  5519. }
  5520. output = &DescribeTagsOutput{}
  5521. req = c.newRequest(op, input, output)
  5522. return
  5523. }
  5524. // DescribeTags API operation for Amazon Redshift.
  5525. //
  5526. // Returns a list of tags. You can return tags from a specific resource by specifying
  5527. // an ARN, or you can return all tags for a given type of resource, such as
  5528. // clusters, snapshots, and so on.
  5529. //
  5530. // The following are limitations for DescribeTags:
  5531. //
  5532. // * You cannot specify an ARN and a resource-type value together in the
  5533. // same request.
  5534. //
  5535. // * You cannot use the MaxRecords and Marker parameters together with the
  5536. // ARN parameter.
  5537. //
  5538. // * The MaxRecords parameter can be a range from 10 to 50 results to return
  5539. // in a request.
  5540. //
  5541. // If you specify both tag keys and tag values in the same request, Amazon Redshift
  5542. // returns all resources that match any combination of the specified keys and
  5543. // values. For example, if you have owner and environment for tag keys, and
  5544. // admin and test for tag values, all resources that have any combination of
  5545. // those values are returned.
  5546. //
  5547. // If both tag keys and values are omitted from the request, resources are returned
  5548. // regardless of whether they have tag keys or values associated with them.
  5549. //
  5550. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5551. // with awserr.Error's Code and Message methods to get detailed information about
  5552. // the error.
  5553. //
  5554. // See the AWS API reference guide for Amazon Redshift's
  5555. // API operation DescribeTags for usage and error information.
  5556. //
  5557. // Returned Error Codes:
  5558. // * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  5559. // The resource could not be found.
  5560. //
  5561. // * ErrCodeInvalidTagFault "InvalidTagFault"
  5562. // The tag is invalid.
  5563. //
  5564. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTags
  5565. func (c *Redshift) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  5566. req, out := c.DescribeTagsRequest(input)
  5567. return out, req.Send()
  5568. }
  5569. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  5570. // the ability to pass a context and additional request options.
  5571. //
  5572. // See DescribeTags for details on how to use this API operation.
  5573. //
  5574. // The context must be non-nil and will be used for request cancellation. If
  5575. // the context is nil a panic will occur. In the future the SDK may create
  5576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5577. // for more information on using Contexts.
  5578. func (c *Redshift) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  5579. req, out := c.DescribeTagsRequest(input)
  5580. req.SetContext(ctx)
  5581. req.ApplyOptions(opts...)
  5582. return out, req.Send()
  5583. }
  5584. const opDisableLogging = "DisableLogging"
  5585. // DisableLoggingRequest generates a "aws/request.Request" representing the
  5586. // client's request for the DisableLogging operation. The "output" return
  5587. // value will be populated with the request's response once the request completes
  5588. // successfully.
  5589. //
  5590. // Use "Send" method on the returned Request to send the API call to the service.
  5591. // the "output" return value is not valid until after Send returns without error.
  5592. //
  5593. // See DisableLogging for more information on using the DisableLogging
  5594. // API call, and error handling.
  5595. //
  5596. // This method is useful when you want to inject custom logic or configuration
  5597. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5598. //
  5599. //
  5600. // // Example sending a request using the DisableLoggingRequest method.
  5601. // req, resp := client.DisableLoggingRequest(params)
  5602. //
  5603. // err := req.Send()
  5604. // if err == nil { // resp is now filled
  5605. // fmt.Println(resp)
  5606. // }
  5607. //
  5608. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableLogging
  5609. func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *request.Request, output *LoggingStatus) {
  5610. op := &request.Operation{
  5611. Name: opDisableLogging,
  5612. HTTPMethod: "POST",
  5613. HTTPPath: "/",
  5614. }
  5615. if input == nil {
  5616. input = &DisableLoggingInput{}
  5617. }
  5618. output = &LoggingStatus{}
  5619. req = c.newRequest(op, input, output)
  5620. return
  5621. }
  5622. // DisableLogging API operation for Amazon Redshift.
  5623. //
  5624. // Stops logging information, such as queries and connection attempts, for the
  5625. // specified Amazon Redshift cluster.
  5626. //
  5627. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5628. // with awserr.Error's Code and Message methods to get detailed information about
  5629. // the error.
  5630. //
  5631. // See the AWS API reference guide for Amazon Redshift's
  5632. // API operation DisableLogging for usage and error information.
  5633. //
  5634. // Returned Error Codes:
  5635. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5636. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5637. //
  5638. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableLogging
  5639. func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, error) {
  5640. req, out := c.DisableLoggingRequest(input)
  5641. return out, req.Send()
  5642. }
  5643. // DisableLoggingWithContext is the same as DisableLogging with the addition of
  5644. // the ability to pass a context and additional request options.
  5645. //
  5646. // See DisableLogging for details on how to use this API operation.
  5647. //
  5648. // The context must be non-nil and will be used for request cancellation. If
  5649. // the context is nil a panic will occur. In the future the SDK may create
  5650. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5651. // for more information on using Contexts.
  5652. func (c *Redshift) DisableLoggingWithContext(ctx aws.Context, input *DisableLoggingInput, opts ...request.Option) (*LoggingStatus, error) {
  5653. req, out := c.DisableLoggingRequest(input)
  5654. req.SetContext(ctx)
  5655. req.ApplyOptions(opts...)
  5656. return out, req.Send()
  5657. }
  5658. const opDisableSnapshotCopy = "DisableSnapshotCopy"
  5659. // DisableSnapshotCopyRequest generates a "aws/request.Request" representing the
  5660. // client's request for the DisableSnapshotCopy operation. The "output" return
  5661. // value will be populated with the request's response once the request completes
  5662. // successfully.
  5663. //
  5664. // Use "Send" method on the returned Request to send the API call to the service.
  5665. // the "output" return value is not valid until after Send returns without error.
  5666. //
  5667. // See DisableSnapshotCopy for more information on using the DisableSnapshotCopy
  5668. // API call, and error handling.
  5669. //
  5670. // This method is useful when you want to inject custom logic or configuration
  5671. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5672. //
  5673. //
  5674. // // Example sending a request using the DisableSnapshotCopyRequest method.
  5675. // req, resp := client.DisableSnapshotCopyRequest(params)
  5676. //
  5677. // err := req.Send()
  5678. // if err == nil { // resp is now filled
  5679. // fmt.Println(resp)
  5680. // }
  5681. //
  5682. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableSnapshotCopy
  5683. func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) (req *request.Request, output *DisableSnapshotCopyOutput) {
  5684. op := &request.Operation{
  5685. Name: opDisableSnapshotCopy,
  5686. HTTPMethod: "POST",
  5687. HTTPPath: "/",
  5688. }
  5689. if input == nil {
  5690. input = &DisableSnapshotCopyInput{}
  5691. }
  5692. output = &DisableSnapshotCopyOutput{}
  5693. req = c.newRequest(op, input, output)
  5694. return
  5695. }
  5696. // DisableSnapshotCopy API operation for Amazon Redshift.
  5697. //
  5698. // Disables the automatic copying of snapshots from one region to another region
  5699. // for a specified cluster.
  5700. //
  5701. // If your cluster and its snapshots are encrypted using a customer master key
  5702. // (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that
  5703. // grants Amazon Redshift permission to the CMK in the destination region.
  5704. //
  5705. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5706. // with awserr.Error's Code and Message methods to get detailed information about
  5707. // the error.
  5708. //
  5709. // See the AWS API reference guide for Amazon Redshift's
  5710. // API operation DisableSnapshotCopy for usage and error information.
  5711. //
  5712. // Returned Error Codes:
  5713. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5714. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5715. //
  5716. // * ErrCodeSnapshotCopyAlreadyDisabledFault "SnapshotCopyAlreadyDisabledFault"
  5717. // The cluster already has cross-region snapshot copy disabled.
  5718. //
  5719. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  5720. // The specified cluster is not in the available state.
  5721. //
  5722. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  5723. // Your account is not authorized to perform the requested operation.
  5724. //
  5725. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableSnapshotCopy
  5726. func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*DisableSnapshotCopyOutput, error) {
  5727. req, out := c.DisableSnapshotCopyRequest(input)
  5728. return out, req.Send()
  5729. }
  5730. // DisableSnapshotCopyWithContext is the same as DisableSnapshotCopy with the addition of
  5731. // the ability to pass a context and additional request options.
  5732. //
  5733. // See DisableSnapshotCopy for details on how to use this API operation.
  5734. //
  5735. // The context must be non-nil and will be used for request cancellation. If
  5736. // the context is nil a panic will occur. In the future the SDK may create
  5737. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5738. // for more information on using Contexts.
  5739. func (c *Redshift) DisableSnapshotCopyWithContext(ctx aws.Context, input *DisableSnapshotCopyInput, opts ...request.Option) (*DisableSnapshotCopyOutput, error) {
  5740. req, out := c.DisableSnapshotCopyRequest(input)
  5741. req.SetContext(ctx)
  5742. req.ApplyOptions(opts...)
  5743. return out, req.Send()
  5744. }
  5745. const opEnableLogging = "EnableLogging"
  5746. // EnableLoggingRequest generates a "aws/request.Request" representing the
  5747. // client's request for the EnableLogging operation. The "output" return
  5748. // value will be populated with the request's response once the request completes
  5749. // successfully.
  5750. //
  5751. // Use "Send" method on the returned Request to send the API call to the service.
  5752. // the "output" return value is not valid until after Send returns without error.
  5753. //
  5754. // See EnableLogging for more information on using the EnableLogging
  5755. // API call, and error handling.
  5756. //
  5757. // This method is useful when you want to inject custom logic or configuration
  5758. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5759. //
  5760. //
  5761. // // Example sending a request using the EnableLoggingRequest method.
  5762. // req, resp := client.EnableLoggingRequest(params)
  5763. //
  5764. // err := req.Send()
  5765. // if err == nil { // resp is now filled
  5766. // fmt.Println(resp)
  5767. // }
  5768. //
  5769. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableLogging
  5770. func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request.Request, output *LoggingStatus) {
  5771. op := &request.Operation{
  5772. Name: opEnableLogging,
  5773. HTTPMethod: "POST",
  5774. HTTPPath: "/",
  5775. }
  5776. if input == nil {
  5777. input = &EnableLoggingInput{}
  5778. }
  5779. output = &LoggingStatus{}
  5780. req = c.newRequest(op, input, output)
  5781. return
  5782. }
  5783. // EnableLogging API operation for Amazon Redshift.
  5784. //
  5785. // Starts logging information, such as queries and connection attempts, for
  5786. // the specified Amazon Redshift cluster.
  5787. //
  5788. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5789. // with awserr.Error's Code and Message methods to get detailed information about
  5790. // the error.
  5791. //
  5792. // See the AWS API reference guide for Amazon Redshift's
  5793. // API operation EnableLogging for usage and error information.
  5794. //
  5795. // Returned Error Codes:
  5796. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5797. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5798. //
  5799. // * ErrCodeBucketNotFoundFault "BucketNotFoundFault"
  5800. // Could not find the specified S3 bucket.
  5801. //
  5802. // * ErrCodeInsufficientS3BucketPolicyFault "InsufficientS3BucketPolicyFault"
  5803. // The cluster does not have read bucket or put object permissions on the S3
  5804. // bucket specified when enabling logging.
  5805. //
  5806. // * ErrCodeInvalidS3KeyPrefixFault "InvalidS3KeyPrefixFault"
  5807. // The string specified for the logging S3 key prefix does not comply with the
  5808. // documented constraints.
  5809. //
  5810. // * ErrCodeInvalidS3BucketNameFault "InvalidS3BucketNameFault"
  5811. // The S3 bucket name is invalid. For more information about naming rules, go
  5812. // to Bucket Restrictions and Limitations (http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html)
  5813. // in the Amazon Simple Storage Service (S3) Developer Guide.
  5814. //
  5815. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableLogging
  5816. func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, error) {
  5817. req, out := c.EnableLoggingRequest(input)
  5818. return out, req.Send()
  5819. }
  5820. // EnableLoggingWithContext is the same as EnableLogging with the addition of
  5821. // the ability to pass a context and additional request options.
  5822. //
  5823. // See EnableLogging for details on how to use this API operation.
  5824. //
  5825. // The context must be non-nil and will be used for request cancellation. If
  5826. // the context is nil a panic will occur. In the future the SDK may create
  5827. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5828. // for more information on using Contexts.
  5829. func (c *Redshift) EnableLoggingWithContext(ctx aws.Context, input *EnableLoggingInput, opts ...request.Option) (*LoggingStatus, error) {
  5830. req, out := c.EnableLoggingRequest(input)
  5831. req.SetContext(ctx)
  5832. req.ApplyOptions(opts...)
  5833. return out, req.Send()
  5834. }
  5835. const opEnableSnapshotCopy = "EnableSnapshotCopy"
  5836. // EnableSnapshotCopyRequest generates a "aws/request.Request" representing the
  5837. // client's request for the EnableSnapshotCopy operation. The "output" return
  5838. // value will be populated with the request's response once the request completes
  5839. // successfully.
  5840. //
  5841. // Use "Send" method on the returned Request to send the API call to the service.
  5842. // the "output" return value is not valid until after Send returns without error.
  5843. //
  5844. // See EnableSnapshotCopy for more information on using the EnableSnapshotCopy
  5845. // API call, and error handling.
  5846. //
  5847. // This method is useful when you want to inject custom logic or configuration
  5848. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5849. //
  5850. //
  5851. // // Example sending a request using the EnableSnapshotCopyRequest method.
  5852. // req, resp := client.EnableSnapshotCopyRequest(params)
  5853. //
  5854. // err := req.Send()
  5855. // if err == nil { // resp is now filled
  5856. // fmt.Println(resp)
  5857. // }
  5858. //
  5859. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableSnapshotCopy
  5860. func (c *Redshift) EnableSnapshotCopyRequest(input *EnableSnapshotCopyInput) (req *request.Request, output *EnableSnapshotCopyOutput) {
  5861. op := &request.Operation{
  5862. Name: opEnableSnapshotCopy,
  5863. HTTPMethod: "POST",
  5864. HTTPPath: "/",
  5865. }
  5866. if input == nil {
  5867. input = &EnableSnapshotCopyInput{}
  5868. }
  5869. output = &EnableSnapshotCopyOutput{}
  5870. req = c.newRequest(op, input, output)
  5871. return
  5872. }
  5873. // EnableSnapshotCopy API operation for Amazon Redshift.
  5874. //
  5875. // Enables the automatic copy of snapshots from one region to another region
  5876. // for a specified cluster.
  5877. //
  5878. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5879. // with awserr.Error's Code and Message methods to get detailed information about
  5880. // the error.
  5881. //
  5882. // See the AWS API reference guide for Amazon Redshift's
  5883. // API operation EnableSnapshotCopy for usage and error information.
  5884. //
  5885. // Returned Error Codes:
  5886. // * ErrCodeIncompatibleOrderableOptions "IncompatibleOrderableOptions"
  5887. // The specified options are incompatible.
  5888. //
  5889. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  5890. // The specified cluster is not in the available state.
  5891. //
  5892. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  5893. // The ClusterIdentifier parameter does not refer to an existing cluster.
  5894. //
  5895. // * ErrCodeCopyToRegionDisabledFault "CopyToRegionDisabledFault"
  5896. // Cross-region snapshot copy was temporarily disabled. Try your request again.
  5897. //
  5898. // * ErrCodeSnapshotCopyAlreadyEnabledFault "SnapshotCopyAlreadyEnabledFault"
  5899. // The cluster already has cross-region snapshot copy enabled.
  5900. //
  5901. // * ErrCodeUnknownSnapshotCopyRegionFault "UnknownSnapshotCopyRegionFault"
  5902. // The specified region is incorrect or does not exist.
  5903. //
  5904. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  5905. // Your account is not authorized to perform the requested operation.
  5906. //
  5907. // * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault"
  5908. // The specified snapshot copy grant can't be found. Make sure that the name
  5909. // is typed correctly and that the grant exists in the destination region.
  5910. //
  5911. // * ErrCodeLimitExceededFault "LimitExceededFault"
  5912. // The encryption key has exceeded its grant limit in AWS KMS.
  5913. //
  5914. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  5915. // The request cannot be completed because a dependent service is throttling
  5916. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  5917. //
  5918. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  5919. // The retention period specified is either in the past or is not a valid value.
  5920. //
  5921. // The value must be either -1 or an integer between 1 and 3,653.
  5922. //
  5923. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableSnapshotCopy
  5924. func (c *Redshift) EnableSnapshotCopy(input *EnableSnapshotCopyInput) (*EnableSnapshotCopyOutput, error) {
  5925. req, out := c.EnableSnapshotCopyRequest(input)
  5926. return out, req.Send()
  5927. }
  5928. // EnableSnapshotCopyWithContext is the same as EnableSnapshotCopy with the addition of
  5929. // the ability to pass a context and additional request options.
  5930. //
  5931. // See EnableSnapshotCopy for details on how to use this API operation.
  5932. //
  5933. // The context must be non-nil and will be used for request cancellation. If
  5934. // the context is nil a panic will occur. In the future the SDK may create
  5935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5936. // for more information on using Contexts.
  5937. func (c *Redshift) EnableSnapshotCopyWithContext(ctx aws.Context, input *EnableSnapshotCopyInput, opts ...request.Option) (*EnableSnapshotCopyOutput, error) {
  5938. req, out := c.EnableSnapshotCopyRequest(input)
  5939. req.SetContext(ctx)
  5940. req.ApplyOptions(opts...)
  5941. return out, req.Send()
  5942. }
  5943. const opGetClusterCredentials = "GetClusterCredentials"
  5944. // GetClusterCredentialsRequest generates a "aws/request.Request" representing the
  5945. // client's request for the GetClusterCredentials operation. The "output" return
  5946. // value will be populated with the request's response once the request completes
  5947. // successfully.
  5948. //
  5949. // Use "Send" method on the returned Request to send the API call to the service.
  5950. // the "output" return value is not valid until after Send returns without error.
  5951. //
  5952. // See GetClusterCredentials for more information on using the GetClusterCredentials
  5953. // API call, and error handling.
  5954. //
  5955. // This method is useful when you want to inject custom logic or configuration
  5956. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5957. //
  5958. //
  5959. // // Example sending a request using the GetClusterCredentialsRequest method.
  5960. // req, resp := client.GetClusterCredentialsRequest(params)
  5961. //
  5962. // err := req.Send()
  5963. // if err == nil { // resp is now filled
  5964. // fmt.Println(resp)
  5965. // }
  5966. //
  5967. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetClusterCredentials
  5968. func (c *Redshift) GetClusterCredentialsRequest(input *GetClusterCredentialsInput) (req *request.Request, output *GetClusterCredentialsOutput) {
  5969. op := &request.Operation{
  5970. Name: opGetClusterCredentials,
  5971. HTTPMethod: "POST",
  5972. HTTPPath: "/",
  5973. }
  5974. if input == nil {
  5975. input = &GetClusterCredentialsInput{}
  5976. }
  5977. output = &GetClusterCredentialsOutput{}
  5978. req = c.newRequest(op, input, output)
  5979. return
  5980. }
  5981. // GetClusterCredentials API operation for Amazon Redshift.
  5982. //
  5983. // Returns a database user name and temporary password with temporary authorization
  5984. // to log on to an Amazon Redshift database. The action returns the database
  5985. // user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate
  5986. // is True. You can optionally specify one or more database user groups that
  5987. // the user will join at log on. By default, the temporary credentials expire
  5988. // in 900 seconds. You can optionally specify a duration between 900 seconds
  5989. // (15 minutes) and 3600 seconds (60 minutes). For more information, see Using
  5990. // IAM Authentication to Generate Database User Credentials (http://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html)
  5991. // in the Amazon Redshift Cluster Management Guide.
  5992. //
  5993. // The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials
  5994. // must have an IAM policy attached that allows access to all necessary actions
  5995. // and resources. For more information about permissions, see Resource Policies
  5996. // for GetClusterCredentials (http://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources)
  5997. // in the Amazon Redshift Cluster Management Guide.
  5998. //
  5999. // If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup
  6000. // action with access to the listed dbgroups.
  6001. //
  6002. // In addition, if the AutoCreate parameter is set to True, then the policy
  6003. // must include the redshift:CreateClusterUser privilege.
  6004. //
  6005. // If the DbName parameter is specified, the IAM policy must allow access to
  6006. // the resource dbname for the specified database name.
  6007. //
  6008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6009. // with awserr.Error's Code and Message methods to get detailed information about
  6010. // the error.
  6011. //
  6012. // See the AWS API reference guide for Amazon Redshift's
  6013. // API operation GetClusterCredentials for usage and error information.
  6014. //
  6015. // Returned Error Codes:
  6016. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6017. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6018. //
  6019. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  6020. // The requested operation isn't supported.
  6021. //
  6022. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetClusterCredentials
  6023. func (c *Redshift) GetClusterCredentials(input *GetClusterCredentialsInput) (*GetClusterCredentialsOutput, error) {
  6024. req, out := c.GetClusterCredentialsRequest(input)
  6025. return out, req.Send()
  6026. }
  6027. // GetClusterCredentialsWithContext is the same as GetClusterCredentials with the addition of
  6028. // the ability to pass a context and additional request options.
  6029. //
  6030. // See GetClusterCredentials for details on how to use this API operation.
  6031. //
  6032. // The context must be non-nil and will be used for request cancellation. If
  6033. // the context is nil a panic will occur. In the future the SDK may create
  6034. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6035. // for more information on using Contexts.
  6036. func (c *Redshift) GetClusterCredentialsWithContext(ctx aws.Context, input *GetClusterCredentialsInput, opts ...request.Option) (*GetClusterCredentialsOutput, error) {
  6037. req, out := c.GetClusterCredentialsRequest(input)
  6038. req.SetContext(ctx)
  6039. req.ApplyOptions(opts...)
  6040. return out, req.Send()
  6041. }
  6042. const opGetReservedNodeExchangeOfferings = "GetReservedNodeExchangeOfferings"
  6043. // GetReservedNodeExchangeOfferingsRequest generates a "aws/request.Request" representing the
  6044. // client's request for the GetReservedNodeExchangeOfferings operation. The "output" return
  6045. // value will be populated with the request's response once the request completes
  6046. // successfully.
  6047. //
  6048. // Use "Send" method on the returned Request to send the API call to the service.
  6049. // the "output" return value is not valid until after Send returns without error.
  6050. //
  6051. // See GetReservedNodeExchangeOfferings for more information on using the GetReservedNodeExchangeOfferings
  6052. // API call, and error handling.
  6053. //
  6054. // This method is useful when you want to inject custom logic or configuration
  6055. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6056. //
  6057. //
  6058. // // Example sending a request using the GetReservedNodeExchangeOfferingsRequest method.
  6059. // req, resp := client.GetReservedNodeExchangeOfferingsRequest(params)
  6060. //
  6061. // err := req.Send()
  6062. // if err == nil { // resp is now filled
  6063. // fmt.Println(resp)
  6064. // }
  6065. //
  6066. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetReservedNodeExchangeOfferings
  6067. func (c *Redshift) GetReservedNodeExchangeOfferingsRequest(input *GetReservedNodeExchangeOfferingsInput) (req *request.Request, output *GetReservedNodeExchangeOfferingsOutput) {
  6068. op := &request.Operation{
  6069. Name: opGetReservedNodeExchangeOfferings,
  6070. HTTPMethod: "POST",
  6071. HTTPPath: "/",
  6072. }
  6073. if input == nil {
  6074. input = &GetReservedNodeExchangeOfferingsInput{}
  6075. }
  6076. output = &GetReservedNodeExchangeOfferingsOutput{}
  6077. req = c.newRequest(op, input, output)
  6078. return
  6079. }
  6080. // GetReservedNodeExchangeOfferings API operation for Amazon Redshift.
  6081. //
  6082. // Returns an array of DC2 ReservedNodeOfferings that matches the payment type,
  6083. // term, and usage price of the given DC1 reserved node.
  6084. //
  6085. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6086. // with awserr.Error's Code and Message methods to get detailed information about
  6087. // the error.
  6088. //
  6089. // See the AWS API reference guide for Amazon Redshift's
  6090. // API operation GetReservedNodeExchangeOfferings for usage and error information.
  6091. //
  6092. // Returned Error Codes:
  6093. // * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound"
  6094. // The specified reserved compute node not found.
  6095. //
  6096. // * ErrCodeInvalidReservedNodeStateFault "InvalidReservedNodeState"
  6097. // Indicates that the Reserved Node being exchanged is not in an active state.
  6098. //
  6099. // * ErrCodeReservedNodeAlreadyMigratedFault "ReservedNodeAlreadyMigrated"
  6100. // Indicates that the reserved node has already been exchanged.
  6101. //
  6102. // * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound"
  6103. // Specified offering does not exist.
  6104. //
  6105. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  6106. // The requested operation isn't supported.
  6107. //
  6108. // * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault"
  6109. // Your request cannot be completed because a dependent internal service is
  6110. // temporarily unavailable. Wait 30 to 60 seconds and try again.
  6111. //
  6112. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetReservedNodeExchangeOfferings
  6113. func (c *Redshift) GetReservedNodeExchangeOfferings(input *GetReservedNodeExchangeOfferingsInput) (*GetReservedNodeExchangeOfferingsOutput, error) {
  6114. req, out := c.GetReservedNodeExchangeOfferingsRequest(input)
  6115. return out, req.Send()
  6116. }
  6117. // GetReservedNodeExchangeOfferingsWithContext is the same as GetReservedNodeExchangeOfferings with the addition of
  6118. // the ability to pass a context and additional request options.
  6119. //
  6120. // See GetReservedNodeExchangeOfferings for details on how to use this API operation.
  6121. //
  6122. // The context must be non-nil and will be used for request cancellation. If
  6123. // the context is nil a panic will occur. In the future the SDK may create
  6124. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6125. // for more information on using Contexts.
  6126. func (c *Redshift) GetReservedNodeExchangeOfferingsWithContext(ctx aws.Context, input *GetReservedNodeExchangeOfferingsInput, opts ...request.Option) (*GetReservedNodeExchangeOfferingsOutput, error) {
  6127. req, out := c.GetReservedNodeExchangeOfferingsRequest(input)
  6128. req.SetContext(ctx)
  6129. req.ApplyOptions(opts...)
  6130. return out, req.Send()
  6131. }
  6132. const opModifyCluster = "ModifyCluster"
  6133. // ModifyClusterRequest generates a "aws/request.Request" representing the
  6134. // client's request for the ModifyCluster operation. The "output" return
  6135. // value will be populated with the request's response once the request completes
  6136. // successfully.
  6137. //
  6138. // Use "Send" method on the returned Request to send the API call to the service.
  6139. // the "output" return value is not valid until after Send returns without error.
  6140. //
  6141. // See ModifyCluster for more information on using the ModifyCluster
  6142. // API call, and error handling.
  6143. //
  6144. // This method is useful when you want to inject custom logic or configuration
  6145. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6146. //
  6147. //
  6148. // // Example sending a request using the ModifyClusterRequest method.
  6149. // req, resp := client.ModifyClusterRequest(params)
  6150. //
  6151. // err := req.Send()
  6152. // if err == nil { // resp is now filled
  6153. // fmt.Println(resp)
  6154. // }
  6155. //
  6156. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyCluster
  6157. func (c *Redshift) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) {
  6158. op := &request.Operation{
  6159. Name: opModifyCluster,
  6160. HTTPMethod: "POST",
  6161. HTTPPath: "/",
  6162. }
  6163. if input == nil {
  6164. input = &ModifyClusterInput{}
  6165. }
  6166. output = &ModifyClusterOutput{}
  6167. req = c.newRequest(op, input, output)
  6168. return
  6169. }
  6170. // ModifyCluster API operation for Amazon Redshift.
  6171. //
  6172. // Modifies the settings for a cluster. For example, you can add another security
  6173. // or parameter group, update the preferred maintenance window, or change the
  6174. // master user password. Resetting a cluster password or modifying the security
  6175. // groups associated with a cluster do not need a reboot. However, modifying
  6176. // a parameter group requires a reboot for parameters to take effect. For more
  6177. // information about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  6178. // in the Amazon Redshift Cluster Management Guide.
  6179. //
  6180. // You can also change node type and the number of nodes to scale up or down
  6181. // the cluster. When resizing a cluster, you must specify both the number of
  6182. // nodes and the node type even if one of the parameters does not change.
  6183. //
  6184. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6185. // with awserr.Error's Code and Message methods to get detailed information about
  6186. // the error.
  6187. //
  6188. // See the AWS API reference guide for Amazon Redshift's
  6189. // API operation ModifyCluster for usage and error information.
  6190. //
  6191. // Returned Error Codes:
  6192. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  6193. // The specified cluster is not in the available state.
  6194. //
  6195. // * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState"
  6196. // The state of the cluster security group is not available.
  6197. //
  6198. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6199. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6200. //
  6201. // * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded"
  6202. // The operation would exceed the number of nodes allotted to the account. For
  6203. // information about increasing your quota, go to Limits in Amazon Redshift
  6204. // (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  6205. // in the Amazon Redshift Cluster Management Guide.
  6206. //
  6207. // * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded"
  6208. // The operation would exceed the number of nodes allowed for a cluster.
  6209. //
  6210. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  6211. // The cluster security group name does not refer to an existing cluster security
  6212. // group.
  6213. //
  6214. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  6215. // The parameter group name does not refer to an existing parameter group.
  6216. //
  6217. // * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity"
  6218. // The number of nodes specified exceeds the allotted capacity of the cluster.
  6219. //
  6220. // * ErrCodeUnsupportedOptionFault "UnsupportedOptionFault"
  6221. // A request option was specified that is not supported.
  6222. //
  6223. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  6224. // Your account is not authorized to perform the requested operation.
  6225. //
  6226. // * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault"
  6227. // There is no Amazon Redshift HSM client certificate with the specified identifier.
  6228. //
  6229. // * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault"
  6230. // There is no Amazon Redshift HSM configuration with the specified identifier.
  6231. //
  6232. // * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists"
  6233. // The account already has a cluster with the given identifier.
  6234. //
  6235. // * ErrCodeLimitExceededFault "LimitExceededFault"
  6236. // The encryption key has exceeded its grant limit in AWS KMS.
  6237. //
  6238. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  6239. // The request cannot be completed because a dependent service is throttling
  6240. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  6241. //
  6242. // * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault"
  6243. // The Elastic IP (EIP) is invalid or cannot be found.
  6244. //
  6245. // * ErrCodeTableLimitExceededFault "TableLimitExceeded"
  6246. // The number of tables in the cluster exceeds the limit for the requested new
  6247. // cluster node type.
  6248. //
  6249. // * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack"
  6250. // The provided cluster track name is not valid.
  6251. //
  6252. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  6253. // The retention period specified is either in the past or is not a valid value.
  6254. //
  6255. // The value must be either -1 or an integer between 1 and 3,653.
  6256. //
  6257. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyCluster
  6258. func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) {
  6259. req, out := c.ModifyClusterRequest(input)
  6260. return out, req.Send()
  6261. }
  6262. // ModifyClusterWithContext is the same as ModifyCluster with the addition of
  6263. // the ability to pass a context and additional request options.
  6264. //
  6265. // See ModifyCluster for details on how to use this API operation.
  6266. //
  6267. // The context must be non-nil and will be used for request cancellation. If
  6268. // the context is nil a panic will occur. In the future the SDK may create
  6269. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6270. // for more information on using Contexts.
  6271. func (c *Redshift) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) {
  6272. req, out := c.ModifyClusterRequest(input)
  6273. req.SetContext(ctx)
  6274. req.ApplyOptions(opts...)
  6275. return out, req.Send()
  6276. }
  6277. const opModifyClusterDbRevision = "ModifyClusterDbRevision"
  6278. // ModifyClusterDbRevisionRequest generates a "aws/request.Request" representing the
  6279. // client's request for the ModifyClusterDbRevision operation. The "output" return
  6280. // value will be populated with the request's response once the request completes
  6281. // successfully.
  6282. //
  6283. // Use "Send" method on the returned Request to send the API call to the service.
  6284. // the "output" return value is not valid until after Send returns without error.
  6285. //
  6286. // See ModifyClusterDbRevision for more information on using the ModifyClusterDbRevision
  6287. // API call, and error handling.
  6288. //
  6289. // This method is useful when you want to inject custom logic or configuration
  6290. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6291. //
  6292. //
  6293. // // Example sending a request using the ModifyClusterDbRevisionRequest method.
  6294. // req, resp := client.ModifyClusterDbRevisionRequest(params)
  6295. //
  6296. // err := req.Send()
  6297. // if err == nil { // resp is now filled
  6298. // fmt.Println(resp)
  6299. // }
  6300. //
  6301. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterDbRevision
  6302. func (c *Redshift) ModifyClusterDbRevisionRequest(input *ModifyClusterDbRevisionInput) (req *request.Request, output *ModifyClusterDbRevisionOutput) {
  6303. op := &request.Operation{
  6304. Name: opModifyClusterDbRevision,
  6305. HTTPMethod: "POST",
  6306. HTTPPath: "/",
  6307. }
  6308. if input == nil {
  6309. input = &ModifyClusterDbRevisionInput{}
  6310. }
  6311. output = &ModifyClusterDbRevisionOutput{}
  6312. req = c.newRequest(op, input, output)
  6313. return
  6314. }
  6315. // ModifyClusterDbRevision API operation for Amazon Redshift.
  6316. //
  6317. // Modifies the database revision of a cluster. The database revision is a unique
  6318. // revision of the database running in a cluster.
  6319. //
  6320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6321. // with awserr.Error's Code and Message methods to get detailed information about
  6322. // the error.
  6323. //
  6324. // See the AWS API reference guide for Amazon Redshift's
  6325. // API operation ModifyClusterDbRevision for usage and error information.
  6326. //
  6327. // Returned Error Codes:
  6328. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6329. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6330. //
  6331. // * ErrCodeClusterOnLatestRevisionFault "ClusterOnLatestRevision"
  6332. // Cluster is already on the latest database revision.
  6333. //
  6334. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  6335. // The specified cluster is not in the available state.
  6336. //
  6337. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterDbRevision
  6338. func (c *Redshift) ModifyClusterDbRevision(input *ModifyClusterDbRevisionInput) (*ModifyClusterDbRevisionOutput, error) {
  6339. req, out := c.ModifyClusterDbRevisionRequest(input)
  6340. return out, req.Send()
  6341. }
  6342. // ModifyClusterDbRevisionWithContext is the same as ModifyClusterDbRevision with the addition of
  6343. // the ability to pass a context and additional request options.
  6344. //
  6345. // See ModifyClusterDbRevision for details on how to use this API operation.
  6346. //
  6347. // The context must be non-nil and will be used for request cancellation. If
  6348. // the context is nil a panic will occur. In the future the SDK may create
  6349. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6350. // for more information on using Contexts.
  6351. func (c *Redshift) ModifyClusterDbRevisionWithContext(ctx aws.Context, input *ModifyClusterDbRevisionInput, opts ...request.Option) (*ModifyClusterDbRevisionOutput, error) {
  6352. req, out := c.ModifyClusterDbRevisionRequest(input)
  6353. req.SetContext(ctx)
  6354. req.ApplyOptions(opts...)
  6355. return out, req.Send()
  6356. }
  6357. const opModifyClusterIamRoles = "ModifyClusterIamRoles"
  6358. // ModifyClusterIamRolesRequest generates a "aws/request.Request" representing the
  6359. // client's request for the ModifyClusterIamRoles operation. The "output" return
  6360. // value will be populated with the request's response once the request completes
  6361. // successfully.
  6362. //
  6363. // Use "Send" method on the returned Request to send the API call to the service.
  6364. // the "output" return value is not valid until after Send returns without error.
  6365. //
  6366. // See ModifyClusterIamRoles for more information on using the ModifyClusterIamRoles
  6367. // API call, and error handling.
  6368. //
  6369. // This method is useful when you want to inject custom logic or configuration
  6370. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6371. //
  6372. //
  6373. // // Example sending a request using the ModifyClusterIamRolesRequest method.
  6374. // req, resp := client.ModifyClusterIamRolesRequest(params)
  6375. //
  6376. // err := req.Send()
  6377. // if err == nil { // resp is now filled
  6378. // fmt.Println(resp)
  6379. // }
  6380. //
  6381. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterIamRoles
  6382. func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInput) (req *request.Request, output *ModifyClusterIamRolesOutput) {
  6383. op := &request.Operation{
  6384. Name: opModifyClusterIamRoles,
  6385. HTTPMethod: "POST",
  6386. HTTPPath: "/",
  6387. }
  6388. if input == nil {
  6389. input = &ModifyClusterIamRolesInput{}
  6390. }
  6391. output = &ModifyClusterIamRolesOutput{}
  6392. req = c.newRequest(op, input, output)
  6393. return
  6394. }
  6395. // ModifyClusterIamRoles API operation for Amazon Redshift.
  6396. //
  6397. // Modifies the list of AWS Identity and Access Management (IAM) roles that
  6398. // can be used by the cluster to access other AWS services.
  6399. //
  6400. // A cluster can have up to 10 IAM roles associated at any time.
  6401. //
  6402. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6403. // with awserr.Error's Code and Message methods to get detailed information about
  6404. // the error.
  6405. //
  6406. // See the AWS API reference guide for Amazon Redshift's
  6407. // API operation ModifyClusterIamRoles for usage and error information.
  6408. //
  6409. // Returned Error Codes:
  6410. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  6411. // The specified cluster is not in the available state.
  6412. //
  6413. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6414. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6415. //
  6416. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterIamRoles
  6417. func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*ModifyClusterIamRolesOutput, error) {
  6418. req, out := c.ModifyClusterIamRolesRequest(input)
  6419. return out, req.Send()
  6420. }
  6421. // ModifyClusterIamRolesWithContext is the same as ModifyClusterIamRoles with the addition of
  6422. // the ability to pass a context and additional request options.
  6423. //
  6424. // See ModifyClusterIamRoles for details on how to use this API operation.
  6425. //
  6426. // The context must be non-nil and will be used for request cancellation. If
  6427. // the context is nil a panic will occur. In the future the SDK may create
  6428. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6429. // for more information on using Contexts.
  6430. func (c *Redshift) ModifyClusterIamRolesWithContext(ctx aws.Context, input *ModifyClusterIamRolesInput, opts ...request.Option) (*ModifyClusterIamRolesOutput, error) {
  6431. req, out := c.ModifyClusterIamRolesRequest(input)
  6432. req.SetContext(ctx)
  6433. req.ApplyOptions(opts...)
  6434. return out, req.Send()
  6435. }
  6436. const opModifyClusterMaintenance = "ModifyClusterMaintenance"
  6437. // ModifyClusterMaintenanceRequest generates a "aws/request.Request" representing the
  6438. // client's request for the ModifyClusterMaintenance operation. The "output" return
  6439. // value will be populated with the request's response once the request completes
  6440. // successfully.
  6441. //
  6442. // Use "Send" method on the returned Request to send the API call to the service.
  6443. // the "output" return value is not valid until after Send returns without error.
  6444. //
  6445. // See ModifyClusterMaintenance for more information on using the ModifyClusterMaintenance
  6446. // API call, and error handling.
  6447. //
  6448. // This method is useful when you want to inject custom logic or configuration
  6449. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6450. //
  6451. //
  6452. // // Example sending a request using the ModifyClusterMaintenanceRequest method.
  6453. // req, resp := client.ModifyClusterMaintenanceRequest(params)
  6454. //
  6455. // err := req.Send()
  6456. // if err == nil { // resp is now filled
  6457. // fmt.Println(resp)
  6458. // }
  6459. //
  6460. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterMaintenance
  6461. func (c *Redshift) ModifyClusterMaintenanceRequest(input *ModifyClusterMaintenanceInput) (req *request.Request, output *ModifyClusterMaintenanceOutput) {
  6462. op := &request.Operation{
  6463. Name: opModifyClusterMaintenance,
  6464. HTTPMethod: "POST",
  6465. HTTPPath: "/",
  6466. }
  6467. if input == nil {
  6468. input = &ModifyClusterMaintenanceInput{}
  6469. }
  6470. output = &ModifyClusterMaintenanceOutput{}
  6471. req = c.newRequest(op, input, output)
  6472. return
  6473. }
  6474. // ModifyClusterMaintenance API operation for Amazon Redshift.
  6475. //
  6476. // Modifies the maintenance settings of a cluster. For example, you can defer
  6477. // a maintenance window. You can also update or cancel a deferment.
  6478. //
  6479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6480. // with awserr.Error's Code and Message methods to get detailed information about
  6481. // the error.
  6482. //
  6483. // See the AWS API reference guide for Amazon Redshift's
  6484. // API operation ModifyClusterMaintenance for usage and error information.
  6485. //
  6486. // Returned Error Codes:
  6487. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6488. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6489. //
  6490. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterMaintenance
  6491. func (c *Redshift) ModifyClusterMaintenance(input *ModifyClusterMaintenanceInput) (*ModifyClusterMaintenanceOutput, error) {
  6492. req, out := c.ModifyClusterMaintenanceRequest(input)
  6493. return out, req.Send()
  6494. }
  6495. // ModifyClusterMaintenanceWithContext is the same as ModifyClusterMaintenance with the addition of
  6496. // the ability to pass a context and additional request options.
  6497. //
  6498. // See ModifyClusterMaintenance for details on how to use this API operation.
  6499. //
  6500. // The context must be non-nil and will be used for request cancellation. If
  6501. // the context is nil a panic will occur. In the future the SDK may create
  6502. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6503. // for more information on using Contexts.
  6504. func (c *Redshift) ModifyClusterMaintenanceWithContext(ctx aws.Context, input *ModifyClusterMaintenanceInput, opts ...request.Option) (*ModifyClusterMaintenanceOutput, error) {
  6505. req, out := c.ModifyClusterMaintenanceRequest(input)
  6506. req.SetContext(ctx)
  6507. req.ApplyOptions(opts...)
  6508. return out, req.Send()
  6509. }
  6510. const opModifyClusterParameterGroup = "ModifyClusterParameterGroup"
  6511. // ModifyClusterParameterGroupRequest generates a "aws/request.Request" representing the
  6512. // client's request for the ModifyClusterParameterGroup operation. The "output" return
  6513. // value will be populated with the request's response once the request completes
  6514. // successfully.
  6515. //
  6516. // Use "Send" method on the returned Request to send the API call to the service.
  6517. // the "output" return value is not valid until after Send returns without error.
  6518. //
  6519. // See ModifyClusterParameterGroup for more information on using the ModifyClusterParameterGroup
  6520. // API call, and error handling.
  6521. //
  6522. // This method is useful when you want to inject custom logic or configuration
  6523. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6524. //
  6525. //
  6526. // // Example sending a request using the ModifyClusterParameterGroupRequest method.
  6527. // req, resp := client.ModifyClusterParameterGroupRequest(params)
  6528. //
  6529. // err := req.Send()
  6530. // if err == nil { // resp is now filled
  6531. // fmt.Println(resp)
  6532. // }
  6533. //
  6534. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterParameterGroup
  6535. func (c *Redshift) ModifyClusterParameterGroupRequest(input *ModifyClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) {
  6536. op := &request.Operation{
  6537. Name: opModifyClusterParameterGroup,
  6538. HTTPMethod: "POST",
  6539. HTTPPath: "/",
  6540. }
  6541. if input == nil {
  6542. input = &ModifyClusterParameterGroupInput{}
  6543. }
  6544. output = &ClusterParameterGroupNameMessage{}
  6545. req = c.newRequest(op, input, output)
  6546. return
  6547. }
  6548. // ModifyClusterParameterGroup API operation for Amazon Redshift.
  6549. //
  6550. // Modifies the parameters of a parameter group.
  6551. //
  6552. // For more information about parameters and parameter groups, go to Amazon
  6553. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  6554. // in the Amazon Redshift Cluster Management Guide.
  6555. //
  6556. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6557. // with awserr.Error's Code and Message methods to get detailed information about
  6558. // the error.
  6559. //
  6560. // See the AWS API reference guide for Amazon Redshift's
  6561. // API operation ModifyClusterParameterGroup for usage and error information.
  6562. //
  6563. // Returned Error Codes:
  6564. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  6565. // The parameter group name does not refer to an existing parameter group.
  6566. //
  6567. // * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState"
  6568. // The cluster parameter group action can not be completed because another task
  6569. // is in progress that involves the parameter group. Wait a few moments and
  6570. // try the operation again.
  6571. //
  6572. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterParameterGroup
  6573. func (c *Redshift) ModifyClusterParameterGroup(input *ModifyClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) {
  6574. req, out := c.ModifyClusterParameterGroupRequest(input)
  6575. return out, req.Send()
  6576. }
  6577. // ModifyClusterParameterGroupWithContext is the same as ModifyClusterParameterGroup with the addition of
  6578. // the ability to pass a context and additional request options.
  6579. //
  6580. // See ModifyClusterParameterGroup for details on how to use this API operation.
  6581. //
  6582. // The context must be non-nil and will be used for request cancellation. If
  6583. // the context is nil a panic will occur. In the future the SDK may create
  6584. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6585. // for more information on using Contexts.
  6586. func (c *Redshift) ModifyClusterParameterGroupWithContext(ctx aws.Context, input *ModifyClusterParameterGroupInput, opts ...request.Option) (*ClusterParameterGroupNameMessage, error) {
  6587. req, out := c.ModifyClusterParameterGroupRequest(input)
  6588. req.SetContext(ctx)
  6589. req.ApplyOptions(opts...)
  6590. return out, req.Send()
  6591. }
  6592. const opModifyClusterSnapshot = "ModifyClusterSnapshot"
  6593. // ModifyClusterSnapshotRequest generates a "aws/request.Request" representing the
  6594. // client's request for the ModifyClusterSnapshot operation. The "output" return
  6595. // value will be populated with the request's response once the request completes
  6596. // successfully.
  6597. //
  6598. // Use "Send" method on the returned Request to send the API call to the service.
  6599. // the "output" return value is not valid until after Send returns without error.
  6600. //
  6601. // See ModifyClusterSnapshot for more information on using the ModifyClusterSnapshot
  6602. // API call, and error handling.
  6603. //
  6604. // This method is useful when you want to inject custom logic or configuration
  6605. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6606. //
  6607. //
  6608. // // Example sending a request using the ModifyClusterSnapshotRequest method.
  6609. // req, resp := client.ModifyClusterSnapshotRequest(params)
  6610. //
  6611. // err := req.Send()
  6612. // if err == nil { // resp is now filled
  6613. // fmt.Println(resp)
  6614. // }
  6615. //
  6616. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshot
  6617. func (c *Redshift) ModifyClusterSnapshotRequest(input *ModifyClusterSnapshotInput) (req *request.Request, output *ModifyClusterSnapshotOutput) {
  6618. op := &request.Operation{
  6619. Name: opModifyClusterSnapshot,
  6620. HTTPMethod: "POST",
  6621. HTTPPath: "/",
  6622. }
  6623. if input == nil {
  6624. input = &ModifyClusterSnapshotInput{}
  6625. }
  6626. output = &ModifyClusterSnapshotOutput{}
  6627. req = c.newRequest(op, input, output)
  6628. return
  6629. }
  6630. // ModifyClusterSnapshot API operation for Amazon Redshift.
  6631. //
  6632. // Modifies the settings for a snapshot.
  6633. //
  6634. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6635. // with awserr.Error's Code and Message methods to get detailed information about
  6636. // the error.
  6637. //
  6638. // See the AWS API reference guide for Amazon Redshift's
  6639. // API operation ModifyClusterSnapshot for usage and error information.
  6640. //
  6641. // Returned Error Codes:
  6642. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  6643. // The specified cluster snapshot is not in the available state, or other accounts
  6644. // are authorized to access the snapshot.
  6645. //
  6646. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  6647. // The snapshot identifier does not refer to an existing cluster snapshot.
  6648. //
  6649. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  6650. // The retention period specified is either in the past or is not a valid value.
  6651. //
  6652. // The value must be either -1 or an integer between 1 and 3,653.
  6653. //
  6654. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshot
  6655. func (c *Redshift) ModifyClusterSnapshot(input *ModifyClusterSnapshotInput) (*ModifyClusterSnapshotOutput, error) {
  6656. req, out := c.ModifyClusterSnapshotRequest(input)
  6657. return out, req.Send()
  6658. }
  6659. // ModifyClusterSnapshotWithContext is the same as ModifyClusterSnapshot with the addition of
  6660. // the ability to pass a context and additional request options.
  6661. //
  6662. // See ModifyClusterSnapshot for details on how to use this API operation.
  6663. //
  6664. // The context must be non-nil and will be used for request cancellation. If
  6665. // the context is nil a panic will occur. In the future the SDK may create
  6666. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6667. // for more information on using Contexts.
  6668. func (c *Redshift) ModifyClusterSnapshotWithContext(ctx aws.Context, input *ModifyClusterSnapshotInput, opts ...request.Option) (*ModifyClusterSnapshotOutput, error) {
  6669. req, out := c.ModifyClusterSnapshotRequest(input)
  6670. req.SetContext(ctx)
  6671. req.ApplyOptions(opts...)
  6672. return out, req.Send()
  6673. }
  6674. const opModifyClusterSnapshotSchedule = "ModifyClusterSnapshotSchedule"
  6675. // ModifyClusterSnapshotScheduleRequest generates a "aws/request.Request" representing the
  6676. // client's request for the ModifyClusterSnapshotSchedule operation. The "output" return
  6677. // value will be populated with the request's response once the request completes
  6678. // successfully.
  6679. //
  6680. // Use "Send" method on the returned Request to send the API call to the service.
  6681. // the "output" return value is not valid until after Send returns without error.
  6682. //
  6683. // See ModifyClusterSnapshotSchedule for more information on using the ModifyClusterSnapshotSchedule
  6684. // API call, and error handling.
  6685. //
  6686. // This method is useful when you want to inject custom logic or configuration
  6687. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6688. //
  6689. //
  6690. // // Example sending a request using the ModifyClusterSnapshotScheduleRequest method.
  6691. // req, resp := client.ModifyClusterSnapshotScheduleRequest(params)
  6692. //
  6693. // err := req.Send()
  6694. // if err == nil { // resp is now filled
  6695. // fmt.Println(resp)
  6696. // }
  6697. //
  6698. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotSchedule
  6699. func (c *Redshift) ModifyClusterSnapshotScheduleRequest(input *ModifyClusterSnapshotScheduleInput) (req *request.Request, output *ModifyClusterSnapshotScheduleOutput) {
  6700. op := &request.Operation{
  6701. Name: opModifyClusterSnapshotSchedule,
  6702. HTTPMethod: "POST",
  6703. HTTPPath: "/",
  6704. }
  6705. if input == nil {
  6706. input = &ModifyClusterSnapshotScheduleInput{}
  6707. }
  6708. output = &ModifyClusterSnapshotScheduleOutput{}
  6709. req = c.newRequest(op, input, output)
  6710. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6711. return
  6712. }
  6713. // ModifyClusterSnapshotSchedule API operation for Amazon Redshift.
  6714. //
  6715. // Modifies a snapshot schedule for a cluster.
  6716. //
  6717. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6718. // with awserr.Error's Code and Message methods to get detailed information about
  6719. // the error.
  6720. //
  6721. // See the AWS API reference guide for Amazon Redshift's
  6722. // API operation ModifyClusterSnapshotSchedule for usage and error information.
  6723. //
  6724. // Returned Error Codes:
  6725. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  6726. // The ClusterIdentifier parameter does not refer to an existing cluster.
  6727. //
  6728. // * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound"
  6729. // We could not find the specified snapshot schedule.
  6730. //
  6731. // * ErrCodeInvalidClusterSnapshotScheduleStateFault "InvalidClusterSnapshotScheduleState"
  6732. // The cluster snapshot schedule state is not valid.
  6733. //
  6734. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotSchedule
  6735. func (c *Redshift) ModifyClusterSnapshotSchedule(input *ModifyClusterSnapshotScheduleInput) (*ModifyClusterSnapshotScheduleOutput, error) {
  6736. req, out := c.ModifyClusterSnapshotScheduleRequest(input)
  6737. return out, req.Send()
  6738. }
  6739. // ModifyClusterSnapshotScheduleWithContext is the same as ModifyClusterSnapshotSchedule with the addition of
  6740. // the ability to pass a context and additional request options.
  6741. //
  6742. // See ModifyClusterSnapshotSchedule for details on how to use this API operation.
  6743. //
  6744. // The context must be non-nil and will be used for request cancellation. If
  6745. // the context is nil a panic will occur. In the future the SDK may create
  6746. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6747. // for more information on using Contexts.
  6748. func (c *Redshift) ModifyClusterSnapshotScheduleWithContext(ctx aws.Context, input *ModifyClusterSnapshotScheduleInput, opts ...request.Option) (*ModifyClusterSnapshotScheduleOutput, error) {
  6749. req, out := c.ModifyClusterSnapshotScheduleRequest(input)
  6750. req.SetContext(ctx)
  6751. req.ApplyOptions(opts...)
  6752. return out, req.Send()
  6753. }
  6754. const opModifyClusterSubnetGroup = "ModifyClusterSubnetGroup"
  6755. // ModifyClusterSubnetGroupRequest generates a "aws/request.Request" representing the
  6756. // client's request for the ModifyClusterSubnetGroup operation. The "output" return
  6757. // value will be populated with the request's response once the request completes
  6758. // successfully.
  6759. //
  6760. // Use "Send" method on the returned Request to send the API call to the service.
  6761. // the "output" return value is not valid until after Send returns without error.
  6762. //
  6763. // See ModifyClusterSubnetGroup for more information on using the ModifyClusterSubnetGroup
  6764. // API call, and error handling.
  6765. //
  6766. // This method is useful when you want to inject custom logic or configuration
  6767. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6768. //
  6769. //
  6770. // // Example sending a request using the ModifyClusterSubnetGroupRequest method.
  6771. // req, resp := client.ModifyClusterSubnetGroupRequest(params)
  6772. //
  6773. // err := req.Send()
  6774. // if err == nil { // resp is now filled
  6775. // fmt.Println(resp)
  6776. // }
  6777. //
  6778. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSubnetGroup
  6779. func (c *Redshift) ModifyClusterSubnetGroupRequest(input *ModifyClusterSubnetGroupInput) (req *request.Request, output *ModifyClusterSubnetGroupOutput) {
  6780. op := &request.Operation{
  6781. Name: opModifyClusterSubnetGroup,
  6782. HTTPMethod: "POST",
  6783. HTTPPath: "/",
  6784. }
  6785. if input == nil {
  6786. input = &ModifyClusterSubnetGroupInput{}
  6787. }
  6788. output = &ModifyClusterSubnetGroupOutput{}
  6789. req = c.newRequest(op, input, output)
  6790. return
  6791. }
  6792. // ModifyClusterSubnetGroup API operation for Amazon Redshift.
  6793. //
  6794. // Modifies a cluster subnet group to include the specified list of VPC subnets.
  6795. // The operation replaces the existing list of subnets with the new list of
  6796. // subnets.
  6797. //
  6798. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6799. // with awserr.Error's Code and Message methods to get detailed information about
  6800. // the error.
  6801. //
  6802. // See the AWS API reference guide for Amazon Redshift's
  6803. // API operation ModifyClusterSubnetGroup for usage and error information.
  6804. //
  6805. // Returned Error Codes:
  6806. // * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  6807. // The cluster subnet group name does not refer to an existing cluster subnet
  6808. // group.
  6809. //
  6810. // * ErrCodeClusterSubnetQuotaExceededFault "ClusterSubnetQuotaExceededFault"
  6811. // The request would result in user exceeding the allowed number of subnets
  6812. // in a cluster subnet groups. For information about increasing your quota,
  6813. // go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  6814. // in the Amazon Redshift Cluster Management Guide.
  6815. //
  6816. // * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
  6817. // A specified subnet is already in use by another cluster.
  6818. //
  6819. // * ErrCodeInvalidSubnet "InvalidSubnet"
  6820. // The requested subnet is not valid, or not all of the subnets are in the same
  6821. // VPC.
  6822. //
  6823. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  6824. // Your account is not authorized to perform the requested operation.
  6825. //
  6826. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  6827. // The request cannot be completed because a dependent service is throttling
  6828. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  6829. //
  6830. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSubnetGroup
  6831. func (c *Redshift) ModifyClusterSubnetGroup(input *ModifyClusterSubnetGroupInput) (*ModifyClusterSubnetGroupOutput, error) {
  6832. req, out := c.ModifyClusterSubnetGroupRequest(input)
  6833. return out, req.Send()
  6834. }
  6835. // ModifyClusterSubnetGroupWithContext is the same as ModifyClusterSubnetGroup with the addition of
  6836. // the ability to pass a context and additional request options.
  6837. //
  6838. // See ModifyClusterSubnetGroup for details on how to use this API operation.
  6839. //
  6840. // The context must be non-nil and will be used for request cancellation. If
  6841. // the context is nil a panic will occur. In the future the SDK may create
  6842. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6843. // for more information on using Contexts.
  6844. func (c *Redshift) ModifyClusterSubnetGroupWithContext(ctx aws.Context, input *ModifyClusterSubnetGroupInput, opts ...request.Option) (*ModifyClusterSubnetGroupOutput, error) {
  6845. req, out := c.ModifyClusterSubnetGroupRequest(input)
  6846. req.SetContext(ctx)
  6847. req.ApplyOptions(opts...)
  6848. return out, req.Send()
  6849. }
  6850. const opModifyEventSubscription = "ModifyEventSubscription"
  6851. // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
  6852. // client's request for the ModifyEventSubscription operation. The "output" return
  6853. // value will be populated with the request's response once the request completes
  6854. // successfully.
  6855. //
  6856. // Use "Send" method on the returned Request to send the API call to the service.
  6857. // the "output" return value is not valid until after Send returns without error.
  6858. //
  6859. // See ModifyEventSubscription for more information on using the ModifyEventSubscription
  6860. // API call, and error handling.
  6861. //
  6862. // This method is useful when you want to inject custom logic or configuration
  6863. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6864. //
  6865. //
  6866. // // Example sending a request using the ModifyEventSubscriptionRequest method.
  6867. // req, resp := client.ModifyEventSubscriptionRequest(params)
  6868. //
  6869. // err := req.Send()
  6870. // if err == nil { // resp is now filled
  6871. // fmt.Println(resp)
  6872. // }
  6873. //
  6874. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyEventSubscription
  6875. func (c *Redshift) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
  6876. op := &request.Operation{
  6877. Name: opModifyEventSubscription,
  6878. HTTPMethod: "POST",
  6879. HTTPPath: "/",
  6880. }
  6881. if input == nil {
  6882. input = &ModifyEventSubscriptionInput{}
  6883. }
  6884. output = &ModifyEventSubscriptionOutput{}
  6885. req = c.newRequest(op, input, output)
  6886. return
  6887. }
  6888. // ModifyEventSubscription API operation for Amazon Redshift.
  6889. //
  6890. // Modifies an existing Amazon Redshift event notification subscription.
  6891. //
  6892. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6893. // with awserr.Error's Code and Message methods to get detailed information about
  6894. // the error.
  6895. //
  6896. // See the AWS API reference guide for Amazon Redshift's
  6897. // API operation ModifyEventSubscription for usage and error information.
  6898. //
  6899. // Returned Error Codes:
  6900. // * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  6901. // An Amazon Redshift event notification subscription with the specified name
  6902. // does not exist.
  6903. //
  6904. // * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  6905. // Amazon SNS has responded that there is a problem with the specified Amazon
  6906. // SNS topic.
  6907. //
  6908. // * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  6909. // You do not have permission to publish to the specified Amazon SNS topic.
  6910. //
  6911. // * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  6912. // An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not
  6913. // exist.
  6914. //
  6915. // * ErrCodeSubscriptionEventIdNotFoundFault "SubscriptionEventIdNotFound"
  6916. // An Amazon Redshift event with the specified event ID does not exist.
  6917. //
  6918. // * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  6919. // The value specified for the event category was not one of the allowed values,
  6920. // or it specified a category that does not apply to the specified source type.
  6921. // The allowed values are Configuration, Management, Monitoring, and Security.
  6922. //
  6923. // * ErrCodeSubscriptionSeverityNotFoundFault "SubscriptionSeverityNotFound"
  6924. // The value specified for the event severity was not one of the allowed values,
  6925. // or it specified a severity that does not apply to the specified source type.
  6926. // The allowed values are ERROR and INFO.
  6927. //
  6928. // * ErrCodeSourceNotFoundFault "SourceNotFound"
  6929. // The specified Amazon Redshift event source could not be found.
  6930. //
  6931. // * ErrCodeInvalidSubscriptionStateFault "InvalidSubscriptionStateFault"
  6932. // The subscription request is invalid because it is a duplicate request. This
  6933. // subscription request is already in progress.
  6934. //
  6935. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyEventSubscription
  6936. func (c *Redshift) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
  6937. req, out := c.ModifyEventSubscriptionRequest(input)
  6938. return out, req.Send()
  6939. }
  6940. // ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
  6941. // the ability to pass a context and additional request options.
  6942. //
  6943. // See ModifyEventSubscription for details on how to use this API operation.
  6944. //
  6945. // The context must be non-nil and will be used for request cancellation. If
  6946. // the context is nil a panic will occur. In the future the SDK may create
  6947. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6948. // for more information on using Contexts.
  6949. func (c *Redshift) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
  6950. req, out := c.ModifyEventSubscriptionRequest(input)
  6951. req.SetContext(ctx)
  6952. req.ApplyOptions(opts...)
  6953. return out, req.Send()
  6954. }
  6955. const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod"
  6956. // ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the
  6957. // client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return
  6958. // value will be populated with the request's response once the request completes
  6959. // successfully.
  6960. //
  6961. // Use "Send" method on the returned Request to send the API call to the service.
  6962. // the "output" return value is not valid until after Send returns without error.
  6963. //
  6964. // See ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod
  6965. // API call, and error handling.
  6966. //
  6967. // This method is useful when you want to inject custom logic or configuration
  6968. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6969. //
  6970. //
  6971. // // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method.
  6972. // req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params)
  6973. //
  6974. // err := req.Send()
  6975. // if err == nil { // resp is now filled
  6976. // fmt.Println(resp)
  6977. // }
  6978. //
  6979. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod
  6980. func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) {
  6981. op := &request.Operation{
  6982. Name: opModifySnapshotCopyRetentionPeriod,
  6983. HTTPMethod: "POST",
  6984. HTTPPath: "/",
  6985. }
  6986. if input == nil {
  6987. input = &ModifySnapshotCopyRetentionPeriodInput{}
  6988. }
  6989. output = &ModifySnapshotCopyRetentionPeriodOutput{}
  6990. req = c.newRequest(op, input, output)
  6991. return
  6992. }
  6993. // ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift.
  6994. //
  6995. // Modifies the number of days to retain snapshots in the destination AWS Region
  6996. // after they are copied from the source AWS Region. By default, this operation
  6997. // only changes the retention period of copied automated snapshots. The retention
  6998. // periods for both new and existing copied automated snapshots are updated
  6999. // with the new retention period. You can set the manual option to change only
  7000. // the retention periods of copied manual snapshots. If you set this option,
  7001. // only newly copied manual snapshots have the new retention period.
  7002. //
  7003. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7004. // with awserr.Error's Code and Message methods to get detailed information about
  7005. // the error.
  7006. //
  7007. // See the AWS API reference guide for Amazon Redshift's
  7008. // API operation ModifySnapshotCopyRetentionPeriod for usage and error information.
  7009. //
  7010. // Returned Error Codes:
  7011. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  7012. // The ClusterIdentifier parameter does not refer to an existing cluster.
  7013. //
  7014. // * ErrCodeSnapshotCopyDisabledFault "SnapshotCopyDisabledFault"
  7015. // Cross-region snapshot copy was temporarily disabled. Try your request again.
  7016. //
  7017. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  7018. // Your account is not authorized to perform the requested operation.
  7019. //
  7020. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  7021. // The specified cluster is not in the available state.
  7022. //
  7023. // * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault"
  7024. // The retention period specified is either in the past or is not a valid value.
  7025. //
  7026. // The value must be either -1 or an integer between 1 and 3,653.
  7027. //
  7028. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod
  7029. func (c *Redshift) ModifySnapshotCopyRetentionPeriod(input *ModifySnapshotCopyRetentionPeriodInput) (*ModifySnapshotCopyRetentionPeriodOutput, error) {
  7030. req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input)
  7031. return out, req.Send()
  7032. }
  7033. // ModifySnapshotCopyRetentionPeriodWithContext is the same as ModifySnapshotCopyRetentionPeriod with the addition of
  7034. // the ability to pass a context and additional request options.
  7035. //
  7036. // See ModifySnapshotCopyRetentionPeriod for details on how to use this API operation.
  7037. //
  7038. // The context must be non-nil and will be used for request cancellation. If
  7039. // the context is nil a panic will occur. In the future the SDK may create
  7040. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7041. // for more information on using Contexts.
  7042. func (c *Redshift) ModifySnapshotCopyRetentionPeriodWithContext(ctx aws.Context, input *ModifySnapshotCopyRetentionPeriodInput, opts ...request.Option) (*ModifySnapshotCopyRetentionPeriodOutput, error) {
  7043. req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input)
  7044. req.SetContext(ctx)
  7045. req.ApplyOptions(opts...)
  7046. return out, req.Send()
  7047. }
  7048. const opModifySnapshotSchedule = "ModifySnapshotSchedule"
  7049. // ModifySnapshotScheduleRequest generates a "aws/request.Request" representing the
  7050. // client's request for the ModifySnapshotSchedule operation. The "output" return
  7051. // value will be populated with the request's response once the request completes
  7052. // successfully.
  7053. //
  7054. // Use "Send" method on the returned Request to send the API call to the service.
  7055. // the "output" return value is not valid until after Send returns without error.
  7056. //
  7057. // See ModifySnapshotSchedule for more information on using the ModifySnapshotSchedule
  7058. // API call, and error handling.
  7059. //
  7060. // This method is useful when you want to inject custom logic or configuration
  7061. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7062. //
  7063. //
  7064. // // Example sending a request using the ModifySnapshotScheduleRequest method.
  7065. // req, resp := client.ModifySnapshotScheduleRequest(params)
  7066. //
  7067. // err := req.Send()
  7068. // if err == nil { // resp is now filled
  7069. // fmt.Println(resp)
  7070. // }
  7071. //
  7072. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotSchedule
  7073. func (c *Redshift) ModifySnapshotScheduleRequest(input *ModifySnapshotScheduleInput) (req *request.Request, output *ModifySnapshotScheduleOutput) {
  7074. op := &request.Operation{
  7075. Name: opModifySnapshotSchedule,
  7076. HTTPMethod: "POST",
  7077. HTTPPath: "/",
  7078. }
  7079. if input == nil {
  7080. input = &ModifySnapshotScheduleInput{}
  7081. }
  7082. output = &ModifySnapshotScheduleOutput{}
  7083. req = c.newRequest(op, input, output)
  7084. return
  7085. }
  7086. // ModifySnapshotSchedule API operation for Amazon Redshift.
  7087. //
  7088. // Modifies a snapshot schedule. Any schedule associated with a cluster is modified
  7089. // asynchronously.
  7090. //
  7091. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7092. // with awserr.Error's Code and Message methods to get detailed information about
  7093. // the error.
  7094. //
  7095. // See the AWS API reference guide for Amazon Redshift's
  7096. // API operation ModifySnapshotSchedule for usage and error information.
  7097. //
  7098. // Returned Error Codes:
  7099. // * ErrCodeInvalidScheduleFault "InvalidSchedule"
  7100. // The schedule you submitted isn't valid.
  7101. //
  7102. // * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound"
  7103. // We could not find the specified snapshot schedule.
  7104. //
  7105. // * ErrCodeSnapshotScheduleUpdateInProgressFault "SnapshotScheduleUpdateInProgress"
  7106. // The specified snapshot schedule is already being updated.
  7107. //
  7108. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotSchedule
  7109. func (c *Redshift) ModifySnapshotSchedule(input *ModifySnapshotScheduleInput) (*ModifySnapshotScheduleOutput, error) {
  7110. req, out := c.ModifySnapshotScheduleRequest(input)
  7111. return out, req.Send()
  7112. }
  7113. // ModifySnapshotScheduleWithContext is the same as ModifySnapshotSchedule with the addition of
  7114. // the ability to pass a context and additional request options.
  7115. //
  7116. // See ModifySnapshotSchedule for details on how to use this API operation.
  7117. //
  7118. // The context must be non-nil and will be used for request cancellation. If
  7119. // the context is nil a panic will occur. In the future the SDK may create
  7120. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7121. // for more information on using Contexts.
  7122. func (c *Redshift) ModifySnapshotScheduleWithContext(ctx aws.Context, input *ModifySnapshotScheduleInput, opts ...request.Option) (*ModifySnapshotScheduleOutput, error) {
  7123. req, out := c.ModifySnapshotScheduleRequest(input)
  7124. req.SetContext(ctx)
  7125. req.ApplyOptions(opts...)
  7126. return out, req.Send()
  7127. }
  7128. const opPurchaseReservedNodeOffering = "PurchaseReservedNodeOffering"
  7129. // PurchaseReservedNodeOfferingRequest generates a "aws/request.Request" representing the
  7130. // client's request for the PurchaseReservedNodeOffering operation. The "output" return
  7131. // value will be populated with the request's response once the request completes
  7132. // successfully.
  7133. //
  7134. // Use "Send" method on the returned Request to send the API call to the service.
  7135. // the "output" return value is not valid until after Send returns without error.
  7136. //
  7137. // See PurchaseReservedNodeOffering for more information on using the PurchaseReservedNodeOffering
  7138. // API call, and error handling.
  7139. //
  7140. // This method is useful when you want to inject custom logic or configuration
  7141. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7142. //
  7143. //
  7144. // // Example sending a request using the PurchaseReservedNodeOfferingRequest method.
  7145. // req, resp := client.PurchaseReservedNodeOfferingRequest(params)
  7146. //
  7147. // err := req.Send()
  7148. // if err == nil { // resp is now filled
  7149. // fmt.Println(resp)
  7150. // }
  7151. //
  7152. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PurchaseReservedNodeOffering
  7153. func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNodeOfferingInput) (req *request.Request, output *PurchaseReservedNodeOfferingOutput) {
  7154. op := &request.Operation{
  7155. Name: opPurchaseReservedNodeOffering,
  7156. HTTPMethod: "POST",
  7157. HTTPPath: "/",
  7158. }
  7159. if input == nil {
  7160. input = &PurchaseReservedNodeOfferingInput{}
  7161. }
  7162. output = &PurchaseReservedNodeOfferingOutput{}
  7163. req = c.newRequest(op, input, output)
  7164. return
  7165. }
  7166. // PurchaseReservedNodeOffering API operation for Amazon Redshift.
  7167. //
  7168. // Allows you to purchase reserved nodes. Amazon Redshift offers a predefined
  7169. // set of reserved node offerings. You can purchase one or more of the offerings.
  7170. // You can call the DescribeReservedNodeOfferings API to obtain the available
  7171. // reserved node offerings. You can call this API by providing a specific reserved
  7172. // node offering and the number of nodes you want to reserve.
  7173. //
  7174. // For more information about reserved node offerings, go to Purchasing Reserved
  7175. // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
  7176. // in the Amazon Redshift Cluster Management Guide.
  7177. //
  7178. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7179. // with awserr.Error's Code and Message methods to get detailed information about
  7180. // the error.
  7181. //
  7182. // See the AWS API reference guide for Amazon Redshift's
  7183. // API operation PurchaseReservedNodeOffering for usage and error information.
  7184. //
  7185. // Returned Error Codes:
  7186. // * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound"
  7187. // Specified offering does not exist.
  7188. //
  7189. // * ErrCodeReservedNodeAlreadyExistsFault "ReservedNodeAlreadyExists"
  7190. // User already has a reservation with the given identifier.
  7191. //
  7192. // * ErrCodeReservedNodeQuotaExceededFault "ReservedNodeQuotaExceeded"
  7193. // Request would exceed the user's compute node quota. For information about
  7194. // increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  7195. // in the Amazon Redshift Cluster Management Guide.
  7196. //
  7197. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  7198. // The requested operation isn't supported.
  7199. //
  7200. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PurchaseReservedNodeOffering
  7201. func (c *Redshift) PurchaseReservedNodeOffering(input *PurchaseReservedNodeOfferingInput) (*PurchaseReservedNodeOfferingOutput, error) {
  7202. req, out := c.PurchaseReservedNodeOfferingRequest(input)
  7203. return out, req.Send()
  7204. }
  7205. // PurchaseReservedNodeOfferingWithContext is the same as PurchaseReservedNodeOffering with the addition of
  7206. // the ability to pass a context and additional request options.
  7207. //
  7208. // See PurchaseReservedNodeOffering for details on how to use this API operation.
  7209. //
  7210. // The context must be non-nil and will be used for request cancellation. If
  7211. // the context is nil a panic will occur. In the future the SDK may create
  7212. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7213. // for more information on using Contexts.
  7214. func (c *Redshift) PurchaseReservedNodeOfferingWithContext(ctx aws.Context, input *PurchaseReservedNodeOfferingInput, opts ...request.Option) (*PurchaseReservedNodeOfferingOutput, error) {
  7215. req, out := c.PurchaseReservedNodeOfferingRequest(input)
  7216. req.SetContext(ctx)
  7217. req.ApplyOptions(opts...)
  7218. return out, req.Send()
  7219. }
  7220. const opRebootCluster = "RebootCluster"
  7221. // RebootClusterRequest generates a "aws/request.Request" representing the
  7222. // client's request for the RebootCluster operation. The "output" return
  7223. // value will be populated with the request's response once the request completes
  7224. // successfully.
  7225. //
  7226. // Use "Send" method on the returned Request to send the API call to the service.
  7227. // the "output" return value is not valid until after Send returns without error.
  7228. //
  7229. // See RebootCluster for more information on using the RebootCluster
  7230. // API call, and error handling.
  7231. //
  7232. // This method is useful when you want to inject custom logic or configuration
  7233. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7234. //
  7235. //
  7236. // // Example sending a request using the RebootClusterRequest method.
  7237. // req, resp := client.RebootClusterRequest(params)
  7238. //
  7239. // err := req.Send()
  7240. // if err == nil { // resp is now filled
  7241. // fmt.Println(resp)
  7242. // }
  7243. //
  7244. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RebootCluster
  7245. func (c *Redshift) RebootClusterRequest(input *RebootClusterInput) (req *request.Request, output *RebootClusterOutput) {
  7246. op := &request.Operation{
  7247. Name: opRebootCluster,
  7248. HTTPMethod: "POST",
  7249. HTTPPath: "/",
  7250. }
  7251. if input == nil {
  7252. input = &RebootClusterInput{}
  7253. }
  7254. output = &RebootClusterOutput{}
  7255. req = c.newRequest(op, input, output)
  7256. return
  7257. }
  7258. // RebootCluster API operation for Amazon Redshift.
  7259. //
  7260. // Reboots a cluster. This action is taken as soon as possible. It results in
  7261. // a momentary outage to the cluster, during which the cluster status is set
  7262. // to rebooting. A cluster event is created when the reboot is completed. Any
  7263. // pending cluster modifications (see ModifyCluster) are applied at this reboot.
  7264. // For more information about managing clusters, go to Amazon Redshift Clusters
  7265. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
  7266. // in the Amazon Redshift Cluster Management Guide.
  7267. //
  7268. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7269. // with awserr.Error's Code and Message methods to get detailed information about
  7270. // the error.
  7271. //
  7272. // See the AWS API reference guide for Amazon Redshift's
  7273. // API operation RebootCluster for usage and error information.
  7274. //
  7275. // Returned Error Codes:
  7276. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  7277. // The specified cluster is not in the available state.
  7278. //
  7279. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  7280. // The ClusterIdentifier parameter does not refer to an existing cluster.
  7281. //
  7282. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RebootCluster
  7283. func (c *Redshift) RebootCluster(input *RebootClusterInput) (*RebootClusterOutput, error) {
  7284. req, out := c.RebootClusterRequest(input)
  7285. return out, req.Send()
  7286. }
  7287. // RebootClusterWithContext is the same as RebootCluster with the addition of
  7288. // the ability to pass a context and additional request options.
  7289. //
  7290. // See RebootCluster for details on how to use this API operation.
  7291. //
  7292. // The context must be non-nil and will be used for request cancellation. If
  7293. // the context is nil a panic will occur. In the future the SDK may create
  7294. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7295. // for more information on using Contexts.
  7296. func (c *Redshift) RebootClusterWithContext(ctx aws.Context, input *RebootClusterInput, opts ...request.Option) (*RebootClusterOutput, error) {
  7297. req, out := c.RebootClusterRequest(input)
  7298. req.SetContext(ctx)
  7299. req.ApplyOptions(opts...)
  7300. return out, req.Send()
  7301. }
  7302. const opResetClusterParameterGroup = "ResetClusterParameterGroup"
  7303. // ResetClusterParameterGroupRequest generates a "aws/request.Request" representing the
  7304. // client's request for the ResetClusterParameterGroup operation. The "output" return
  7305. // value will be populated with the request's response once the request completes
  7306. // successfully.
  7307. //
  7308. // Use "Send" method on the returned Request to send the API call to the service.
  7309. // the "output" return value is not valid until after Send returns without error.
  7310. //
  7311. // See ResetClusterParameterGroup for more information on using the ResetClusterParameterGroup
  7312. // API call, and error handling.
  7313. //
  7314. // This method is useful when you want to inject custom logic or configuration
  7315. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7316. //
  7317. //
  7318. // // Example sending a request using the ResetClusterParameterGroupRequest method.
  7319. // req, resp := client.ResetClusterParameterGroupRequest(params)
  7320. //
  7321. // err := req.Send()
  7322. // if err == nil { // resp is now filled
  7323. // fmt.Println(resp)
  7324. // }
  7325. //
  7326. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResetClusterParameterGroup
  7327. func (c *Redshift) ResetClusterParameterGroupRequest(input *ResetClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) {
  7328. op := &request.Operation{
  7329. Name: opResetClusterParameterGroup,
  7330. HTTPMethod: "POST",
  7331. HTTPPath: "/",
  7332. }
  7333. if input == nil {
  7334. input = &ResetClusterParameterGroupInput{}
  7335. }
  7336. output = &ClusterParameterGroupNameMessage{}
  7337. req = c.newRequest(op, input, output)
  7338. return
  7339. }
  7340. // ResetClusterParameterGroup API operation for Amazon Redshift.
  7341. //
  7342. // Sets one or more parameters of the specified parameter group to their default
  7343. // values and sets the source values of the parameters to "engine-default".
  7344. // To reset the entire parameter group specify the ResetAllParameters parameter.
  7345. // For parameter changes to take effect you must reboot any associated clusters.
  7346. //
  7347. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7348. // with awserr.Error's Code and Message methods to get detailed information about
  7349. // the error.
  7350. //
  7351. // See the AWS API reference guide for Amazon Redshift's
  7352. // API operation ResetClusterParameterGroup for usage and error information.
  7353. //
  7354. // Returned Error Codes:
  7355. // * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState"
  7356. // The cluster parameter group action can not be completed because another task
  7357. // is in progress that involves the parameter group. Wait a few moments and
  7358. // try the operation again.
  7359. //
  7360. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  7361. // The parameter group name does not refer to an existing parameter group.
  7362. //
  7363. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResetClusterParameterGroup
  7364. func (c *Redshift) ResetClusterParameterGroup(input *ResetClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) {
  7365. req, out := c.ResetClusterParameterGroupRequest(input)
  7366. return out, req.Send()
  7367. }
  7368. // ResetClusterParameterGroupWithContext is the same as ResetClusterParameterGroup with the addition of
  7369. // the ability to pass a context and additional request options.
  7370. //
  7371. // See ResetClusterParameterGroup for details on how to use this API operation.
  7372. //
  7373. // The context must be non-nil and will be used for request cancellation. If
  7374. // the context is nil a panic will occur. In the future the SDK may create
  7375. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7376. // for more information on using Contexts.
  7377. func (c *Redshift) ResetClusterParameterGroupWithContext(ctx aws.Context, input *ResetClusterParameterGroupInput, opts ...request.Option) (*ClusterParameterGroupNameMessage, error) {
  7378. req, out := c.ResetClusterParameterGroupRequest(input)
  7379. req.SetContext(ctx)
  7380. req.ApplyOptions(opts...)
  7381. return out, req.Send()
  7382. }
  7383. const opResizeCluster = "ResizeCluster"
  7384. // ResizeClusterRequest generates a "aws/request.Request" representing the
  7385. // client's request for the ResizeCluster operation. The "output" return
  7386. // value will be populated with the request's response once the request completes
  7387. // successfully.
  7388. //
  7389. // Use "Send" method on the returned Request to send the API call to the service.
  7390. // the "output" return value is not valid until after Send returns without error.
  7391. //
  7392. // See ResizeCluster for more information on using the ResizeCluster
  7393. // API call, and error handling.
  7394. //
  7395. // This method is useful when you want to inject custom logic or configuration
  7396. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7397. //
  7398. //
  7399. // // Example sending a request using the ResizeClusterRequest method.
  7400. // req, resp := client.ResizeClusterRequest(params)
  7401. //
  7402. // err := req.Send()
  7403. // if err == nil { // resp is now filled
  7404. // fmt.Println(resp)
  7405. // }
  7406. //
  7407. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeCluster
  7408. func (c *Redshift) ResizeClusterRequest(input *ResizeClusterInput) (req *request.Request, output *ResizeClusterOutput) {
  7409. op := &request.Operation{
  7410. Name: opResizeCluster,
  7411. HTTPMethod: "POST",
  7412. HTTPPath: "/",
  7413. }
  7414. if input == nil {
  7415. input = &ResizeClusterInput{}
  7416. }
  7417. output = &ResizeClusterOutput{}
  7418. req = c.newRequest(op, input, output)
  7419. return
  7420. }
  7421. // ResizeCluster API operation for Amazon Redshift.
  7422. //
  7423. // Changes the size of the cluster. You can change the cluster's type, or change
  7424. // the number or type of nodes. The default behavior is to use the elastic resize
  7425. // method. With an elastic resize, your cluster is available for read and write
  7426. // operations more quickly than with the classic resize method.
  7427. //
  7428. // Elastic resize operations have the following restrictions:
  7429. //
  7430. // * You can only resize clusters of the following types:
  7431. //
  7432. // dc2.large
  7433. //
  7434. // dc2.8xlarge
  7435. //
  7436. // ds2.xlarge
  7437. //
  7438. // ds2.8xlarge
  7439. //
  7440. // * The type of nodes that you add must match the node type for the cluster.
  7441. //
  7442. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7443. // with awserr.Error's Code and Message methods to get detailed information about
  7444. // the error.
  7445. //
  7446. // See the AWS API reference guide for Amazon Redshift's
  7447. // API operation ResizeCluster for usage and error information.
  7448. //
  7449. // Returned Error Codes:
  7450. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  7451. // The specified cluster is not in the available state.
  7452. //
  7453. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  7454. // The ClusterIdentifier parameter does not refer to an existing cluster.
  7455. //
  7456. // * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded"
  7457. // The operation would exceed the number of nodes allotted to the account. For
  7458. // information about increasing your quota, go to Limits in Amazon Redshift
  7459. // (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  7460. // in the Amazon Redshift Cluster Management Guide.
  7461. //
  7462. // * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded"
  7463. // The operation would exceed the number of nodes allowed for a cluster.
  7464. //
  7465. // * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity"
  7466. // The number of nodes specified exceeds the allotted capacity of the cluster.
  7467. //
  7468. // * ErrCodeUnsupportedOptionFault "UnsupportedOptionFault"
  7469. // A request option was specified that is not supported.
  7470. //
  7471. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  7472. // The requested operation isn't supported.
  7473. //
  7474. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  7475. // Your account is not authorized to perform the requested operation.
  7476. //
  7477. // * ErrCodeLimitExceededFault "LimitExceededFault"
  7478. // The encryption key has exceeded its grant limit in AWS KMS.
  7479. //
  7480. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeCluster
  7481. func (c *Redshift) ResizeCluster(input *ResizeClusterInput) (*ResizeClusterOutput, error) {
  7482. req, out := c.ResizeClusterRequest(input)
  7483. return out, req.Send()
  7484. }
  7485. // ResizeClusterWithContext is the same as ResizeCluster with the addition of
  7486. // the ability to pass a context and additional request options.
  7487. //
  7488. // See ResizeCluster for details on how to use this API operation.
  7489. //
  7490. // The context must be non-nil and will be used for request cancellation. If
  7491. // the context is nil a panic will occur. In the future the SDK may create
  7492. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7493. // for more information on using Contexts.
  7494. func (c *Redshift) ResizeClusterWithContext(ctx aws.Context, input *ResizeClusterInput, opts ...request.Option) (*ResizeClusterOutput, error) {
  7495. req, out := c.ResizeClusterRequest(input)
  7496. req.SetContext(ctx)
  7497. req.ApplyOptions(opts...)
  7498. return out, req.Send()
  7499. }
  7500. const opRestoreFromClusterSnapshot = "RestoreFromClusterSnapshot"
  7501. // RestoreFromClusterSnapshotRequest generates a "aws/request.Request" representing the
  7502. // client's request for the RestoreFromClusterSnapshot operation. The "output" return
  7503. // value will be populated with the request's response once the request completes
  7504. // successfully.
  7505. //
  7506. // Use "Send" method on the returned Request to send the API call to the service.
  7507. // the "output" return value is not valid until after Send returns without error.
  7508. //
  7509. // See RestoreFromClusterSnapshot for more information on using the RestoreFromClusterSnapshot
  7510. // API call, and error handling.
  7511. //
  7512. // This method is useful when you want to inject custom logic or configuration
  7513. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7514. //
  7515. //
  7516. // // Example sending a request using the RestoreFromClusterSnapshotRequest method.
  7517. // req, resp := client.RestoreFromClusterSnapshotRequest(params)
  7518. //
  7519. // err := req.Send()
  7520. // if err == nil { // resp is now filled
  7521. // fmt.Println(resp)
  7522. // }
  7523. //
  7524. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshot
  7525. func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSnapshotInput) (req *request.Request, output *RestoreFromClusterSnapshotOutput) {
  7526. op := &request.Operation{
  7527. Name: opRestoreFromClusterSnapshot,
  7528. HTTPMethod: "POST",
  7529. HTTPPath: "/",
  7530. }
  7531. if input == nil {
  7532. input = &RestoreFromClusterSnapshotInput{}
  7533. }
  7534. output = &RestoreFromClusterSnapshotOutput{}
  7535. req = c.newRequest(op, input, output)
  7536. return
  7537. }
  7538. // RestoreFromClusterSnapshot API operation for Amazon Redshift.
  7539. //
  7540. // Creates a new cluster from a snapshot. By default, Amazon Redshift creates
  7541. // the resulting cluster with the same configuration as the original cluster
  7542. // from which the snapshot was created, except that the new cluster is created
  7543. // with the default cluster security and parameter groups. After Amazon Redshift
  7544. // creates the cluster, you can use the ModifyCluster API to associate a different
  7545. // security group and different parameter group with the restored cluster. If
  7546. // you are using a DS node type, you can also choose to change to another DS
  7547. // node type of the same size during restore.
  7548. //
  7549. // If you restore a cluster into a VPC, you must provide a cluster subnet group
  7550. // where you want the cluster restored.
  7551. //
  7552. // For more information about working with snapshots, go to Amazon Redshift
  7553. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  7554. // in the Amazon Redshift Cluster Management Guide.
  7555. //
  7556. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7557. // with awserr.Error's Code and Message methods to get detailed information about
  7558. // the error.
  7559. //
  7560. // See the AWS API reference guide for Amazon Redshift's
  7561. // API operation RestoreFromClusterSnapshot for usage and error information.
  7562. //
  7563. // Returned Error Codes:
  7564. // * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied"
  7565. // The owner of the specified snapshot has not authorized your account to access
  7566. // the snapshot.
  7567. //
  7568. // * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists"
  7569. // The account already has a cluster with the given identifier.
  7570. //
  7571. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  7572. // The snapshot identifier does not refer to an existing cluster snapshot.
  7573. //
  7574. // * ErrCodeClusterQuotaExceededFault "ClusterQuotaExceeded"
  7575. // The request would exceed the allowed number of cluster instances for this
  7576. // account. For information about increasing your quota, go to Limits in Amazon
  7577. // Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  7578. // in the Amazon Redshift Cluster Management Guide.
  7579. //
  7580. // * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity"
  7581. // The number of nodes specified exceeds the allotted capacity of the cluster.
  7582. //
  7583. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  7584. // The specified cluster snapshot is not in the available state, or other accounts
  7585. // are authorized to access the snapshot.
  7586. //
  7587. // * ErrCodeInvalidRestoreFault "InvalidRestore"
  7588. // The restore is invalid.
  7589. //
  7590. // * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded"
  7591. // The operation would exceed the number of nodes allotted to the account. For
  7592. // information about increasing your quota, go to Limits in Amazon Redshift
  7593. // (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)
  7594. // in the Amazon Redshift Cluster Management Guide.
  7595. //
  7596. // * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded"
  7597. // The operation would exceed the number of nodes allowed for a cluster.
  7598. //
  7599. // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  7600. // The cluster subnet group does not cover all Availability Zones.
  7601. //
  7602. // * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault"
  7603. // The cluster subnet group cannot be deleted because it is in use.
  7604. //
  7605. // * ErrCodeInvalidSubnet "InvalidSubnet"
  7606. // The requested subnet is not valid, or not all of the subnets are in the same
  7607. // VPC.
  7608. //
  7609. // * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  7610. // The cluster subnet group name does not refer to an existing cluster subnet
  7611. // group.
  7612. //
  7613. // * ErrCodeUnauthorizedOperation "UnauthorizedOperation"
  7614. // Your account is not authorized to perform the requested operation.
  7615. //
  7616. // * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault"
  7617. // There is no Amazon Redshift HSM client certificate with the specified identifier.
  7618. //
  7619. // * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault"
  7620. // There is no Amazon Redshift HSM configuration with the specified identifier.
  7621. //
  7622. // * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault"
  7623. // The Elastic IP (EIP) is invalid or cannot be found.
  7624. //
  7625. // * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound"
  7626. // The parameter group name does not refer to an existing parameter group.
  7627. //
  7628. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  7629. // The cluster security group name does not refer to an existing cluster security
  7630. // group.
  7631. //
  7632. // * ErrCodeLimitExceededFault "LimitExceededFault"
  7633. // The encryption key has exceeded its grant limit in AWS KMS.
  7634. //
  7635. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  7636. // The request cannot be completed because a dependent service is throttling
  7637. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  7638. //
  7639. // * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack"
  7640. // The provided cluster track name is not valid.
  7641. //
  7642. // * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound"
  7643. // We could not find the specified snapshot schedule.
  7644. //
  7645. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshot
  7646. func (c *Redshift) RestoreFromClusterSnapshot(input *RestoreFromClusterSnapshotInput) (*RestoreFromClusterSnapshotOutput, error) {
  7647. req, out := c.RestoreFromClusterSnapshotRequest(input)
  7648. return out, req.Send()
  7649. }
  7650. // RestoreFromClusterSnapshotWithContext is the same as RestoreFromClusterSnapshot with the addition of
  7651. // the ability to pass a context and additional request options.
  7652. //
  7653. // See RestoreFromClusterSnapshot for details on how to use this API operation.
  7654. //
  7655. // The context must be non-nil and will be used for request cancellation. If
  7656. // the context is nil a panic will occur. In the future the SDK may create
  7657. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7658. // for more information on using Contexts.
  7659. func (c *Redshift) RestoreFromClusterSnapshotWithContext(ctx aws.Context, input *RestoreFromClusterSnapshotInput, opts ...request.Option) (*RestoreFromClusterSnapshotOutput, error) {
  7660. req, out := c.RestoreFromClusterSnapshotRequest(input)
  7661. req.SetContext(ctx)
  7662. req.ApplyOptions(opts...)
  7663. return out, req.Send()
  7664. }
  7665. const opRestoreTableFromClusterSnapshot = "RestoreTableFromClusterSnapshot"
  7666. // RestoreTableFromClusterSnapshotRequest generates a "aws/request.Request" representing the
  7667. // client's request for the RestoreTableFromClusterSnapshot operation. The "output" return
  7668. // value will be populated with the request's response once the request completes
  7669. // successfully.
  7670. //
  7671. // Use "Send" method on the returned Request to send the API call to the service.
  7672. // the "output" return value is not valid until after Send returns without error.
  7673. //
  7674. // See RestoreTableFromClusterSnapshot for more information on using the RestoreTableFromClusterSnapshot
  7675. // API call, and error handling.
  7676. //
  7677. // This method is useful when you want to inject custom logic or configuration
  7678. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7679. //
  7680. //
  7681. // // Example sending a request using the RestoreTableFromClusterSnapshotRequest method.
  7682. // req, resp := client.RestoreTableFromClusterSnapshotRequest(params)
  7683. //
  7684. // err := req.Send()
  7685. // if err == nil { // resp is now filled
  7686. // fmt.Println(resp)
  7687. // }
  7688. //
  7689. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreTableFromClusterSnapshot
  7690. func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFromClusterSnapshotInput) (req *request.Request, output *RestoreTableFromClusterSnapshotOutput) {
  7691. op := &request.Operation{
  7692. Name: opRestoreTableFromClusterSnapshot,
  7693. HTTPMethod: "POST",
  7694. HTTPPath: "/",
  7695. }
  7696. if input == nil {
  7697. input = &RestoreTableFromClusterSnapshotInput{}
  7698. }
  7699. output = &RestoreTableFromClusterSnapshotOutput{}
  7700. req = c.newRequest(op, input, output)
  7701. return
  7702. }
  7703. // RestoreTableFromClusterSnapshot API operation for Amazon Redshift.
  7704. //
  7705. // Creates a new table from a table in an Amazon Redshift cluster snapshot.
  7706. // You must create the new table within the Amazon Redshift cluster that the
  7707. // snapshot was taken from.
  7708. //
  7709. // You cannot use RestoreTableFromClusterSnapshot to restore a table with the
  7710. // same name as an existing table in an Amazon Redshift cluster. That is, you
  7711. // cannot overwrite an existing table in a cluster with a restored table. If
  7712. // you want to replace your original table with a new, restored table, then
  7713. // rename or drop your original table before you call RestoreTableFromClusterSnapshot.
  7714. // When you have renamed your original table, then you can pass the original
  7715. // name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot.
  7716. // This way, you can replace the original table with the table created from
  7717. // the snapshot.
  7718. //
  7719. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7720. // with awserr.Error's Code and Message methods to get detailed information about
  7721. // the error.
  7722. //
  7723. // See the AWS API reference guide for Amazon Redshift's
  7724. // API operation RestoreTableFromClusterSnapshot for usage and error information.
  7725. //
  7726. // Returned Error Codes:
  7727. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  7728. // The snapshot identifier does not refer to an existing cluster snapshot.
  7729. //
  7730. // * ErrCodeInProgressTableRestoreQuotaExceededFault "InProgressTableRestoreQuotaExceededFault"
  7731. // You have exceeded the allowed number of table restore requests. Wait for
  7732. // your current table restore requests to complete before making a new request.
  7733. //
  7734. // * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  7735. // The specified cluster snapshot is not in the available state, or other accounts
  7736. // are authorized to access the snapshot.
  7737. //
  7738. // * ErrCodeInvalidTableRestoreArgumentFault "InvalidTableRestoreArgument"
  7739. // The value specified for the sourceDatabaseName, sourceSchemaName, or sourceTableName
  7740. // parameter, or a combination of these, doesn't exist in the snapshot.
  7741. //
  7742. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  7743. // The ClusterIdentifier parameter does not refer to an existing cluster.
  7744. //
  7745. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  7746. // The specified cluster is not in the available state.
  7747. //
  7748. // * ErrCodeUnsupportedOperationFault "UnsupportedOperation"
  7749. // The requested operation isn't supported.
  7750. //
  7751. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreTableFromClusterSnapshot
  7752. func (c *Redshift) RestoreTableFromClusterSnapshot(input *RestoreTableFromClusterSnapshotInput) (*RestoreTableFromClusterSnapshotOutput, error) {
  7753. req, out := c.RestoreTableFromClusterSnapshotRequest(input)
  7754. return out, req.Send()
  7755. }
  7756. // RestoreTableFromClusterSnapshotWithContext is the same as RestoreTableFromClusterSnapshot with the addition of
  7757. // the ability to pass a context and additional request options.
  7758. //
  7759. // See RestoreTableFromClusterSnapshot for details on how to use this API operation.
  7760. //
  7761. // The context must be non-nil and will be used for request cancellation. If
  7762. // the context is nil a panic will occur. In the future the SDK may create
  7763. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7764. // for more information on using Contexts.
  7765. func (c *Redshift) RestoreTableFromClusterSnapshotWithContext(ctx aws.Context, input *RestoreTableFromClusterSnapshotInput, opts ...request.Option) (*RestoreTableFromClusterSnapshotOutput, error) {
  7766. req, out := c.RestoreTableFromClusterSnapshotRequest(input)
  7767. req.SetContext(ctx)
  7768. req.ApplyOptions(opts...)
  7769. return out, req.Send()
  7770. }
  7771. const opRevokeClusterSecurityGroupIngress = "RevokeClusterSecurityGroupIngress"
  7772. // RevokeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  7773. // client's request for the RevokeClusterSecurityGroupIngress operation. The "output" return
  7774. // value will be populated with the request's response once the request completes
  7775. // successfully.
  7776. //
  7777. // Use "Send" method on the returned Request to send the API call to the service.
  7778. // the "output" return value is not valid until after Send returns without error.
  7779. //
  7780. // See RevokeClusterSecurityGroupIngress for more information on using the RevokeClusterSecurityGroupIngress
  7781. // API call, and error handling.
  7782. //
  7783. // This method is useful when you want to inject custom logic or configuration
  7784. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7785. //
  7786. //
  7787. // // Example sending a request using the RevokeClusterSecurityGroupIngressRequest method.
  7788. // req, resp := client.RevokeClusterSecurityGroupIngressRequest(params)
  7789. //
  7790. // err := req.Send()
  7791. // if err == nil { // resp is now filled
  7792. // fmt.Println(resp)
  7793. // }
  7794. //
  7795. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeClusterSecurityGroupIngress
  7796. func (c *Redshift) RevokeClusterSecurityGroupIngressRequest(input *RevokeClusterSecurityGroupIngressInput) (req *request.Request, output *RevokeClusterSecurityGroupIngressOutput) {
  7797. op := &request.Operation{
  7798. Name: opRevokeClusterSecurityGroupIngress,
  7799. HTTPMethod: "POST",
  7800. HTTPPath: "/",
  7801. }
  7802. if input == nil {
  7803. input = &RevokeClusterSecurityGroupIngressInput{}
  7804. }
  7805. output = &RevokeClusterSecurityGroupIngressOutput{}
  7806. req = c.newRequest(op, input, output)
  7807. return
  7808. }
  7809. // RevokeClusterSecurityGroupIngress API operation for Amazon Redshift.
  7810. //
  7811. // Revokes an ingress rule in an Amazon Redshift security group for a previously
  7812. // authorized IP range or Amazon EC2 security group. To add an ingress rule,
  7813. // see AuthorizeClusterSecurityGroupIngress. For information about managing
  7814. // security groups, go to Amazon Redshift Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
  7815. // in the Amazon Redshift Cluster Management Guide.
  7816. //
  7817. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7818. // with awserr.Error's Code and Message methods to get detailed information about
  7819. // the error.
  7820. //
  7821. // See the AWS API reference guide for Amazon Redshift's
  7822. // API operation RevokeClusterSecurityGroupIngress for usage and error information.
  7823. //
  7824. // Returned Error Codes:
  7825. // * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound"
  7826. // The cluster security group name does not refer to an existing cluster security
  7827. // group.
  7828. //
  7829. // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  7830. // The specified CIDR IP range or EC2 security group is not authorized for the
  7831. // specified cluster security group.
  7832. //
  7833. // * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState"
  7834. // The state of the cluster security group is not available.
  7835. //
  7836. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeClusterSecurityGroupIngress
  7837. func (c *Redshift) RevokeClusterSecurityGroupIngress(input *RevokeClusterSecurityGroupIngressInput) (*RevokeClusterSecurityGroupIngressOutput, error) {
  7838. req, out := c.RevokeClusterSecurityGroupIngressRequest(input)
  7839. return out, req.Send()
  7840. }
  7841. // RevokeClusterSecurityGroupIngressWithContext is the same as RevokeClusterSecurityGroupIngress with the addition of
  7842. // the ability to pass a context and additional request options.
  7843. //
  7844. // See RevokeClusterSecurityGroupIngress for details on how to use this API operation.
  7845. //
  7846. // The context must be non-nil and will be used for request cancellation. If
  7847. // the context is nil a panic will occur. In the future the SDK may create
  7848. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7849. // for more information on using Contexts.
  7850. func (c *Redshift) RevokeClusterSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeClusterSecurityGroupIngressInput, opts ...request.Option) (*RevokeClusterSecurityGroupIngressOutput, error) {
  7851. req, out := c.RevokeClusterSecurityGroupIngressRequest(input)
  7852. req.SetContext(ctx)
  7853. req.ApplyOptions(opts...)
  7854. return out, req.Send()
  7855. }
  7856. const opRevokeSnapshotAccess = "RevokeSnapshotAccess"
  7857. // RevokeSnapshotAccessRequest generates a "aws/request.Request" representing the
  7858. // client's request for the RevokeSnapshotAccess operation. The "output" return
  7859. // value will be populated with the request's response once the request completes
  7860. // successfully.
  7861. //
  7862. // Use "Send" method on the returned Request to send the API call to the service.
  7863. // the "output" return value is not valid until after Send returns without error.
  7864. //
  7865. // See RevokeSnapshotAccess for more information on using the RevokeSnapshotAccess
  7866. // API call, and error handling.
  7867. //
  7868. // This method is useful when you want to inject custom logic or configuration
  7869. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7870. //
  7871. //
  7872. // // Example sending a request using the RevokeSnapshotAccessRequest method.
  7873. // req, resp := client.RevokeSnapshotAccessRequest(params)
  7874. //
  7875. // err := req.Send()
  7876. // if err == nil { // resp is now filled
  7877. // fmt.Println(resp)
  7878. // }
  7879. //
  7880. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeSnapshotAccess
  7881. func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) (req *request.Request, output *RevokeSnapshotAccessOutput) {
  7882. op := &request.Operation{
  7883. Name: opRevokeSnapshotAccess,
  7884. HTTPMethod: "POST",
  7885. HTTPPath: "/",
  7886. }
  7887. if input == nil {
  7888. input = &RevokeSnapshotAccessInput{}
  7889. }
  7890. output = &RevokeSnapshotAccessOutput{}
  7891. req = c.newRequest(op, input, output)
  7892. return
  7893. }
  7894. // RevokeSnapshotAccess API operation for Amazon Redshift.
  7895. //
  7896. // Removes the ability of the specified AWS customer account to restore the
  7897. // specified snapshot. If the account is currently restoring the snapshot, the
  7898. // restore will run to completion.
  7899. //
  7900. // For more information about working with snapshots, go to Amazon Redshift
  7901. // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
  7902. // in the Amazon Redshift Cluster Management Guide.
  7903. //
  7904. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7905. // with awserr.Error's Code and Message methods to get detailed information about
  7906. // the error.
  7907. //
  7908. // See the AWS API reference guide for Amazon Redshift's
  7909. // API operation RevokeSnapshotAccess for usage and error information.
  7910. //
  7911. // Returned Error Codes:
  7912. // * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied"
  7913. // The owner of the specified snapshot has not authorized your account to access
  7914. // the snapshot.
  7915. //
  7916. // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  7917. // The specified CIDR IP range or EC2 security group is not authorized for the
  7918. // specified cluster security group.
  7919. //
  7920. // * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  7921. // The snapshot identifier does not refer to an existing cluster snapshot.
  7922. //
  7923. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeSnapshotAccess
  7924. func (c *Redshift) RevokeSnapshotAccess(input *RevokeSnapshotAccessInput) (*RevokeSnapshotAccessOutput, error) {
  7925. req, out := c.RevokeSnapshotAccessRequest(input)
  7926. return out, req.Send()
  7927. }
  7928. // RevokeSnapshotAccessWithContext is the same as RevokeSnapshotAccess with the addition of
  7929. // the ability to pass a context and additional request options.
  7930. //
  7931. // See RevokeSnapshotAccess for details on how to use this API operation.
  7932. //
  7933. // The context must be non-nil and will be used for request cancellation. If
  7934. // the context is nil a panic will occur. In the future the SDK may create
  7935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7936. // for more information on using Contexts.
  7937. func (c *Redshift) RevokeSnapshotAccessWithContext(ctx aws.Context, input *RevokeSnapshotAccessInput, opts ...request.Option) (*RevokeSnapshotAccessOutput, error) {
  7938. req, out := c.RevokeSnapshotAccessRequest(input)
  7939. req.SetContext(ctx)
  7940. req.ApplyOptions(opts...)
  7941. return out, req.Send()
  7942. }
  7943. const opRotateEncryptionKey = "RotateEncryptionKey"
  7944. // RotateEncryptionKeyRequest generates a "aws/request.Request" representing the
  7945. // client's request for the RotateEncryptionKey operation. The "output" return
  7946. // value will be populated with the request's response once the request completes
  7947. // successfully.
  7948. //
  7949. // Use "Send" method on the returned Request to send the API call to the service.
  7950. // the "output" return value is not valid until after Send returns without error.
  7951. //
  7952. // See RotateEncryptionKey for more information on using the RotateEncryptionKey
  7953. // API call, and error handling.
  7954. //
  7955. // This method is useful when you want to inject custom logic or configuration
  7956. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7957. //
  7958. //
  7959. // // Example sending a request using the RotateEncryptionKeyRequest method.
  7960. // req, resp := client.RotateEncryptionKeyRequest(params)
  7961. //
  7962. // err := req.Send()
  7963. // if err == nil { // resp is now filled
  7964. // fmt.Println(resp)
  7965. // }
  7966. //
  7967. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RotateEncryptionKey
  7968. func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) (req *request.Request, output *RotateEncryptionKeyOutput) {
  7969. op := &request.Operation{
  7970. Name: opRotateEncryptionKey,
  7971. HTTPMethod: "POST",
  7972. HTTPPath: "/",
  7973. }
  7974. if input == nil {
  7975. input = &RotateEncryptionKeyInput{}
  7976. }
  7977. output = &RotateEncryptionKeyOutput{}
  7978. req = c.newRequest(op, input, output)
  7979. return
  7980. }
  7981. // RotateEncryptionKey API operation for Amazon Redshift.
  7982. //
  7983. // Rotates the encryption keys for a cluster.
  7984. //
  7985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7986. // with awserr.Error's Code and Message methods to get detailed information about
  7987. // the error.
  7988. //
  7989. // See the AWS API reference guide for Amazon Redshift's
  7990. // API operation RotateEncryptionKey for usage and error information.
  7991. //
  7992. // Returned Error Codes:
  7993. // * ErrCodeClusterNotFoundFault "ClusterNotFound"
  7994. // The ClusterIdentifier parameter does not refer to an existing cluster.
  7995. //
  7996. // * ErrCodeInvalidClusterStateFault "InvalidClusterState"
  7997. // The specified cluster is not in the available state.
  7998. //
  7999. // * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault"
  8000. // The request cannot be completed because a dependent service is throttling
  8001. // requests made by Amazon Redshift on your behalf. Wait and retry the request.
  8002. //
  8003. // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RotateEncryptionKey
  8004. func (c *Redshift) RotateEncryptionKey(input *RotateEncryptionKeyInput) (*RotateEncryptionKeyOutput, error) {
  8005. req, out := c.RotateEncryptionKeyRequest(input)
  8006. return out, req.Send()
  8007. }
  8008. // RotateEncryptionKeyWithContext is the same as RotateEncryptionKey with the addition of
  8009. // the ability to pass a context and additional request options.
  8010. //
  8011. // See RotateEncryptionKey for details on how to use this API operation.
  8012. //
  8013. // The context must be non-nil and will be used for request cancellation. If
  8014. // the context is nil a panic will occur. In the future the SDK may create
  8015. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8016. // for more information on using Contexts.
  8017. func (c *Redshift) RotateEncryptionKeyWithContext(ctx aws.Context, input *RotateEncryptionKeyInput, opts ...request.Option) (*RotateEncryptionKeyOutput, error) {
  8018. req, out := c.RotateEncryptionKeyRequest(input)
  8019. req.SetContext(ctx)
  8020. req.ApplyOptions(opts...)
  8021. return out, req.Send()
  8022. }
  8023. type AcceptReservedNodeExchangeInput struct {
  8024. _ struct{} `type:"structure"`
  8025. // A string representing the node identifier of the DC1 Reserved Node to be
  8026. // exchanged.
  8027. //
  8028. // ReservedNodeId is a required field
  8029. ReservedNodeId *string `type:"string" required:"true"`
  8030. // The unique identifier of the DC2 Reserved Node offering to be used for the
  8031. // exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings
  8032. //
  8033. // TargetReservedNodeOfferingId is a required field
  8034. TargetReservedNodeOfferingId *string `type:"string" required:"true"`
  8035. }
  8036. // String returns the string representation
  8037. func (s AcceptReservedNodeExchangeInput) String() string {
  8038. return awsutil.Prettify(s)
  8039. }
  8040. // GoString returns the string representation
  8041. func (s AcceptReservedNodeExchangeInput) GoString() string {
  8042. return s.String()
  8043. }
  8044. // Validate inspects the fields of the type to determine if they are valid.
  8045. func (s *AcceptReservedNodeExchangeInput) Validate() error {
  8046. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedNodeExchangeInput"}
  8047. if s.ReservedNodeId == nil {
  8048. invalidParams.Add(request.NewErrParamRequired("ReservedNodeId"))
  8049. }
  8050. if s.TargetReservedNodeOfferingId == nil {
  8051. invalidParams.Add(request.NewErrParamRequired("TargetReservedNodeOfferingId"))
  8052. }
  8053. if invalidParams.Len() > 0 {
  8054. return invalidParams
  8055. }
  8056. return nil
  8057. }
  8058. // SetReservedNodeId sets the ReservedNodeId field's value.
  8059. func (s *AcceptReservedNodeExchangeInput) SetReservedNodeId(v string) *AcceptReservedNodeExchangeInput {
  8060. s.ReservedNodeId = &v
  8061. return s
  8062. }
  8063. // SetTargetReservedNodeOfferingId sets the TargetReservedNodeOfferingId field's value.
  8064. func (s *AcceptReservedNodeExchangeInput) SetTargetReservedNodeOfferingId(v string) *AcceptReservedNodeExchangeInput {
  8065. s.TargetReservedNodeOfferingId = &v
  8066. return s
  8067. }
  8068. type AcceptReservedNodeExchangeOutput struct {
  8069. _ struct{} `type:"structure"`
  8070. // Describes a reserved node. You can call the DescribeReservedNodeOfferings
  8071. // API to obtain the available reserved node offerings.
  8072. ExchangedReservedNode *ReservedNode `type:"structure"`
  8073. }
  8074. // String returns the string representation
  8075. func (s AcceptReservedNodeExchangeOutput) String() string {
  8076. return awsutil.Prettify(s)
  8077. }
  8078. // GoString returns the string representation
  8079. func (s AcceptReservedNodeExchangeOutput) GoString() string {
  8080. return s.String()
  8081. }
  8082. // SetExchangedReservedNode sets the ExchangedReservedNode field's value.
  8083. func (s *AcceptReservedNodeExchangeOutput) SetExchangedReservedNode(v *ReservedNode) *AcceptReservedNodeExchangeOutput {
  8084. s.ExchangedReservedNode = v
  8085. return s
  8086. }
  8087. // A name value pair that describes an aspect of an account.
  8088. type AccountAttribute struct {
  8089. _ struct{} `type:"structure"`
  8090. // The name of the attribute.
  8091. AttributeName *string `type:"string"`
  8092. // A list of attribute values.
  8093. AttributeValues []*AttributeValueTarget `locationNameList:"AttributeValueTarget" type:"list"`
  8094. }
  8095. // String returns the string representation
  8096. func (s AccountAttribute) String() string {
  8097. return awsutil.Prettify(s)
  8098. }
  8099. // GoString returns the string representation
  8100. func (s AccountAttribute) GoString() string {
  8101. return s.String()
  8102. }
  8103. // SetAttributeName sets the AttributeName field's value.
  8104. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  8105. s.AttributeName = &v
  8106. return s
  8107. }
  8108. // SetAttributeValues sets the AttributeValues field's value.
  8109. func (s *AccountAttribute) SetAttributeValues(v []*AttributeValueTarget) *AccountAttribute {
  8110. s.AttributeValues = v
  8111. return s
  8112. }
  8113. // Describes an AWS customer account authorized to restore a snapshot.
  8114. type AccountWithRestoreAccess struct {
  8115. _ struct{} `type:"structure"`
  8116. // The identifier of an AWS support account authorized to restore a snapshot.
  8117. // For AWS support, the identifier is amazon-redshift-support.
  8118. AccountAlias *string `type:"string"`
  8119. // The identifier of an AWS customer account authorized to restore a snapshot.
  8120. AccountId *string `type:"string"`
  8121. }
  8122. // String returns the string representation
  8123. func (s AccountWithRestoreAccess) String() string {
  8124. return awsutil.Prettify(s)
  8125. }
  8126. // GoString returns the string representation
  8127. func (s AccountWithRestoreAccess) GoString() string {
  8128. return s.String()
  8129. }
  8130. // SetAccountAlias sets the AccountAlias field's value.
  8131. func (s *AccountWithRestoreAccess) SetAccountAlias(v string) *AccountWithRestoreAccess {
  8132. s.AccountAlias = &v
  8133. return s
  8134. }
  8135. // SetAccountId sets the AccountId field's value.
  8136. func (s *AccountWithRestoreAccess) SetAccountId(v string) *AccountWithRestoreAccess {
  8137. s.AccountId = &v
  8138. return s
  8139. }
  8140. // Describes an attribute value.
  8141. type AttributeValueTarget struct {
  8142. _ struct{} `type:"structure"`
  8143. // The value of the attribute.
  8144. AttributeValue *string `type:"string"`
  8145. }
  8146. // String returns the string representation
  8147. func (s AttributeValueTarget) String() string {
  8148. return awsutil.Prettify(s)
  8149. }
  8150. // GoString returns the string representation
  8151. func (s AttributeValueTarget) GoString() string {
  8152. return s.String()
  8153. }
  8154. // SetAttributeValue sets the AttributeValue field's value.
  8155. func (s *AttributeValueTarget) SetAttributeValue(v string) *AttributeValueTarget {
  8156. s.AttributeValue = &v
  8157. return s
  8158. }
  8159. type AuthorizeClusterSecurityGroupIngressInput struct {
  8160. _ struct{} `type:"structure"`
  8161. // The IP range to be added the Amazon Redshift security group.
  8162. CIDRIP *string `type:"string"`
  8163. // The name of the security group to which the ingress rule is added.
  8164. //
  8165. // ClusterSecurityGroupName is a required field
  8166. ClusterSecurityGroupName *string `type:"string" required:"true"`
  8167. // The EC2 security group to be added the Amazon Redshift security group.
  8168. EC2SecurityGroupName *string `type:"string"`
  8169. // The AWS account number of the owner of the security group specified by the
  8170. // EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
  8171. // value.
  8172. //
  8173. // Example: 111122223333
  8174. EC2SecurityGroupOwnerId *string `type:"string"`
  8175. }
  8176. // String returns the string representation
  8177. func (s AuthorizeClusterSecurityGroupIngressInput) String() string {
  8178. return awsutil.Prettify(s)
  8179. }
  8180. // GoString returns the string representation
  8181. func (s AuthorizeClusterSecurityGroupIngressInput) GoString() string {
  8182. return s.String()
  8183. }
  8184. // Validate inspects the fields of the type to determine if they are valid.
  8185. func (s *AuthorizeClusterSecurityGroupIngressInput) Validate() error {
  8186. invalidParams := request.ErrInvalidParams{Context: "AuthorizeClusterSecurityGroupIngressInput"}
  8187. if s.ClusterSecurityGroupName == nil {
  8188. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  8189. }
  8190. if invalidParams.Len() > 0 {
  8191. return invalidParams
  8192. }
  8193. return nil
  8194. }
  8195. // SetCIDRIP sets the CIDRIP field's value.
  8196. func (s *AuthorizeClusterSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeClusterSecurityGroupIngressInput {
  8197. s.CIDRIP = &v
  8198. return s
  8199. }
  8200. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  8201. func (s *AuthorizeClusterSecurityGroupIngressInput) SetClusterSecurityGroupName(v string) *AuthorizeClusterSecurityGroupIngressInput {
  8202. s.ClusterSecurityGroupName = &v
  8203. return s
  8204. }
  8205. // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
  8206. func (s *AuthorizeClusterSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeClusterSecurityGroupIngressInput {
  8207. s.EC2SecurityGroupName = &v
  8208. return s
  8209. }
  8210. // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
  8211. func (s *AuthorizeClusterSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeClusterSecurityGroupIngressInput {
  8212. s.EC2SecurityGroupOwnerId = &v
  8213. return s
  8214. }
  8215. type AuthorizeClusterSecurityGroupIngressOutput struct {
  8216. _ struct{} `type:"structure"`
  8217. // Describes a security group.
  8218. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  8219. }
  8220. // String returns the string representation
  8221. func (s AuthorizeClusterSecurityGroupIngressOutput) String() string {
  8222. return awsutil.Prettify(s)
  8223. }
  8224. // GoString returns the string representation
  8225. func (s AuthorizeClusterSecurityGroupIngressOutput) GoString() string {
  8226. return s.String()
  8227. }
  8228. // SetClusterSecurityGroup sets the ClusterSecurityGroup field's value.
  8229. func (s *AuthorizeClusterSecurityGroupIngressOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *AuthorizeClusterSecurityGroupIngressOutput {
  8230. s.ClusterSecurityGroup = v
  8231. return s
  8232. }
  8233. type AuthorizeSnapshotAccessInput struct {
  8234. _ struct{} `type:"structure"`
  8235. // The identifier of the AWS customer account authorized to restore the specified
  8236. // snapshot.
  8237. //
  8238. // To share a snapshot with AWS support, specify amazon-redshift-support.
  8239. //
  8240. // AccountWithRestoreAccess is a required field
  8241. AccountWithRestoreAccess *string `type:"string" required:"true"`
  8242. // The identifier of the cluster the snapshot was created from. This parameter
  8243. // is required if your IAM user has a policy containing a snapshot resource
  8244. // element that specifies anything other than * for the cluster name.
  8245. SnapshotClusterIdentifier *string `type:"string"`
  8246. // The identifier of the snapshot the account is authorized to restore.
  8247. //
  8248. // SnapshotIdentifier is a required field
  8249. SnapshotIdentifier *string `type:"string" required:"true"`
  8250. }
  8251. // String returns the string representation
  8252. func (s AuthorizeSnapshotAccessInput) String() string {
  8253. return awsutil.Prettify(s)
  8254. }
  8255. // GoString returns the string representation
  8256. func (s AuthorizeSnapshotAccessInput) GoString() string {
  8257. return s.String()
  8258. }
  8259. // Validate inspects the fields of the type to determine if they are valid.
  8260. func (s *AuthorizeSnapshotAccessInput) Validate() error {
  8261. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSnapshotAccessInput"}
  8262. if s.AccountWithRestoreAccess == nil {
  8263. invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess"))
  8264. }
  8265. if s.SnapshotIdentifier == nil {
  8266. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  8267. }
  8268. if invalidParams.Len() > 0 {
  8269. return invalidParams
  8270. }
  8271. return nil
  8272. }
  8273. // SetAccountWithRestoreAccess sets the AccountWithRestoreAccess field's value.
  8274. func (s *AuthorizeSnapshotAccessInput) SetAccountWithRestoreAccess(v string) *AuthorizeSnapshotAccessInput {
  8275. s.AccountWithRestoreAccess = &v
  8276. return s
  8277. }
  8278. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  8279. func (s *AuthorizeSnapshotAccessInput) SetSnapshotClusterIdentifier(v string) *AuthorizeSnapshotAccessInput {
  8280. s.SnapshotClusterIdentifier = &v
  8281. return s
  8282. }
  8283. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  8284. func (s *AuthorizeSnapshotAccessInput) SetSnapshotIdentifier(v string) *AuthorizeSnapshotAccessInput {
  8285. s.SnapshotIdentifier = &v
  8286. return s
  8287. }
  8288. type AuthorizeSnapshotAccessOutput struct {
  8289. _ struct{} `type:"structure"`
  8290. // Describes a snapshot.
  8291. Snapshot *Snapshot `type:"structure"`
  8292. }
  8293. // String returns the string representation
  8294. func (s AuthorizeSnapshotAccessOutput) String() string {
  8295. return awsutil.Prettify(s)
  8296. }
  8297. // GoString returns the string representation
  8298. func (s AuthorizeSnapshotAccessOutput) GoString() string {
  8299. return s.String()
  8300. }
  8301. // SetSnapshot sets the Snapshot field's value.
  8302. func (s *AuthorizeSnapshotAccessOutput) SetSnapshot(v *Snapshot) *AuthorizeSnapshotAccessOutput {
  8303. s.Snapshot = v
  8304. return s
  8305. }
  8306. // Describes an availability zone.
  8307. type AvailabilityZone struct {
  8308. _ struct{} `type:"structure"`
  8309. // The name of the availability zone.
  8310. Name *string `type:"string"`
  8311. SupportedPlatforms []*SupportedPlatform `locationNameList:"SupportedPlatform" type:"list"`
  8312. }
  8313. // String returns the string representation
  8314. func (s AvailabilityZone) String() string {
  8315. return awsutil.Prettify(s)
  8316. }
  8317. // GoString returns the string representation
  8318. func (s AvailabilityZone) GoString() string {
  8319. return s.String()
  8320. }
  8321. // SetName sets the Name field's value.
  8322. func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
  8323. s.Name = &v
  8324. return s
  8325. }
  8326. // SetSupportedPlatforms sets the SupportedPlatforms field's value.
  8327. func (s *AvailabilityZone) SetSupportedPlatforms(v []*SupportedPlatform) *AvailabilityZone {
  8328. s.SupportedPlatforms = v
  8329. return s
  8330. }
  8331. type BatchDeleteClusterSnapshotsInput struct {
  8332. _ struct{} `type:"structure"`
  8333. // A list of identifiers for the snapshots that you want to delete.
  8334. //
  8335. // Identifiers is a required field
  8336. Identifiers []*DeleteClusterSnapshotMessage `locationNameList:"DeleteClusterSnapshotMessage" type:"list" required:"true"`
  8337. }
  8338. // String returns the string representation
  8339. func (s BatchDeleteClusterSnapshotsInput) String() string {
  8340. return awsutil.Prettify(s)
  8341. }
  8342. // GoString returns the string representation
  8343. func (s BatchDeleteClusterSnapshotsInput) GoString() string {
  8344. return s.String()
  8345. }
  8346. // Validate inspects the fields of the type to determine if they are valid.
  8347. func (s *BatchDeleteClusterSnapshotsInput) Validate() error {
  8348. invalidParams := request.ErrInvalidParams{Context: "BatchDeleteClusterSnapshotsInput"}
  8349. if s.Identifiers == nil {
  8350. invalidParams.Add(request.NewErrParamRequired("Identifiers"))
  8351. }
  8352. if s.Identifiers != nil {
  8353. for i, v := range s.Identifiers {
  8354. if v == nil {
  8355. continue
  8356. }
  8357. if err := v.Validate(); err != nil {
  8358. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Identifiers", i), err.(request.ErrInvalidParams))
  8359. }
  8360. }
  8361. }
  8362. if invalidParams.Len() > 0 {
  8363. return invalidParams
  8364. }
  8365. return nil
  8366. }
  8367. // SetIdentifiers sets the Identifiers field's value.
  8368. func (s *BatchDeleteClusterSnapshotsInput) SetIdentifiers(v []*DeleteClusterSnapshotMessage) *BatchDeleteClusterSnapshotsInput {
  8369. s.Identifiers = v
  8370. return s
  8371. }
  8372. type BatchDeleteClusterSnapshotsOutput struct {
  8373. _ struct{} `type:"structure"`
  8374. // A list of any errors returned.
  8375. Errors []*SnapshotErrorMessage `locationNameList:"SnapshotErrorMessage" type:"list"`
  8376. // A list of the snapshot identifiers that were deleted.
  8377. Resources []*string `locationNameList:"String" type:"list"`
  8378. }
  8379. // String returns the string representation
  8380. func (s BatchDeleteClusterSnapshotsOutput) String() string {
  8381. return awsutil.Prettify(s)
  8382. }
  8383. // GoString returns the string representation
  8384. func (s BatchDeleteClusterSnapshotsOutput) GoString() string {
  8385. return s.String()
  8386. }
  8387. // SetErrors sets the Errors field's value.
  8388. func (s *BatchDeleteClusterSnapshotsOutput) SetErrors(v []*SnapshotErrorMessage) *BatchDeleteClusterSnapshotsOutput {
  8389. s.Errors = v
  8390. return s
  8391. }
  8392. // SetResources sets the Resources field's value.
  8393. func (s *BatchDeleteClusterSnapshotsOutput) SetResources(v []*string) *BatchDeleteClusterSnapshotsOutput {
  8394. s.Resources = v
  8395. return s
  8396. }
  8397. type BatchModifyClusterSnapshotsInput struct {
  8398. _ struct{} `type:"structure"`
  8399. // A boolean value indicating whether to override an exception if the retention
  8400. // period has passed.
  8401. Force *bool `type:"boolean"`
  8402. // The number of days that a manual snapshot is retained. If you specify the
  8403. // value -1, the manual snapshot is retained indefinitely.
  8404. //
  8405. // The number must be either -1 or an integer between 1 and 3,653.
  8406. //
  8407. // If you decrease the manual snapshot retention period from its current value,
  8408. // existing manual snapshots that fall outside of the new retention period will
  8409. // return an error. If you want to suppress the errors and delete the snapshots,
  8410. // use the force option.
  8411. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  8412. // A list of snapshot identifiers you want to modify.
  8413. //
  8414. // SnapshotIdentifierList is a required field
  8415. SnapshotIdentifierList []*string `locationNameList:"String" type:"list" required:"true"`
  8416. }
  8417. // String returns the string representation
  8418. func (s BatchModifyClusterSnapshotsInput) String() string {
  8419. return awsutil.Prettify(s)
  8420. }
  8421. // GoString returns the string representation
  8422. func (s BatchModifyClusterSnapshotsInput) GoString() string {
  8423. return s.String()
  8424. }
  8425. // Validate inspects the fields of the type to determine if they are valid.
  8426. func (s *BatchModifyClusterSnapshotsInput) Validate() error {
  8427. invalidParams := request.ErrInvalidParams{Context: "BatchModifyClusterSnapshotsInput"}
  8428. if s.SnapshotIdentifierList == nil {
  8429. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifierList"))
  8430. }
  8431. if invalidParams.Len() > 0 {
  8432. return invalidParams
  8433. }
  8434. return nil
  8435. }
  8436. // SetForce sets the Force field's value.
  8437. func (s *BatchModifyClusterSnapshotsInput) SetForce(v bool) *BatchModifyClusterSnapshotsInput {
  8438. s.Force = &v
  8439. return s
  8440. }
  8441. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  8442. func (s *BatchModifyClusterSnapshotsInput) SetManualSnapshotRetentionPeriod(v int64) *BatchModifyClusterSnapshotsInput {
  8443. s.ManualSnapshotRetentionPeriod = &v
  8444. return s
  8445. }
  8446. // SetSnapshotIdentifierList sets the SnapshotIdentifierList field's value.
  8447. func (s *BatchModifyClusterSnapshotsInput) SetSnapshotIdentifierList(v []*string) *BatchModifyClusterSnapshotsInput {
  8448. s.SnapshotIdentifierList = v
  8449. return s
  8450. }
  8451. type BatchModifyClusterSnapshotsOutput struct {
  8452. _ struct{} `type:"structure"`
  8453. // A list of any errors returned.
  8454. Errors []*SnapshotErrorMessage `locationNameList:"SnapshotErrorMessage" type:"list"`
  8455. // A list of the snapshots that were modified.
  8456. Resources []*string `locationNameList:"String" type:"list"`
  8457. }
  8458. // String returns the string representation
  8459. func (s BatchModifyClusterSnapshotsOutput) String() string {
  8460. return awsutil.Prettify(s)
  8461. }
  8462. // GoString returns the string representation
  8463. func (s BatchModifyClusterSnapshotsOutput) GoString() string {
  8464. return s.String()
  8465. }
  8466. // SetErrors sets the Errors field's value.
  8467. func (s *BatchModifyClusterSnapshotsOutput) SetErrors(v []*SnapshotErrorMessage) *BatchModifyClusterSnapshotsOutput {
  8468. s.Errors = v
  8469. return s
  8470. }
  8471. // SetResources sets the Resources field's value.
  8472. func (s *BatchModifyClusterSnapshotsOutput) SetResources(v []*string) *BatchModifyClusterSnapshotsOutput {
  8473. s.Resources = v
  8474. return s
  8475. }
  8476. type CancelResizeInput struct {
  8477. _ struct{} `type:"structure"`
  8478. // The unique identifier for the cluster that you want to cancel a resize operation
  8479. // for.
  8480. //
  8481. // ClusterIdentifier is a required field
  8482. ClusterIdentifier *string `type:"string" required:"true"`
  8483. }
  8484. // String returns the string representation
  8485. func (s CancelResizeInput) String() string {
  8486. return awsutil.Prettify(s)
  8487. }
  8488. // GoString returns the string representation
  8489. func (s CancelResizeInput) GoString() string {
  8490. return s.String()
  8491. }
  8492. // Validate inspects the fields of the type to determine if they are valid.
  8493. func (s *CancelResizeInput) Validate() error {
  8494. invalidParams := request.ErrInvalidParams{Context: "CancelResizeInput"}
  8495. if s.ClusterIdentifier == nil {
  8496. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  8497. }
  8498. if invalidParams.Len() > 0 {
  8499. return invalidParams
  8500. }
  8501. return nil
  8502. }
  8503. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  8504. func (s *CancelResizeInput) SetClusterIdentifier(v string) *CancelResizeInput {
  8505. s.ClusterIdentifier = &v
  8506. return s
  8507. }
  8508. // Describes the result of a cluster resize operation.
  8509. type CancelResizeOutput struct {
  8510. _ struct{} `type:"structure"`
  8511. // The average rate of the resize operation over the last few minutes, measured
  8512. // in megabytes per second. After the resize operation completes, this value
  8513. // shows the average rate of the entire resize operation.
  8514. AvgResizeRateInMegaBytesPerSecond *float64 `type:"double"`
  8515. // The amount of seconds that have elapsed since the resize operation began.
  8516. // After the resize operation completes, this value shows the total actual time,
  8517. // in seconds, for the resize operation.
  8518. ElapsedTimeInSeconds *int64 `type:"long"`
  8519. // The estimated time remaining, in seconds, until the resize operation is complete.
  8520. // This value is calculated based on the average resize rate and the estimated
  8521. // amount of data remaining to be processed. Once the resize operation is complete,
  8522. // this value will be 0.
  8523. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  8524. // The names of tables that have been completely imported .
  8525. //
  8526. // Valid Values: List of table names.
  8527. ImportTablesCompleted []*string `type:"list"`
  8528. // The names of tables that are being currently imported.
  8529. //
  8530. // Valid Values: List of table names.
  8531. ImportTablesInProgress []*string `type:"list"`
  8532. // The names of tables that have not been yet imported.
  8533. //
  8534. // Valid Values: List of table names
  8535. ImportTablesNotStarted []*string `type:"list"`
  8536. // An optional string to provide additional details about the resize action.
  8537. Message *string `type:"string"`
  8538. // While the resize operation is in progress, this value shows the current amount
  8539. // of data, in megabytes, that has been processed so far. When the resize operation
  8540. // is complete, this value shows the total amount of data, in megabytes, on
  8541. // the cluster, which may be more or less than TotalResizeDataInMegaBytes (the
  8542. // estimated total amount of data before resize).
  8543. ProgressInMegaBytes *int64 `type:"long"`
  8544. // An enum with possible values of ClassicResize and ElasticResize. These values
  8545. // describe the type of resize operation being performed.
  8546. ResizeType *string `type:"string"`
  8547. // The status of the resize operation.
  8548. //
  8549. // Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED | CANCELLING
  8550. Status *string `type:"string"`
  8551. // The cluster type after the resize operation is complete.
  8552. //
  8553. // Valid Values: multi-node | single-node
  8554. TargetClusterType *string `type:"string"`
  8555. // The type of encryption for the cluster after the resize is complete.
  8556. //
  8557. // Possible values are KMS and None. In the China region possible values are:
  8558. // Legacy and None.
  8559. TargetEncryptionType *string `type:"string"`
  8560. // The node type that the cluster will have after the resize operation is complete.
  8561. TargetNodeType *string `type:"string"`
  8562. // The number of nodes that the cluster will have after the resize operation
  8563. // is complete.
  8564. TargetNumberOfNodes *int64 `type:"integer"`
  8565. // The estimated total amount of data, in megabytes, on the cluster before the
  8566. // resize operation began.
  8567. TotalResizeDataInMegaBytes *int64 `type:"long"`
  8568. }
  8569. // String returns the string representation
  8570. func (s CancelResizeOutput) String() string {
  8571. return awsutil.Prettify(s)
  8572. }
  8573. // GoString returns the string representation
  8574. func (s CancelResizeOutput) GoString() string {
  8575. return s.String()
  8576. }
  8577. // SetAvgResizeRateInMegaBytesPerSecond sets the AvgResizeRateInMegaBytesPerSecond field's value.
  8578. func (s *CancelResizeOutput) SetAvgResizeRateInMegaBytesPerSecond(v float64) *CancelResizeOutput {
  8579. s.AvgResizeRateInMegaBytesPerSecond = &v
  8580. return s
  8581. }
  8582. // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
  8583. func (s *CancelResizeOutput) SetElapsedTimeInSeconds(v int64) *CancelResizeOutput {
  8584. s.ElapsedTimeInSeconds = &v
  8585. return s
  8586. }
  8587. // SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
  8588. func (s *CancelResizeOutput) SetEstimatedTimeToCompletionInSeconds(v int64) *CancelResizeOutput {
  8589. s.EstimatedTimeToCompletionInSeconds = &v
  8590. return s
  8591. }
  8592. // SetImportTablesCompleted sets the ImportTablesCompleted field's value.
  8593. func (s *CancelResizeOutput) SetImportTablesCompleted(v []*string) *CancelResizeOutput {
  8594. s.ImportTablesCompleted = v
  8595. return s
  8596. }
  8597. // SetImportTablesInProgress sets the ImportTablesInProgress field's value.
  8598. func (s *CancelResizeOutput) SetImportTablesInProgress(v []*string) *CancelResizeOutput {
  8599. s.ImportTablesInProgress = v
  8600. return s
  8601. }
  8602. // SetImportTablesNotStarted sets the ImportTablesNotStarted field's value.
  8603. func (s *CancelResizeOutput) SetImportTablesNotStarted(v []*string) *CancelResizeOutput {
  8604. s.ImportTablesNotStarted = v
  8605. return s
  8606. }
  8607. // SetMessage sets the Message field's value.
  8608. func (s *CancelResizeOutput) SetMessage(v string) *CancelResizeOutput {
  8609. s.Message = &v
  8610. return s
  8611. }
  8612. // SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
  8613. func (s *CancelResizeOutput) SetProgressInMegaBytes(v int64) *CancelResizeOutput {
  8614. s.ProgressInMegaBytes = &v
  8615. return s
  8616. }
  8617. // SetResizeType sets the ResizeType field's value.
  8618. func (s *CancelResizeOutput) SetResizeType(v string) *CancelResizeOutput {
  8619. s.ResizeType = &v
  8620. return s
  8621. }
  8622. // SetStatus sets the Status field's value.
  8623. func (s *CancelResizeOutput) SetStatus(v string) *CancelResizeOutput {
  8624. s.Status = &v
  8625. return s
  8626. }
  8627. // SetTargetClusterType sets the TargetClusterType field's value.
  8628. func (s *CancelResizeOutput) SetTargetClusterType(v string) *CancelResizeOutput {
  8629. s.TargetClusterType = &v
  8630. return s
  8631. }
  8632. // SetTargetEncryptionType sets the TargetEncryptionType field's value.
  8633. func (s *CancelResizeOutput) SetTargetEncryptionType(v string) *CancelResizeOutput {
  8634. s.TargetEncryptionType = &v
  8635. return s
  8636. }
  8637. // SetTargetNodeType sets the TargetNodeType field's value.
  8638. func (s *CancelResizeOutput) SetTargetNodeType(v string) *CancelResizeOutput {
  8639. s.TargetNodeType = &v
  8640. return s
  8641. }
  8642. // SetTargetNumberOfNodes sets the TargetNumberOfNodes field's value.
  8643. func (s *CancelResizeOutput) SetTargetNumberOfNodes(v int64) *CancelResizeOutput {
  8644. s.TargetNumberOfNodes = &v
  8645. return s
  8646. }
  8647. // SetTotalResizeDataInMegaBytes sets the TotalResizeDataInMegaBytes field's value.
  8648. func (s *CancelResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *CancelResizeOutput {
  8649. s.TotalResizeDataInMegaBytes = &v
  8650. return s
  8651. }
  8652. // Describes a cluster.
  8653. type Cluster struct {
  8654. _ struct{} `type:"structure"`
  8655. // A boolean value that, if true, indicates that major version upgrades will
  8656. // be applied automatically to the cluster during the maintenance window.
  8657. AllowVersionUpgrade *bool `type:"boolean"`
  8658. // The number of days that automatic cluster snapshots are retained.
  8659. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  8660. // The name of the Availability Zone in which the cluster is located.
  8661. AvailabilityZone *string `type:"string"`
  8662. // The date and time that the cluster was created.
  8663. ClusterCreateTime *time.Time `type:"timestamp"`
  8664. // The unique identifier of the cluster.
  8665. ClusterIdentifier *string `type:"string"`
  8666. // The nodes in the cluster.
  8667. ClusterNodes []*ClusterNode `type:"list"`
  8668. // The list of cluster parameter groups that are associated with this cluster.
  8669. // Each parameter group in the list is returned with its status.
  8670. ClusterParameterGroups []*ClusterParameterGroupStatus `locationNameList:"ClusterParameterGroup" type:"list"`
  8671. // The public key for the cluster.
  8672. ClusterPublicKey *string `type:"string"`
  8673. // The specific revision number of the database in the cluster.
  8674. ClusterRevisionNumber *string `type:"string"`
  8675. // A list of cluster security group that are associated with the cluster. Each
  8676. // security group is represented by an element that contains ClusterSecurityGroup.Name
  8677. // and ClusterSecurityGroup.Status subelements.
  8678. //
  8679. // Cluster security groups are used when the cluster is not created in an Amazon
  8680. // Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security
  8681. // groups, which are listed by the VpcSecurityGroups parameter.
  8682. ClusterSecurityGroups []*ClusterSecurityGroupMembership `locationNameList:"ClusterSecurityGroup" type:"list"`
  8683. // A value that returns the destination region and retention period that are
  8684. // configured for cross-region snapshot copy.
  8685. ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus `type:"structure"`
  8686. // The current state of the cluster. Possible values are the following:
  8687. //
  8688. // * available
  8689. //
  8690. // * available, prep-for-resize
  8691. //
  8692. // * available, resize-cleanup
  8693. //
  8694. // * cancelling-resize
  8695. //
  8696. // * creating
  8697. //
  8698. // * deleting
  8699. //
  8700. // * final-snapshot
  8701. //
  8702. // * hardware-failure
  8703. //
  8704. // * incompatible-hsm
  8705. //
  8706. // * incompatible-network
  8707. //
  8708. // * incompatible-parameters
  8709. //
  8710. // * incompatible-restore
  8711. //
  8712. // * modifying
  8713. //
  8714. // * rebooting
  8715. //
  8716. // * renaming
  8717. //
  8718. // * resizing
  8719. //
  8720. // * rotating-keys
  8721. //
  8722. // * storage-full
  8723. //
  8724. // * updating-hsm
  8725. ClusterStatus *string `type:"string"`
  8726. // The name of the subnet group that is associated with the cluster. This parameter
  8727. // is valid only when the cluster is in a VPC.
  8728. ClusterSubnetGroupName *string `type:"string"`
  8729. // The version ID of the Amazon Redshift engine that is running on the cluster.
  8730. ClusterVersion *string `type:"string"`
  8731. // The name of the initial database that was created when the cluster was created.
  8732. // This same name is returned for the life of the cluster. If an initial database
  8733. // was not specified, a database named devdev was created by default.
  8734. DBName *string `type:"string"`
  8735. // Describes the status of a cluster while it is in the process of resizing
  8736. // with an incremental resize.
  8737. DataTransferProgress *DataTransferProgress `type:"structure"`
  8738. // Describes a group of DeferredMaintenanceWindow objects.
  8739. DeferredMaintenanceWindows []*DeferredMaintenanceWindow `locationNameList:"DeferredMaintenanceWindow" type:"list"`
  8740. // The status of the elastic IP (EIP) address.
  8741. ElasticIpStatus *ElasticIpStatus `type:"structure"`
  8742. // The number of nodes that you can resize the cluster to with the elastic resize
  8743. // method.
  8744. ElasticResizeNumberOfNodeOptions *string `type:"string"`
  8745. // A boolean value that, if true, indicates that data in the cluster is encrypted
  8746. // at rest.
  8747. Encrypted *bool `type:"boolean"`
  8748. // The connection endpoint.
  8749. Endpoint *Endpoint `type:"structure"`
  8750. // An option that specifies whether to create the cluster with enhanced VPC
  8751. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  8752. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  8753. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  8754. // in the Amazon Redshift Cluster Management Guide.
  8755. //
  8756. // If this option is true, enhanced VPC routing is enabled.
  8757. //
  8758. // Default: false
  8759. EnhancedVpcRouting *bool `type:"boolean"`
  8760. // A value that reports whether the Amazon Redshift cluster has finished applying
  8761. // any hardware security module (HSM) settings changes specified in a modify
  8762. // cluster command.
  8763. //
  8764. // Values: active, applying
  8765. HsmStatus *HsmStatus `type:"structure"`
  8766. // A list of AWS Identity and Access Management (IAM) roles that can be used
  8767. // by the cluster to access other AWS services.
  8768. IamRoles []*ClusterIamRole `locationNameList:"ClusterIamRole" type:"list"`
  8769. // The AWS Key Management Service (AWS KMS) key ID of the encryption key used
  8770. // to encrypt data in the cluster.
  8771. KmsKeyId *string `type:"string"`
  8772. // The name of the maintenance track for the cluster.
  8773. MaintenanceTrackName *string `type:"string"`
  8774. // The default number of days to retain a manual snapshot. If the value is -1,
  8775. // the snapshot is retained indefinitely. This setting doesn't change the retention
  8776. // period of existing snapshots.
  8777. //
  8778. // The value must be either -1 or an integer between 1 and 3,653.
  8779. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  8780. // The master user name for the cluster. This name is used to connect to the
  8781. // database that is specified in the DBName parameter.
  8782. MasterUsername *string `type:"string"`
  8783. // The status of a modify operation, if any, initiated for the cluster.
  8784. ModifyStatus *string `type:"string"`
  8785. // The node type for the nodes in the cluster.
  8786. NodeType *string `type:"string"`
  8787. // The number of compute nodes in the cluster.
  8788. NumberOfNodes *int64 `type:"integer"`
  8789. // Cluster operations that are waiting to be started.
  8790. PendingActions []*string `type:"list"`
  8791. // A value that, if present, indicates that changes to the cluster are pending.
  8792. // Specific pending changes are identified by subelements.
  8793. PendingModifiedValues *PendingModifiedValues `type:"structure"`
  8794. // The weekly time range, in Universal Coordinated Time (UTC), during which
  8795. // system maintenance can occur.
  8796. PreferredMaintenanceWindow *string `type:"string"`
  8797. // A boolean value that, if true, indicates that the cluster can be accessed
  8798. // from a public network.
  8799. PubliclyAccessible *bool `type:"boolean"`
  8800. // Returns the following:
  8801. //
  8802. // * AllowCancelResize: a boolean value indicating if the resize operation
  8803. // can be cancelled.
  8804. //
  8805. // * ResizeType: Returns ClassicResize
  8806. ResizeInfo *ResizeInfo `type:"structure"`
  8807. // A value that describes the status of a cluster restore action. This parameter
  8808. // returns null if the cluster was not created by restoring a snapshot.
  8809. RestoreStatus *RestoreStatus `type:"structure"`
  8810. // A unique identifier for the cluster snapshot schedule.
  8811. SnapshotScheduleIdentifier *string `type:"string"`
  8812. // The current state of the cluster snapshot schedule.
  8813. SnapshotScheduleState *string `type:"string" enum:"ScheduleState"`
  8814. // The list of tags for the cluster.
  8815. Tags []*Tag `locationNameList:"Tag" type:"list"`
  8816. // The identifier of the VPC the cluster is in, if the cluster is in a VPC.
  8817. VpcId *string `type:"string"`
  8818. // A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that
  8819. // are associated with the cluster. This parameter is returned only if the cluster
  8820. // is in a VPC.
  8821. VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroup" type:"list"`
  8822. }
  8823. // String returns the string representation
  8824. func (s Cluster) String() string {
  8825. return awsutil.Prettify(s)
  8826. }
  8827. // GoString returns the string representation
  8828. func (s Cluster) GoString() string {
  8829. return s.String()
  8830. }
  8831. // SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
  8832. func (s *Cluster) SetAllowVersionUpgrade(v bool) *Cluster {
  8833. s.AllowVersionUpgrade = &v
  8834. return s
  8835. }
  8836. // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
  8837. func (s *Cluster) SetAutomatedSnapshotRetentionPeriod(v int64) *Cluster {
  8838. s.AutomatedSnapshotRetentionPeriod = &v
  8839. return s
  8840. }
  8841. // SetAvailabilityZone sets the AvailabilityZone field's value.
  8842. func (s *Cluster) SetAvailabilityZone(v string) *Cluster {
  8843. s.AvailabilityZone = &v
  8844. return s
  8845. }
  8846. // SetClusterCreateTime sets the ClusterCreateTime field's value.
  8847. func (s *Cluster) SetClusterCreateTime(v time.Time) *Cluster {
  8848. s.ClusterCreateTime = &v
  8849. return s
  8850. }
  8851. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  8852. func (s *Cluster) SetClusterIdentifier(v string) *Cluster {
  8853. s.ClusterIdentifier = &v
  8854. return s
  8855. }
  8856. // SetClusterNodes sets the ClusterNodes field's value.
  8857. func (s *Cluster) SetClusterNodes(v []*ClusterNode) *Cluster {
  8858. s.ClusterNodes = v
  8859. return s
  8860. }
  8861. // SetClusterParameterGroups sets the ClusterParameterGroups field's value.
  8862. func (s *Cluster) SetClusterParameterGroups(v []*ClusterParameterGroupStatus) *Cluster {
  8863. s.ClusterParameterGroups = v
  8864. return s
  8865. }
  8866. // SetClusterPublicKey sets the ClusterPublicKey field's value.
  8867. func (s *Cluster) SetClusterPublicKey(v string) *Cluster {
  8868. s.ClusterPublicKey = &v
  8869. return s
  8870. }
  8871. // SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
  8872. func (s *Cluster) SetClusterRevisionNumber(v string) *Cluster {
  8873. s.ClusterRevisionNumber = &v
  8874. return s
  8875. }
  8876. // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
  8877. func (s *Cluster) SetClusterSecurityGroups(v []*ClusterSecurityGroupMembership) *Cluster {
  8878. s.ClusterSecurityGroups = v
  8879. return s
  8880. }
  8881. // SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
  8882. func (s *Cluster) SetClusterSnapshotCopyStatus(v *ClusterSnapshotCopyStatus) *Cluster {
  8883. s.ClusterSnapshotCopyStatus = v
  8884. return s
  8885. }
  8886. // SetClusterStatus sets the ClusterStatus field's value.
  8887. func (s *Cluster) SetClusterStatus(v string) *Cluster {
  8888. s.ClusterStatus = &v
  8889. return s
  8890. }
  8891. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  8892. func (s *Cluster) SetClusterSubnetGroupName(v string) *Cluster {
  8893. s.ClusterSubnetGroupName = &v
  8894. return s
  8895. }
  8896. // SetClusterVersion sets the ClusterVersion field's value.
  8897. func (s *Cluster) SetClusterVersion(v string) *Cluster {
  8898. s.ClusterVersion = &v
  8899. return s
  8900. }
  8901. // SetDBName sets the DBName field's value.
  8902. func (s *Cluster) SetDBName(v string) *Cluster {
  8903. s.DBName = &v
  8904. return s
  8905. }
  8906. // SetDataTransferProgress sets the DataTransferProgress field's value.
  8907. func (s *Cluster) SetDataTransferProgress(v *DataTransferProgress) *Cluster {
  8908. s.DataTransferProgress = v
  8909. return s
  8910. }
  8911. // SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
  8912. func (s *Cluster) SetDeferredMaintenanceWindows(v []*DeferredMaintenanceWindow) *Cluster {
  8913. s.DeferredMaintenanceWindows = v
  8914. return s
  8915. }
  8916. // SetElasticIpStatus sets the ElasticIpStatus field's value.
  8917. func (s *Cluster) SetElasticIpStatus(v *ElasticIpStatus) *Cluster {
  8918. s.ElasticIpStatus = v
  8919. return s
  8920. }
  8921. // SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
  8922. func (s *Cluster) SetElasticResizeNumberOfNodeOptions(v string) *Cluster {
  8923. s.ElasticResizeNumberOfNodeOptions = &v
  8924. return s
  8925. }
  8926. // SetEncrypted sets the Encrypted field's value.
  8927. func (s *Cluster) SetEncrypted(v bool) *Cluster {
  8928. s.Encrypted = &v
  8929. return s
  8930. }
  8931. // SetEndpoint sets the Endpoint field's value.
  8932. func (s *Cluster) SetEndpoint(v *Endpoint) *Cluster {
  8933. s.Endpoint = v
  8934. return s
  8935. }
  8936. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  8937. func (s *Cluster) SetEnhancedVpcRouting(v bool) *Cluster {
  8938. s.EnhancedVpcRouting = &v
  8939. return s
  8940. }
  8941. // SetHsmStatus sets the HsmStatus field's value.
  8942. func (s *Cluster) SetHsmStatus(v *HsmStatus) *Cluster {
  8943. s.HsmStatus = v
  8944. return s
  8945. }
  8946. // SetIamRoles sets the IamRoles field's value.
  8947. func (s *Cluster) SetIamRoles(v []*ClusterIamRole) *Cluster {
  8948. s.IamRoles = v
  8949. return s
  8950. }
  8951. // SetKmsKeyId sets the KmsKeyId field's value.
  8952. func (s *Cluster) SetKmsKeyId(v string) *Cluster {
  8953. s.KmsKeyId = &v
  8954. return s
  8955. }
  8956. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  8957. func (s *Cluster) SetMaintenanceTrackName(v string) *Cluster {
  8958. s.MaintenanceTrackName = &v
  8959. return s
  8960. }
  8961. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  8962. func (s *Cluster) SetManualSnapshotRetentionPeriod(v int64) *Cluster {
  8963. s.ManualSnapshotRetentionPeriod = &v
  8964. return s
  8965. }
  8966. // SetMasterUsername sets the MasterUsername field's value.
  8967. func (s *Cluster) SetMasterUsername(v string) *Cluster {
  8968. s.MasterUsername = &v
  8969. return s
  8970. }
  8971. // SetModifyStatus sets the ModifyStatus field's value.
  8972. func (s *Cluster) SetModifyStatus(v string) *Cluster {
  8973. s.ModifyStatus = &v
  8974. return s
  8975. }
  8976. // SetNodeType sets the NodeType field's value.
  8977. func (s *Cluster) SetNodeType(v string) *Cluster {
  8978. s.NodeType = &v
  8979. return s
  8980. }
  8981. // SetNumberOfNodes sets the NumberOfNodes field's value.
  8982. func (s *Cluster) SetNumberOfNodes(v int64) *Cluster {
  8983. s.NumberOfNodes = &v
  8984. return s
  8985. }
  8986. // SetPendingActions sets the PendingActions field's value.
  8987. func (s *Cluster) SetPendingActions(v []*string) *Cluster {
  8988. s.PendingActions = v
  8989. return s
  8990. }
  8991. // SetPendingModifiedValues sets the PendingModifiedValues field's value.
  8992. func (s *Cluster) SetPendingModifiedValues(v *PendingModifiedValues) *Cluster {
  8993. s.PendingModifiedValues = v
  8994. return s
  8995. }
  8996. // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  8997. func (s *Cluster) SetPreferredMaintenanceWindow(v string) *Cluster {
  8998. s.PreferredMaintenanceWindow = &v
  8999. return s
  9000. }
  9001. // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  9002. func (s *Cluster) SetPubliclyAccessible(v bool) *Cluster {
  9003. s.PubliclyAccessible = &v
  9004. return s
  9005. }
  9006. // SetResizeInfo sets the ResizeInfo field's value.
  9007. func (s *Cluster) SetResizeInfo(v *ResizeInfo) *Cluster {
  9008. s.ResizeInfo = v
  9009. return s
  9010. }
  9011. // SetRestoreStatus sets the RestoreStatus field's value.
  9012. func (s *Cluster) SetRestoreStatus(v *RestoreStatus) *Cluster {
  9013. s.RestoreStatus = v
  9014. return s
  9015. }
  9016. // SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
  9017. func (s *Cluster) SetSnapshotScheduleIdentifier(v string) *Cluster {
  9018. s.SnapshotScheduleIdentifier = &v
  9019. return s
  9020. }
  9021. // SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
  9022. func (s *Cluster) SetSnapshotScheduleState(v string) *Cluster {
  9023. s.SnapshotScheduleState = &v
  9024. return s
  9025. }
  9026. // SetTags sets the Tags field's value.
  9027. func (s *Cluster) SetTags(v []*Tag) *Cluster {
  9028. s.Tags = v
  9029. return s
  9030. }
  9031. // SetVpcId sets the VpcId field's value.
  9032. func (s *Cluster) SetVpcId(v string) *Cluster {
  9033. s.VpcId = &v
  9034. return s
  9035. }
  9036. // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
  9037. func (s *Cluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *Cluster {
  9038. s.VpcSecurityGroups = v
  9039. return s
  9040. }
  9041. type ClusterAssociatedToSchedule struct {
  9042. _ struct{} `type:"structure"`
  9043. ClusterIdentifier *string `type:"string"`
  9044. ScheduleAssociationState *string `type:"string" enum:"ScheduleState"`
  9045. }
  9046. // String returns the string representation
  9047. func (s ClusterAssociatedToSchedule) String() string {
  9048. return awsutil.Prettify(s)
  9049. }
  9050. // GoString returns the string representation
  9051. func (s ClusterAssociatedToSchedule) GoString() string {
  9052. return s.String()
  9053. }
  9054. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  9055. func (s *ClusterAssociatedToSchedule) SetClusterIdentifier(v string) *ClusterAssociatedToSchedule {
  9056. s.ClusterIdentifier = &v
  9057. return s
  9058. }
  9059. // SetScheduleAssociationState sets the ScheduleAssociationState field's value.
  9060. func (s *ClusterAssociatedToSchedule) SetScheduleAssociationState(v string) *ClusterAssociatedToSchedule {
  9061. s.ScheduleAssociationState = &v
  9062. return s
  9063. }
  9064. // Describes a ClusterDbRevision.
  9065. type ClusterDbRevision struct {
  9066. _ struct{} `type:"structure"`
  9067. // The unique identifier of the cluster.
  9068. ClusterIdentifier *string `type:"string"`
  9069. // A string representing the current cluster version.
  9070. CurrentDatabaseRevision *string `type:"string"`
  9071. // The date on which the database revision was released.
  9072. DatabaseRevisionReleaseDate *time.Time `type:"timestamp"`
  9073. // A list of RevisionTarget objects, where each object describes the database
  9074. // revision that a cluster can be updated to.
  9075. RevisionTargets []*RevisionTarget `locationNameList:"RevisionTarget" type:"list"`
  9076. }
  9077. // String returns the string representation
  9078. func (s ClusterDbRevision) String() string {
  9079. return awsutil.Prettify(s)
  9080. }
  9081. // GoString returns the string representation
  9082. func (s ClusterDbRevision) GoString() string {
  9083. return s.String()
  9084. }
  9085. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  9086. func (s *ClusterDbRevision) SetClusterIdentifier(v string) *ClusterDbRevision {
  9087. s.ClusterIdentifier = &v
  9088. return s
  9089. }
  9090. // SetCurrentDatabaseRevision sets the CurrentDatabaseRevision field's value.
  9091. func (s *ClusterDbRevision) SetCurrentDatabaseRevision(v string) *ClusterDbRevision {
  9092. s.CurrentDatabaseRevision = &v
  9093. return s
  9094. }
  9095. // SetDatabaseRevisionReleaseDate sets the DatabaseRevisionReleaseDate field's value.
  9096. func (s *ClusterDbRevision) SetDatabaseRevisionReleaseDate(v time.Time) *ClusterDbRevision {
  9097. s.DatabaseRevisionReleaseDate = &v
  9098. return s
  9099. }
  9100. // SetRevisionTargets sets the RevisionTargets field's value.
  9101. func (s *ClusterDbRevision) SetRevisionTargets(v []*RevisionTarget) *ClusterDbRevision {
  9102. s.RevisionTargets = v
  9103. return s
  9104. }
  9105. // An AWS Identity and Access Management (IAM) role that can be used by the
  9106. // associated Amazon Redshift cluster to access other AWS services.
  9107. type ClusterIamRole struct {
  9108. _ struct{} `type:"structure"`
  9109. // A value that describes the status of the IAM role's association with an Amazon
  9110. // Redshift cluster.
  9111. //
  9112. // The following are possible statuses and descriptions.
  9113. //
  9114. // * in-sync: The role is available for use by the cluster.
  9115. //
  9116. // * adding: The role is in the process of being associated with the cluster.
  9117. //
  9118. // * removing: The role is in the process of being disassociated with the
  9119. // cluster.
  9120. ApplyStatus *string `type:"string"`
  9121. // The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload.
  9122. IamRoleArn *string `type:"string"`
  9123. }
  9124. // String returns the string representation
  9125. func (s ClusterIamRole) String() string {
  9126. return awsutil.Prettify(s)
  9127. }
  9128. // GoString returns the string representation
  9129. func (s ClusterIamRole) GoString() string {
  9130. return s.String()
  9131. }
  9132. // SetApplyStatus sets the ApplyStatus field's value.
  9133. func (s *ClusterIamRole) SetApplyStatus(v string) *ClusterIamRole {
  9134. s.ApplyStatus = &v
  9135. return s
  9136. }
  9137. // SetIamRoleArn sets the IamRoleArn field's value.
  9138. func (s *ClusterIamRole) SetIamRoleArn(v string) *ClusterIamRole {
  9139. s.IamRoleArn = &v
  9140. return s
  9141. }
  9142. // The identifier of a node in a cluster.
  9143. type ClusterNode struct {
  9144. _ struct{} `type:"structure"`
  9145. // Whether the node is a leader node or a compute node.
  9146. NodeRole *string `type:"string"`
  9147. // The private IP address of a node within a cluster.
  9148. PrivateIPAddress *string `type:"string"`
  9149. // The public IP address of a node within a cluster.
  9150. PublicIPAddress *string `type:"string"`
  9151. }
  9152. // String returns the string representation
  9153. func (s ClusterNode) String() string {
  9154. return awsutil.Prettify(s)
  9155. }
  9156. // GoString returns the string representation
  9157. func (s ClusterNode) GoString() string {
  9158. return s.String()
  9159. }
  9160. // SetNodeRole sets the NodeRole field's value.
  9161. func (s *ClusterNode) SetNodeRole(v string) *ClusterNode {
  9162. s.NodeRole = &v
  9163. return s
  9164. }
  9165. // SetPrivateIPAddress sets the PrivateIPAddress field's value.
  9166. func (s *ClusterNode) SetPrivateIPAddress(v string) *ClusterNode {
  9167. s.PrivateIPAddress = &v
  9168. return s
  9169. }
  9170. // SetPublicIPAddress sets the PublicIPAddress field's value.
  9171. func (s *ClusterNode) SetPublicIPAddress(v string) *ClusterNode {
  9172. s.PublicIPAddress = &v
  9173. return s
  9174. }
  9175. // Describes a parameter group.
  9176. type ClusterParameterGroup struct {
  9177. _ struct{} `type:"structure"`
  9178. // The description of the parameter group.
  9179. Description *string `type:"string"`
  9180. // The name of the cluster parameter group family that this cluster parameter
  9181. // group is compatible with.
  9182. ParameterGroupFamily *string `type:"string"`
  9183. // The name of the cluster parameter group.
  9184. ParameterGroupName *string `type:"string"`
  9185. // The list of tags for the cluster parameter group.
  9186. Tags []*Tag `locationNameList:"Tag" type:"list"`
  9187. }
  9188. // String returns the string representation
  9189. func (s ClusterParameterGroup) String() string {
  9190. return awsutil.Prettify(s)
  9191. }
  9192. // GoString returns the string representation
  9193. func (s ClusterParameterGroup) GoString() string {
  9194. return s.String()
  9195. }
  9196. // SetDescription sets the Description field's value.
  9197. func (s *ClusterParameterGroup) SetDescription(v string) *ClusterParameterGroup {
  9198. s.Description = &v
  9199. return s
  9200. }
  9201. // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  9202. func (s *ClusterParameterGroup) SetParameterGroupFamily(v string) *ClusterParameterGroup {
  9203. s.ParameterGroupFamily = &v
  9204. return s
  9205. }
  9206. // SetParameterGroupName sets the ParameterGroupName field's value.
  9207. func (s *ClusterParameterGroup) SetParameterGroupName(v string) *ClusterParameterGroup {
  9208. s.ParameterGroupName = &v
  9209. return s
  9210. }
  9211. // SetTags sets the Tags field's value.
  9212. func (s *ClusterParameterGroup) SetTags(v []*Tag) *ClusterParameterGroup {
  9213. s.Tags = v
  9214. return s
  9215. }
  9216. type ClusterParameterGroupNameMessage struct {
  9217. _ struct{} `type:"structure"`
  9218. // The name of the cluster parameter group.
  9219. ParameterGroupName *string `type:"string"`
  9220. // The status of the parameter group. For example, if you made a change to a
  9221. // parameter group name-value pair, then the change could be pending a reboot
  9222. // of an associated cluster.
  9223. ParameterGroupStatus *string `type:"string"`
  9224. }
  9225. // String returns the string representation
  9226. func (s ClusterParameterGroupNameMessage) String() string {
  9227. return awsutil.Prettify(s)
  9228. }
  9229. // GoString returns the string representation
  9230. func (s ClusterParameterGroupNameMessage) GoString() string {
  9231. return s.String()
  9232. }
  9233. // SetParameterGroupName sets the ParameterGroupName field's value.
  9234. func (s *ClusterParameterGroupNameMessage) SetParameterGroupName(v string) *ClusterParameterGroupNameMessage {
  9235. s.ParameterGroupName = &v
  9236. return s
  9237. }
  9238. // SetParameterGroupStatus sets the ParameterGroupStatus field's value.
  9239. func (s *ClusterParameterGroupNameMessage) SetParameterGroupStatus(v string) *ClusterParameterGroupNameMessage {
  9240. s.ParameterGroupStatus = &v
  9241. return s
  9242. }
  9243. // Describes the status of a parameter group.
  9244. type ClusterParameterGroupStatus struct {
  9245. _ struct{} `type:"structure"`
  9246. // The list of parameter statuses.
  9247. //
  9248. // For more information about parameters and parameter groups, go to Amazon
  9249. // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  9250. // in the Amazon Redshift Cluster Management Guide.
  9251. ClusterParameterStatusList []*ClusterParameterStatus `type:"list"`
  9252. // The status of parameter updates.
  9253. ParameterApplyStatus *string `type:"string"`
  9254. // The name of the cluster parameter group.
  9255. ParameterGroupName *string `type:"string"`
  9256. }
  9257. // String returns the string representation
  9258. func (s ClusterParameterGroupStatus) String() string {
  9259. return awsutil.Prettify(s)
  9260. }
  9261. // GoString returns the string representation
  9262. func (s ClusterParameterGroupStatus) GoString() string {
  9263. return s.String()
  9264. }
  9265. // SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
  9266. func (s *ClusterParameterGroupStatus) SetClusterParameterStatusList(v []*ClusterParameterStatus) *ClusterParameterGroupStatus {
  9267. s.ClusterParameterStatusList = v
  9268. return s
  9269. }
  9270. // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
  9271. func (s *ClusterParameterGroupStatus) SetParameterApplyStatus(v string) *ClusterParameterGroupStatus {
  9272. s.ParameterApplyStatus = &v
  9273. return s
  9274. }
  9275. // SetParameterGroupName sets the ParameterGroupName field's value.
  9276. func (s *ClusterParameterGroupStatus) SetParameterGroupName(v string) *ClusterParameterGroupStatus {
  9277. s.ParameterGroupName = &v
  9278. return s
  9279. }
  9280. // Describes the status of a parameter group.
  9281. type ClusterParameterStatus struct {
  9282. _ struct{} `type:"structure"`
  9283. // The error that prevented the parameter from being applied to the database.
  9284. ParameterApplyErrorDescription *string `type:"string"`
  9285. // The status of the parameter that indicates whether the parameter is in sync
  9286. // with the database, waiting for a cluster reboot, or encountered an error
  9287. // when being applied.
  9288. //
  9289. // The following are possible statuses and descriptions.
  9290. //
  9291. // * in-sync: The parameter value is in sync with the database.
  9292. //
  9293. // * pending-reboot: The parameter value will be applied after the cluster
  9294. // reboots.
  9295. //
  9296. // * applying: The parameter value is being applied to the database.
  9297. //
  9298. // * invalid-parameter: Cannot apply the parameter value because it has an
  9299. // invalid value or syntax.
  9300. //
  9301. // * apply-deferred: The parameter contains static property changes. The
  9302. // changes are deferred until the cluster reboots.
  9303. //
  9304. // * apply-error: Cannot connect to the cluster. The parameter change will
  9305. // be applied after the cluster reboots.
  9306. //
  9307. // * unknown-error: Cannot apply the parameter change right now. The change
  9308. // will be applied after the cluster reboots.
  9309. ParameterApplyStatus *string `type:"string"`
  9310. // The name of the parameter.
  9311. ParameterName *string `type:"string"`
  9312. }
  9313. // String returns the string representation
  9314. func (s ClusterParameterStatus) String() string {
  9315. return awsutil.Prettify(s)
  9316. }
  9317. // GoString returns the string representation
  9318. func (s ClusterParameterStatus) GoString() string {
  9319. return s.String()
  9320. }
  9321. // SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
  9322. func (s *ClusterParameterStatus) SetParameterApplyErrorDescription(v string) *ClusterParameterStatus {
  9323. s.ParameterApplyErrorDescription = &v
  9324. return s
  9325. }
  9326. // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
  9327. func (s *ClusterParameterStatus) SetParameterApplyStatus(v string) *ClusterParameterStatus {
  9328. s.ParameterApplyStatus = &v
  9329. return s
  9330. }
  9331. // SetParameterName sets the ParameterName field's value.
  9332. func (s *ClusterParameterStatus) SetParameterName(v string) *ClusterParameterStatus {
  9333. s.ParameterName = &v
  9334. return s
  9335. }
  9336. // Describes a security group.
  9337. type ClusterSecurityGroup struct {
  9338. _ struct{} `type:"structure"`
  9339. // The name of the cluster security group to which the operation was applied.
  9340. ClusterSecurityGroupName *string `type:"string"`
  9341. // A description of the security group.
  9342. Description *string `type:"string"`
  9343. // A list of EC2 security groups that are permitted to access clusters associated
  9344. // with this cluster security group.
  9345. EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
  9346. // A list of IP ranges (CIDR blocks) that are permitted to access clusters associated
  9347. // with this cluster security group.
  9348. IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
  9349. // The list of tags for the cluster security group.
  9350. Tags []*Tag `locationNameList:"Tag" type:"list"`
  9351. }
  9352. // String returns the string representation
  9353. func (s ClusterSecurityGroup) String() string {
  9354. return awsutil.Prettify(s)
  9355. }
  9356. // GoString returns the string representation
  9357. func (s ClusterSecurityGroup) GoString() string {
  9358. return s.String()
  9359. }
  9360. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  9361. func (s *ClusterSecurityGroup) SetClusterSecurityGroupName(v string) *ClusterSecurityGroup {
  9362. s.ClusterSecurityGroupName = &v
  9363. return s
  9364. }
  9365. // SetDescription sets the Description field's value.
  9366. func (s *ClusterSecurityGroup) SetDescription(v string) *ClusterSecurityGroup {
  9367. s.Description = &v
  9368. return s
  9369. }
  9370. // SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
  9371. func (s *ClusterSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *ClusterSecurityGroup {
  9372. s.EC2SecurityGroups = v
  9373. return s
  9374. }
  9375. // SetIPRanges sets the IPRanges field's value.
  9376. func (s *ClusterSecurityGroup) SetIPRanges(v []*IPRange) *ClusterSecurityGroup {
  9377. s.IPRanges = v
  9378. return s
  9379. }
  9380. // SetTags sets the Tags field's value.
  9381. func (s *ClusterSecurityGroup) SetTags(v []*Tag) *ClusterSecurityGroup {
  9382. s.Tags = v
  9383. return s
  9384. }
  9385. // Describes a cluster security group.
  9386. type ClusterSecurityGroupMembership struct {
  9387. _ struct{} `type:"structure"`
  9388. // The name of the cluster security group.
  9389. ClusterSecurityGroupName *string `type:"string"`
  9390. // The status of the cluster security group.
  9391. Status *string `type:"string"`
  9392. }
  9393. // String returns the string representation
  9394. func (s ClusterSecurityGroupMembership) String() string {
  9395. return awsutil.Prettify(s)
  9396. }
  9397. // GoString returns the string representation
  9398. func (s ClusterSecurityGroupMembership) GoString() string {
  9399. return s.String()
  9400. }
  9401. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  9402. func (s *ClusterSecurityGroupMembership) SetClusterSecurityGroupName(v string) *ClusterSecurityGroupMembership {
  9403. s.ClusterSecurityGroupName = &v
  9404. return s
  9405. }
  9406. // SetStatus sets the Status field's value.
  9407. func (s *ClusterSecurityGroupMembership) SetStatus(v string) *ClusterSecurityGroupMembership {
  9408. s.Status = &v
  9409. return s
  9410. }
  9411. // Returns the destination region and retention period that are configured for
  9412. // cross-region snapshot copy.
  9413. type ClusterSnapshotCopyStatus struct {
  9414. _ struct{} `type:"structure"`
  9415. // The destination region that snapshots are automatically copied to when cross-region
  9416. // snapshot copy is enabled.
  9417. DestinationRegion *string `type:"string"`
  9418. // The number of days that automated snapshots are retained in the destination
  9419. // region after they are copied from a source region. If the value is -1, the
  9420. // manual snapshot is retained indefinitely.
  9421. //
  9422. // The value must be either -1 or an integer between 1 and 3,653.
  9423. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  9424. // The number of days that automated snapshots are retained in the destination
  9425. // region after they are copied from a source region.
  9426. RetentionPeriod *int64 `type:"long"`
  9427. // The name of the snapshot copy grant.
  9428. SnapshotCopyGrantName *string `type:"string"`
  9429. }
  9430. // String returns the string representation
  9431. func (s ClusterSnapshotCopyStatus) String() string {
  9432. return awsutil.Prettify(s)
  9433. }
  9434. // GoString returns the string representation
  9435. func (s ClusterSnapshotCopyStatus) GoString() string {
  9436. return s.String()
  9437. }
  9438. // SetDestinationRegion sets the DestinationRegion field's value.
  9439. func (s *ClusterSnapshotCopyStatus) SetDestinationRegion(v string) *ClusterSnapshotCopyStatus {
  9440. s.DestinationRegion = &v
  9441. return s
  9442. }
  9443. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  9444. func (s *ClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *ClusterSnapshotCopyStatus {
  9445. s.ManualSnapshotRetentionPeriod = &v
  9446. return s
  9447. }
  9448. // SetRetentionPeriod sets the RetentionPeriod field's value.
  9449. func (s *ClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *ClusterSnapshotCopyStatus {
  9450. s.RetentionPeriod = &v
  9451. return s
  9452. }
  9453. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  9454. func (s *ClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *ClusterSnapshotCopyStatus {
  9455. s.SnapshotCopyGrantName = &v
  9456. return s
  9457. }
  9458. // Describes a subnet group.
  9459. type ClusterSubnetGroup struct {
  9460. _ struct{} `type:"structure"`
  9461. // The name of the cluster subnet group.
  9462. ClusterSubnetGroupName *string `type:"string"`
  9463. // The description of the cluster subnet group.
  9464. Description *string `type:"string"`
  9465. // The status of the cluster subnet group. Possible values are Complete, Incomplete
  9466. // and Invalid.
  9467. SubnetGroupStatus *string `type:"string"`
  9468. // A list of the VPC Subnet elements.
  9469. Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
  9470. // The list of tags for the cluster subnet group.
  9471. Tags []*Tag `locationNameList:"Tag" type:"list"`
  9472. // The VPC ID of the cluster subnet group.
  9473. VpcId *string `type:"string"`
  9474. }
  9475. // String returns the string representation
  9476. func (s ClusterSubnetGroup) String() string {
  9477. return awsutil.Prettify(s)
  9478. }
  9479. // GoString returns the string representation
  9480. func (s ClusterSubnetGroup) GoString() string {
  9481. return s.String()
  9482. }
  9483. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  9484. func (s *ClusterSubnetGroup) SetClusterSubnetGroupName(v string) *ClusterSubnetGroup {
  9485. s.ClusterSubnetGroupName = &v
  9486. return s
  9487. }
  9488. // SetDescription sets the Description field's value.
  9489. func (s *ClusterSubnetGroup) SetDescription(v string) *ClusterSubnetGroup {
  9490. s.Description = &v
  9491. return s
  9492. }
  9493. // SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
  9494. func (s *ClusterSubnetGroup) SetSubnetGroupStatus(v string) *ClusterSubnetGroup {
  9495. s.SubnetGroupStatus = &v
  9496. return s
  9497. }
  9498. // SetSubnets sets the Subnets field's value.
  9499. func (s *ClusterSubnetGroup) SetSubnets(v []*Subnet) *ClusterSubnetGroup {
  9500. s.Subnets = v
  9501. return s
  9502. }
  9503. // SetTags sets the Tags field's value.
  9504. func (s *ClusterSubnetGroup) SetTags(v []*Tag) *ClusterSubnetGroup {
  9505. s.Tags = v
  9506. return s
  9507. }
  9508. // SetVpcId sets the VpcId field's value.
  9509. func (s *ClusterSubnetGroup) SetVpcId(v string) *ClusterSubnetGroup {
  9510. s.VpcId = &v
  9511. return s
  9512. }
  9513. // Describes a cluster version, including the parameter group family and description
  9514. // of the version.
  9515. type ClusterVersion struct {
  9516. _ struct{} `type:"structure"`
  9517. // The name of the cluster parameter group family for the cluster.
  9518. ClusterParameterGroupFamily *string `type:"string"`
  9519. // The version number used by the cluster.
  9520. ClusterVersion *string `type:"string"`
  9521. // The description of the cluster version.
  9522. Description *string `type:"string"`
  9523. }
  9524. // String returns the string representation
  9525. func (s ClusterVersion) String() string {
  9526. return awsutil.Prettify(s)
  9527. }
  9528. // GoString returns the string representation
  9529. func (s ClusterVersion) GoString() string {
  9530. return s.String()
  9531. }
  9532. // SetClusterParameterGroupFamily sets the ClusterParameterGroupFamily field's value.
  9533. func (s *ClusterVersion) SetClusterParameterGroupFamily(v string) *ClusterVersion {
  9534. s.ClusterParameterGroupFamily = &v
  9535. return s
  9536. }
  9537. // SetClusterVersion sets the ClusterVersion field's value.
  9538. func (s *ClusterVersion) SetClusterVersion(v string) *ClusterVersion {
  9539. s.ClusterVersion = &v
  9540. return s
  9541. }
  9542. // SetDescription sets the Description field's value.
  9543. func (s *ClusterVersion) SetDescription(v string) *ClusterVersion {
  9544. s.Description = &v
  9545. return s
  9546. }
  9547. type CopyClusterSnapshotInput struct {
  9548. _ struct{} `type:"structure"`
  9549. // The number of days that a manual snapshot is retained. If the value is -1,
  9550. // the manual snapshot is retained indefinitely.
  9551. //
  9552. // The value must be either -1 or an integer between 1 and 3,653.
  9553. //
  9554. // The default value is -1.
  9555. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  9556. // The identifier of the cluster the source snapshot was created from. This
  9557. // parameter is required if your IAM user has a policy containing a snapshot
  9558. // resource element that specifies anything other than * for the cluster name.
  9559. //
  9560. // Constraints:
  9561. //
  9562. // * Must be the identifier for a valid cluster.
  9563. SourceSnapshotClusterIdentifier *string `type:"string"`
  9564. // The identifier for the source snapshot.
  9565. //
  9566. // Constraints:
  9567. //
  9568. // * Must be the identifier for a valid automated snapshot whose state is
  9569. // available.
  9570. //
  9571. // SourceSnapshotIdentifier is a required field
  9572. SourceSnapshotIdentifier *string `type:"string" required:"true"`
  9573. // The identifier given to the new manual snapshot.
  9574. //
  9575. // Constraints:
  9576. //
  9577. // * Cannot be null, empty, or blank.
  9578. //
  9579. // * Must contain from 1 to 255 alphanumeric characters or hyphens.
  9580. //
  9581. // * First character must be a letter.
  9582. //
  9583. // * Cannot end with a hyphen or contain two consecutive hyphens.
  9584. //
  9585. // * Must be unique for the AWS account that is making the request.
  9586. //
  9587. // TargetSnapshotIdentifier is a required field
  9588. TargetSnapshotIdentifier *string `type:"string" required:"true"`
  9589. }
  9590. // String returns the string representation
  9591. func (s CopyClusterSnapshotInput) String() string {
  9592. return awsutil.Prettify(s)
  9593. }
  9594. // GoString returns the string representation
  9595. func (s CopyClusterSnapshotInput) GoString() string {
  9596. return s.String()
  9597. }
  9598. // Validate inspects the fields of the type to determine if they are valid.
  9599. func (s *CopyClusterSnapshotInput) Validate() error {
  9600. invalidParams := request.ErrInvalidParams{Context: "CopyClusterSnapshotInput"}
  9601. if s.SourceSnapshotIdentifier == nil {
  9602. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIdentifier"))
  9603. }
  9604. if s.TargetSnapshotIdentifier == nil {
  9605. invalidParams.Add(request.NewErrParamRequired("TargetSnapshotIdentifier"))
  9606. }
  9607. if invalidParams.Len() > 0 {
  9608. return invalidParams
  9609. }
  9610. return nil
  9611. }
  9612. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  9613. func (s *CopyClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *CopyClusterSnapshotInput {
  9614. s.ManualSnapshotRetentionPeriod = &v
  9615. return s
  9616. }
  9617. // SetSourceSnapshotClusterIdentifier sets the SourceSnapshotClusterIdentifier field's value.
  9618. func (s *CopyClusterSnapshotInput) SetSourceSnapshotClusterIdentifier(v string) *CopyClusterSnapshotInput {
  9619. s.SourceSnapshotClusterIdentifier = &v
  9620. return s
  9621. }
  9622. // SetSourceSnapshotIdentifier sets the SourceSnapshotIdentifier field's value.
  9623. func (s *CopyClusterSnapshotInput) SetSourceSnapshotIdentifier(v string) *CopyClusterSnapshotInput {
  9624. s.SourceSnapshotIdentifier = &v
  9625. return s
  9626. }
  9627. // SetTargetSnapshotIdentifier sets the TargetSnapshotIdentifier field's value.
  9628. func (s *CopyClusterSnapshotInput) SetTargetSnapshotIdentifier(v string) *CopyClusterSnapshotInput {
  9629. s.TargetSnapshotIdentifier = &v
  9630. return s
  9631. }
  9632. type CopyClusterSnapshotOutput struct {
  9633. _ struct{} `type:"structure"`
  9634. // Describes a snapshot.
  9635. Snapshot *Snapshot `type:"structure"`
  9636. }
  9637. // String returns the string representation
  9638. func (s CopyClusterSnapshotOutput) String() string {
  9639. return awsutil.Prettify(s)
  9640. }
  9641. // GoString returns the string representation
  9642. func (s CopyClusterSnapshotOutput) GoString() string {
  9643. return s.String()
  9644. }
  9645. // SetSnapshot sets the Snapshot field's value.
  9646. func (s *CopyClusterSnapshotOutput) SetSnapshot(v *Snapshot) *CopyClusterSnapshotOutput {
  9647. s.Snapshot = v
  9648. return s
  9649. }
  9650. type CreateClusterInput struct {
  9651. _ struct{} `type:"structure"`
  9652. // Reserved.
  9653. AdditionalInfo *string `type:"string"`
  9654. // If true, major version upgrades can be applied during the maintenance window
  9655. // to the Amazon Redshift engine that is running on the cluster.
  9656. //
  9657. // When a new major version of the Amazon Redshift engine is released, you can
  9658. // request that the service automatically apply upgrades during the maintenance
  9659. // window to the Amazon Redshift engine that is running on your cluster.
  9660. //
  9661. // Default: true
  9662. AllowVersionUpgrade *bool `type:"boolean"`
  9663. // The number of days that automated snapshots are retained. If the value is
  9664. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  9665. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  9666. //
  9667. // Default: 1
  9668. //
  9669. // Constraints: Must be a value from 0 to 35.
  9670. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  9671. // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision
  9672. // the cluster. For example, if you have several EC2 instances running in a
  9673. // specific Availability Zone, then you might want the cluster to be provisioned
  9674. // in the same zone in order to decrease network latency.
  9675. //
  9676. // Default: A random, system-chosen Availability Zone in the region that is
  9677. // specified by the endpoint.
  9678. //
  9679. // Example: us-east-1d
  9680. //
  9681. // Constraint: The specified Availability Zone must be in the same region as
  9682. // the current endpoint.
  9683. AvailabilityZone *string `type:"string"`
  9684. // A unique identifier for the cluster. You use this identifier to refer to
  9685. // the cluster for any subsequent cluster operations such as deleting or modifying.
  9686. // The identifier also appears in the Amazon Redshift console.
  9687. //
  9688. // Constraints:
  9689. //
  9690. // * Must contain from 1 to 63 alphanumeric characters or hyphens.
  9691. //
  9692. // * Alphabetic characters must be lowercase.
  9693. //
  9694. // * First character must be a letter.
  9695. //
  9696. // * Cannot end with a hyphen or contain two consecutive hyphens.
  9697. //
  9698. // * Must be unique for all clusters within an AWS account.
  9699. //
  9700. // Example: myexamplecluster
  9701. //
  9702. // ClusterIdentifier is a required field
  9703. ClusterIdentifier *string `type:"string" required:"true"`
  9704. // The name of the parameter group to be associated with this cluster.
  9705. //
  9706. // Default: The default Amazon Redshift cluster parameter group. For information
  9707. // about the default parameter group, go to Working with Amazon Redshift Parameter
  9708. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  9709. //
  9710. // Constraints:
  9711. //
  9712. // * Must be 1 to 255 alphanumeric characters or hyphens.
  9713. //
  9714. // * First character must be a letter.
  9715. //
  9716. // * Cannot end with a hyphen or contain two consecutive hyphens.
  9717. ClusterParameterGroupName *string `type:"string"`
  9718. // A list of security groups to be associated with this cluster.
  9719. //
  9720. // Default: The default cluster security group for Amazon Redshift.
  9721. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  9722. // The name of a cluster subnet group to be associated with this cluster.
  9723. //
  9724. // If this parameter is not provided the resulting cluster will be deployed
  9725. // outside virtual private cloud (VPC).
  9726. ClusterSubnetGroupName *string `type:"string"`
  9727. // The type of the cluster. When cluster type is specified as
  9728. //
  9729. // * single-node, the NumberOfNodes parameter is not required.
  9730. //
  9731. // * multi-node, the NumberOfNodes parameter is required.
  9732. //
  9733. // Valid Values: multi-node | single-node
  9734. //
  9735. // Default: multi-node
  9736. ClusterType *string `type:"string"`
  9737. // The version of the Amazon Redshift engine software that you want to deploy
  9738. // on the cluster.
  9739. //
  9740. // The version selected runs on all the nodes in the cluster.
  9741. //
  9742. // Constraints: Only version 1.0 is currently available.
  9743. //
  9744. // Example: 1.0
  9745. ClusterVersion *string `type:"string"`
  9746. // The name of the first database to be created when the cluster is created.
  9747. //
  9748. // To create additional databases after the cluster is created, connect to the
  9749. // cluster with a SQL client and use SQL commands to create a database. For
  9750. // more information, go to Create a Database (http://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html)
  9751. // in the Amazon Redshift Database Developer Guide.
  9752. //
  9753. // Default: dev
  9754. //
  9755. // Constraints:
  9756. //
  9757. // * Must contain 1 to 64 alphanumeric characters.
  9758. //
  9759. // * Must contain only lowercase letters.
  9760. //
  9761. // * Cannot be a word that is reserved by the service. A list of reserved
  9762. // words can be found in Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  9763. // in the Amazon Redshift Database Developer Guide.
  9764. DBName *string `type:"string"`
  9765. // The Elastic IP (EIP) address for the cluster.
  9766. //
  9767. // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
  9768. // through an Internet gateway. For more information about provisioning clusters
  9769. // 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)
  9770. // in the Amazon Redshift Cluster Management Guide.
  9771. ElasticIp *string `type:"string"`
  9772. // If true, the data in the cluster is encrypted at rest.
  9773. //
  9774. // Default: false
  9775. Encrypted *bool `type:"boolean"`
  9776. // An option that specifies whether to create the cluster with enhanced VPC
  9777. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  9778. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  9779. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  9780. // in the Amazon Redshift Cluster Management Guide.
  9781. //
  9782. // If this option is true, enhanced VPC routing is enabled.
  9783. //
  9784. // Default: false
  9785. EnhancedVpcRouting *bool `type:"boolean"`
  9786. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  9787. // uses to retrieve the data encryption keys stored in an HSM.
  9788. HsmClientCertificateIdentifier *string `type:"string"`
  9789. // Specifies the name of the HSM configuration that contains the information
  9790. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  9791. HsmConfigurationIdentifier *string `type:"string"`
  9792. // A list of AWS Identity and Access Management (IAM) roles that can be used
  9793. // by the cluster to access other AWS services. You must supply the IAM roles
  9794. // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
  9795. // in a single request.
  9796. //
  9797. // A cluster can have up to 10 IAM roles associated with it at any time.
  9798. IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  9799. // The AWS Key Management Service (KMS) key ID of the encryption key that you
  9800. // want to use to encrypt data in the cluster.
  9801. KmsKeyId *string `type:"string"`
  9802. // An optional parameter for the name of the maintenance track for the cluster.
  9803. // If you don't provide a maintenance track name, the cluster is assigned to
  9804. // the current track.
  9805. MaintenanceTrackName *string `type:"string"`
  9806. // The default number of days to retain a manual snapshot. If the value is -1,
  9807. // the snapshot is retained indefinitely. This setting doesn't change the retention
  9808. // period of existing snapshots.
  9809. //
  9810. // The value must be either -1 or an integer between 1 and 3,653.
  9811. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  9812. // The password associated with the master user account for the cluster that
  9813. // is being created.
  9814. //
  9815. // Constraints:
  9816. //
  9817. // * Must be between 8 and 64 characters in length.
  9818. //
  9819. // * Must contain at least one uppercase letter.
  9820. //
  9821. // * Must contain at least one lowercase letter.
  9822. //
  9823. // * Must contain one number.
  9824. //
  9825. // * Can be any printable ASCII character (ASCII code 33 to 126) except '
  9826. // (single quote), " (double quote), \, /, @, or space.
  9827. //
  9828. // MasterUserPassword is a required field
  9829. MasterUserPassword *string `type:"string" required:"true"`
  9830. // The user name associated with the master user account for the cluster that
  9831. // is being created.
  9832. //
  9833. // Constraints:
  9834. //
  9835. // * Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.
  9836. //
  9837. // * First character must be a letter.
  9838. //
  9839. // * Cannot be a reserved word. A list of reserved words can be found in
  9840. // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  9841. // in the Amazon Redshift Database Developer Guide.
  9842. //
  9843. // MasterUsername is a required field
  9844. MasterUsername *string `type:"string" required:"true"`
  9845. // The node type to be provisioned for the cluster. For information about node
  9846. // types, go to Working with Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
  9847. // in the Amazon Redshift Cluster Management Guide.
  9848. //
  9849. // Valid Values: ds2.xlarge | ds2.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large
  9850. // | dc1.8xlarge | dc2.large | dc2.8xlarge
  9851. //
  9852. // NodeType is a required field
  9853. NodeType *string `type:"string" required:"true"`
  9854. // The number of compute nodes in the cluster. This parameter is required when
  9855. // the ClusterType parameter is specified as multi-node.
  9856. //
  9857. // For information about determining how many nodes you need, go to Working
  9858. // with Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
  9859. // in the Amazon Redshift Cluster Management Guide.
  9860. //
  9861. // If you don't specify this parameter, you get a single-node cluster. When
  9862. // requesting a multi-node cluster, you must specify the number of nodes that
  9863. // you want in the cluster.
  9864. //
  9865. // Default: 1
  9866. //
  9867. // Constraints: Value must be at least 1 and no more than 100.
  9868. NumberOfNodes *int64 `type:"integer"`
  9869. // The port number on which the cluster accepts incoming connections.
  9870. //
  9871. // The cluster is accessible only via the JDBC and ODBC connection strings.
  9872. // Part of the connection string requires the port on which the cluster will
  9873. // listen for incoming connections.
  9874. //
  9875. // Default: 5439
  9876. //
  9877. // Valid Values: 1150-65535
  9878. Port *int64 `type:"integer"`
  9879. // The weekly time range (in UTC) during which automated cluster maintenance
  9880. // can occur.
  9881. //
  9882. // Format: ddd:hh24:mi-ddd:hh24:mi
  9883. //
  9884. // Default: A 30-minute window selected at random from an 8-hour block of time
  9885. // per region, occurring on a random day of the week. For more information about
  9886. // the time blocks for each region, see Maintenance Windows (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
  9887. // in Amazon Redshift Cluster Management Guide.
  9888. //
  9889. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  9890. //
  9891. // Constraints: Minimum 30-minute window.
  9892. PreferredMaintenanceWindow *string `type:"string"`
  9893. // If true, the cluster can be accessed from a public network.
  9894. PubliclyAccessible *bool `type:"boolean"`
  9895. // A unique identifier for the snapshot schedule.
  9896. SnapshotScheduleIdentifier *string `type:"string"`
  9897. // A list of tag instances.
  9898. Tags []*Tag `locationNameList:"Tag" type:"list"`
  9899. // A list of Virtual Private Cloud (VPC) security groups to be associated with
  9900. // the cluster.
  9901. //
  9902. // Default: The default VPC security group is associated with the cluster.
  9903. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  9904. }
  9905. // String returns the string representation
  9906. func (s CreateClusterInput) String() string {
  9907. return awsutil.Prettify(s)
  9908. }
  9909. // GoString returns the string representation
  9910. func (s CreateClusterInput) GoString() string {
  9911. return s.String()
  9912. }
  9913. // Validate inspects the fields of the type to determine if they are valid.
  9914. func (s *CreateClusterInput) Validate() error {
  9915. invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
  9916. if s.ClusterIdentifier == nil {
  9917. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  9918. }
  9919. if s.MasterUserPassword == nil {
  9920. invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
  9921. }
  9922. if s.MasterUsername == nil {
  9923. invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
  9924. }
  9925. if s.NodeType == nil {
  9926. invalidParams.Add(request.NewErrParamRequired("NodeType"))
  9927. }
  9928. if invalidParams.Len() > 0 {
  9929. return invalidParams
  9930. }
  9931. return nil
  9932. }
  9933. // SetAdditionalInfo sets the AdditionalInfo field's value.
  9934. func (s *CreateClusterInput) SetAdditionalInfo(v string) *CreateClusterInput {
  9935. s.AdditionalInfo = &v
  9936. return s
  9937. }
  9938. // SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
  9939. func (s *CreateClusterInput) SetAllowVersionUpgrade(v bool) *CreateClusterInput {
  9940. s.AllowVersionUpgrade = &v
  9941. return s
  9942. }
  9943. // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
  9944. func (s *CreateClusterInput) SetAutomatedSnapshotRetentionPeriod(v int64) *CreateClusterInput {
  9945. s.AutomatedSnapshotRetentionPeriod = &v
  9946. return s
  9947. }
  9948. // SetAvailabilityZone sets the AvailabilityZone field's value.
  9949. func (s *CreateClusterInput) SetAvailabilityZone(v string) *CreateClusterInput {
  9950. s.AvailabilityZone = &v
  9951. return s
  9952. }
  9953. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  9954. func (s *CreateClusterInput) SetClusterIdentifier(v string) *CreateClusterInput {
  9955. s.ClusterIdentifier = &v
  9956. return s
  9957. }
  9958. // SetClusterParameterGroupName sets the ClusterParameterGroupName field's value.
  9959. func (s *CreateClusterInput) SetClusterParameterGroupName(v string) *CreateClusterInput {
  9960. s.ClusterParameterGroupName = &v
  9961. return s
  9962. }
  9963. // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
  9964. func (s *CreateClusterInput) SetClusterSecurityGroups(v []*string) *CreateClusterInput {
  9965. s.ClusterSecurityGroups = v
  9966. return s
  9967. }
  9968. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  9969. func (s *CreateClusterInput) SetClusterSubnetGroupName(v string) *CreateClusterInput {
  9970. s.ClusterSubnetGroupName = &v
  9971. return s
  9972. }
  9973. // SetClusterType sets the ClusterType field's value.
  9974. func (s *CreateClusterInput) SetClusterType(v string) *CreateClusterInput {
  9975. s.ClusterType = &v
  9976. return s
  9977. }
  9978. // SetClusterVersion sets the ClusterVersion field's value.
  9979. func (s *CreateClusterInput) SetClusterVersion(v string) *CreateClusterInput {
  9980. s.ClusterVersion = &v
  9981. return s
  9982. }
  9983. // SetDBName sets the DBName field's value.
  9984. func (s *CreateClusterInput) SetDBName(v string) *CreateClusterInput {
  9985. s.DBName = &v
  9986. return s
  9987. }
  9988. // SetElasticIp sets the ElasticIp field's value.
  9989. func (s *CreateClusterInput) SetElasticIp(v string) *CreateClusterInput {
  9990. s.ElasticIp = &v
  9991. return s
  9992. }
  9993. // SetEncrypted sets the Encrypted field's value.
  9994. func (s *CreateClusterInput) SetEncrypted(v bool) *CreateClusterInput {
  9995. s.Encrypted = &v
  9996. return s
  9997. }
  9998. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  9999. func (s *CreateClusterInput) SetEnhancedVpcRouting(v bool) *CreateClusterInput {
  10000. s.EnhancedVpcRouting = &v
  10001. return s
  10002. }
  10003. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  10004. func (s *CreateClusterInput) SetHsmClientCertificateIdentifier(v string) *CreateClusterInput {
  10005. s.HsmClientCertificateIdentifier = &v
  10006. return s
  10007. }
  10008. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  10009. func (s *CreateClusterInput) SetHsmConfigurationIdentifier(v string) *CreateClusterInput {
  10010. s.HsmConfigurationIdentifier = &v
  10011. return s
  10012. }
  10013. // SetIamRoles sets the IamRoles field's value.
  10014. func (s *CreateClusterInput) SetIamRoles(v []*string) *CreateClusterInput {
  10015. s.IamRoles = v
  10016. return s
  10017. }
  10018. // SetKmsKeyId sets the KmsKeyId field's value.
  10019. func (s *CreateClusterInput) SetKmsKeyId(v string) *CreateClusterInput {
  10020. s.KmsKeyId = &v
  10021. return s
  10022. }
  10023. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  10024. func (s *CreateClusterInput) SetMaintenanceTrackName(v string) *CreateClusterInput {
  10025. s.MaintenanceTrackName = &v
  10026. return s
  10027. }
  10028. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  10029. func (s *CreateClusterInput) SetManualSnapshotRetentionPeriod(v int64) *CreateClusterInput {
  10030. s.ManualSnapshotRetentionPeriod = &v
  10031. return s
  10032. }
  10033. // SetMasterUserPassword sets the MasterUserPassword field's value.
  10034. func (s *CreateClusterInput) SetMasterUserPassword(v string) *CreateClusterInput {
  10035. s.MasterUserPassword = &v
  10036. return s
  10037. }
  10038. // SetMasterUsername sets the MasterUsername field's value.
  10039. func (s *CreateClusterInput) SetMasterUsername(v string) *CreateClusterInput {
  10040. s.MasterUsername = &v
  10041. return s
  10042. }
  10043. // SetNodeType sets the NodeType field's value.
  10044. func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput {
  10045. s.NodeType = &v
  10046. return s
  10047. }
  10048. // SetNumberOfNodes sets the NumberOfNodes field's value.
  10049. func (s *CreateClusterInput) SetNumberOfNodes(v int64) *CreateClusterInput {
  10050. s.NumberOfNodes = &v
  10051. return s
  10052. }
  10053. // SetPort sets the Port field's value.
  10054. func (s *CreateClusterInput) SetPort(v int64) *CreateClusterInput {
  10055. s.Port = &v
  10056. return s
  10057. }
  10058. // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  10059. func (s *CreateClusterInput) SetPreferredMaintenanceWindow(v string) *CreateClusterInput {
  10060. s.PreferredMaintenanceWindow = &v
  10061. return s
  10062. }
  10063. // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  10064. func (s *CreateClusterInput) SetPubliclyAccessible(v bool) *CreateClusterInput {
  10065. s.PubliclyAccessible = &v
  10066. return s
  10067. }
  10068. // SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
  10069. func (s *CreateClusterInput) SetSnapshotScheduleIdentifier(v string) *CreateClusterInput {
  10070. s.SnapshotScheduleIdentifier = &v
  10071. return s
  10072. }
  10073. // SetTags sets the Tags field's value.
  10074. func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput {
  10075. s.Tags = v
  10076. return s
  10077. }
  10078. // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  10079. func (s *CreateClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateClusterInput {
  10080. s.VpcSecurityGroupIds = v
  10081. return s
  10082. }
  10083. type CreateClusterOutput struct {
  10084. _ struct{} `type:"structure"`
  10085. // Describes a cluster.
  10086. Cluster *Cluster `type:"structure"`
  10087. }
  10088. // String returns the string representation
  10089. func (s CreateClusterOutput) String() string {
  10090. return awsutil.Prettify(s)
  10091. }
  10092. // GoString returns the string representation
  10093. func (s CreateClusterOutput) GoString() string {
  10094. return s.String()
  10095. }
  10096. // SetCluster sets the Cluster field's value.
  10097. func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
  10098. s.Cluster = v
  10099. return s
  10100. }
  10101. type CreateClusterParameterGroupInput struct {
  10102. _ struct{} `type:"structure"`
  10103. // A description of the parameter group.
  10104. //
  10105. // Description is a required field
  10106. Description *string `type:"string" required:"true"`
  10107. // The Amazon Redshift engine version to which the cluster parameter group applies.
  10108. // The cluster engine version determines the set of parameters.
  10109. //
  10110. // To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups.
  10111. // By default, Amazon Redshift returns a list of all the parameter groups that
  10112. // are owned by your AWS account, including the default parameter groups for
  10113. // each Amazon Redshift engine version. The parameter group family names associated
  10114. // with the default parameter groups provide you the valid values. For example,
  10115. // a valid family name is "redshift-1.0".
  10116. //
  10117. // ParameterGroupFamily is a required field
  10118. ParameterGroupFamily *string `type:"string" required:"true"`
  10119. // The name of the cluster parameter group.
  10120. //
  10121. // Constraints:
  10122. //
  10123. // * Must be 1 to 255 alphanumeric characters or hyphens
  10124. //
  10125. // * First character must be a letter.
  10126. //
  10127. // * Cannot end with a hyphen or contain two consecutive hyphens.
  10128. //
  10129. // * Must be unique withing your AWS account.
  10130. //
  10131. // This value is stored as a lower-case string.
  10132. //
  10133. // ParameterGroupName is a required field
  10134. ParameterGroupName *string `type:"string" required:"true"`
  10135. // A list of tag instances.
  10136. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10137. }
  10138. // String returns the string representation
  10139. func (s CreateClusterParameterGroupInput) String() string {
  10140. return awsutil.Prettify(s)
  10141. }
  10142. // GoString returns the string representation
  10143. func (s CreateClusterParameterGroupInput) GoString() string {
  10144. return s.String()
  10145. }
  10146. // Validate inspects the fields of the type to determine if they are valid.
  10147. func (s *CreateClusterParameterGroupInput) Validate() error {
  10148. invalidParams := request.ErrInvalidParams{Context: "CreateClusterParameterGroupInput"}
  10149. if s.Description == nil {
  10150. invalidParams.Add(request.NewErrParamRequired("Description"))
  10151. }
  10152. if s.ParameterGroupFamily == nil {
  10153. invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily"))
  10154. }
  10155. if s.ParameterGroupName == nil {
  10156. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  10157. }
  10158. if invalidParams.Len() > 0 {
  10159. return invalidParams
  10160. }
  10161. return nil
  10162. }
  10163. // SetDescription sets the Description field's value.
  10164. func (s *CreateClusterParameterGroupInput) SetDescription(v string) *CreateClusterParameterGroupInput {
  10165. s.Description = &v
  10166. return s
  10167. }
  10168. // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  10169. func (s *CreateClusterParameterGroupInput) SetParameterGroupFamily(v string) *CreateClusterParameterGroupInput {
  10170. s.ParameterGroupFamily = &v
  10171. return s
  10172. }
  10173. // SetParameterGroupName sets the ParameterGroupName field's value.
  10174. func (s *CreateClusterParameterGroupInput) SetParameterGroupName(v string) *CreateClusterParameterGroupInput {
  10175. s.ParameterGroupName = &v
  10176. return s
  10177. }
  10178. // SetTags sets the Tags field's value.
  10179. func (s *CreateClusterParameterGroupInput) SetTags(v []*Tag) *CreateClusterParameterGroupInput {
  10180. s.Tags = v
  10181. return s
  10182. }
  10183. type CreateClusterParameterGroupOutput struct {
  10184. _ struct{} `type:"structure"`
  10185. // Describes a parameter group.
  10186. ClusterParameterGroup *ClusterParameterGroup `type:"structure"`
  10187. }
  10188. // String returns the string representation
  10189. func (s CreateClusterParameterGroupOutput) String() string {
  10190. return awsutil.Prettify(s)
  10191. }
  10192. // GoString returns the string representation
  10193. func (s CreateClusterParameterGroupOutput) GoString() string {
  10194. return s.String()
  10195. }
  10196. // SetClusterParameterGroup sets the ClusterParameterGroup field's value.
  10197. func (s *CreateClusterParameterGroupOutput) SetClusterParameterGroup(v *ClusterParameterGroup) *CreateClusterParameterGroupOutput {
  10198. s.ClusterParameterGroup = v
  10199. return s
  10200. }
  10201. type CreateClusterSecurityGroupInput struct {
  10202. _ struct{} `type:"structure"`
  10203. // The name for the security group. Amazon Redshift stores the value as a lowercase
  10204. // string.
  10205. //
  10206. // Constraints:
  10207. //
  10208. // * Must contain no more than 255 alphanumeric characters or hyphens.
  10209. //
  10210. // * Must not be "Default".
  10211. //
  10212. // * Must be unique for all security groups that are created by your AWS
  10213. // account.
  10214. //
  10215. // Example: examplesecuritygroup
  10216. //
  10217. // ClusterSecurityGroupName is a required field
  10218. ClusterSecurityGroupName *string `type:"string" required:"true"`
  10219. // A description for the security group.
  10220. //
  10221. // Description is a required field
  10222. Description *string `type:"string" required:"true"`
  10223. // A list of tag instances.
  10224. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10225. }
  10226. // String returns the string representation
  10227. func (s CreateClusterSecurityGroupInput) String() string {
  10228. return awsutil.Prettify(s)
  10229. }
  10230. // GoString returns the string representation
  10231. func (s CreateClusterSecurityGroupInput) GoString() string {
  10232. return s.String()
  10233. }
  10234. // Validate inspects the fields of the type to determine if they are valid.
  10235. func (s *CreateClusterSecurityGroupInput) Validate() error {
  10236. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSecurityGroupInput"}
  10237. if s.ClusterSecurityGroupName == nil {
  10238. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  10239. }
  10240. if s.Description == nil {
  10241. invalidParams.Add(request.NewErrParamRequired("Description"))
  10242. }
  10243. if invalidParams.Len() > 0 {
  10244. return invalidParams
  10245. }
  10246. return nil
  10247. }
  10248. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  10249. func (s *CreateClusterSecurityGroupInput) SetClusterSecurityGroupName(v string) *CreateClusterSecurityGroupInput {
  10250. s.ClusterSecurityGroupName = &v
  10251. return s
  10252. }
  10253. // SetDescription sets the Description field's value.
  10254. func (s *CreateClusterSecurityGroupInput) SetDescription(v string) *CreateClusterSecurityGroupInput {
  10255. s.Description = &v
  10256. return s
  10257. }
  10258. // SetTags sets the Tags field's value.
  10259. func (s *CreateClusterSecurityGroupInput) SetTags(v []*Tag) *CreateClusterSecurityGroupInput {
  10260. s.Tags = v
  10261. return s
  10262. }
  10263. type CreateClusterSecurityGroupOutput struct {
  10264. _ struct{} `type:"structure"`
  10265. // Describes a security group.
  10266. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  10267. }
  10268. // String returns the string representation
  10269. func (s CreateClusterSecurityGroupOutput) String() string {
  10270. return awsutil.Prettify(s)
  10271. }
  10272. // GoString returns the string representation
  10273. func (s CreateClusterSecurityGroupOutput) GoString() string {
  10274. return s.String()
  10275. }
  10276. // SetClusterSecurityGroup sets the ClusterSecurityGroup field's value.
  10277. func (s *CreateClusterSecurityGroupOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *CreateClusterSecurityGroupOutput {
  10278. s.ClusterSecurityGroup = v
  10279. return s
  10280. }
  10281. type CreateClusterSnapshotInput struct {
  10282. _ struct{} `type:"structure"`
  10283. // The cluster identifier for which you want a snapshot.
  10284. //
  10285. // ClusterIdentifier is a required field
  10286. ClusterIdentifier *string `type:"string" required:"true"`
  10287. // The number of days that a manual snapshot is retained. If the value is -1,
  10288. // the manual snapshot is retained indefinitely.
  10289. //
  10290. // The value must be either -1 or an integer between 1 and 3,653.
  10291. //
  10292. // The default value is -1.
  10293. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  10294. // A unique identifier for the snapshot that you are requesting. This identifier
  10295. // must be unique for all snapshots within the AWS account.
  10296. //
  10297. // Constraints:
  10298. //
  10299. // * Cannot be null, empty, or blank
  10300. //
  10301. // * Must contain from 1 to 255 alphanumeric characters or hyphens
  10302. //
  10303. // * First character must be a letter
  10304. //
  10305. // * Cannot end with a hyphen or contain two consecutive hyphens
  10306. //
  10307. // Example: my-snapshot-id
  10308. //
  10309. // SnapshotIdentifier is a required field
  10310. SnapshotIdentifier *string `type:"string" required:"true"`
  10311. // A list of tag instances.
  10312. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10313. }
  10314. // String returns the string representation
  10315. func (s CreateClusterSnapshotInput) String() string {
  10316. return awsutil.Prettify(s)
  10317. }
  10318. // GoString returns the string representation
  10319. func (s CreateClusterSnapshotInput) GoString() string {
  10320. return s.String()
  10321. }
  10322. // Validate inspects the fields of the type to determine if they are valid.
  10323. func (s *CreateClusterSnapshotInput) Validate() error {
  10324. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSnapshotInput"}
  10325. if s.ClusterIdentifier == nil {
  10326. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  10327. }
  10328. if s.SnapshotIdentifier == nil {
  10329. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  10330. }
  10331. if invalidParams.Len() > 0 {
  10332. return invalidParams
  10333. }
  10334. return nil
  10335. }
  10336. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  10337. func (s *CreateClusterSnapshotInput) SetClusterIdentifier(v string) *CreateClusterSnapshotInput {
  10338. s.ClusterIdentifier = &v
  10339. return s
  10340. }
  10341. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  10342. func (s *CreateClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *CreateClusterSnapshotInput {
  10343. s.ManualSnapshotRetentionPeriod = &v
  10344. return s
  10345. }
  10346. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  10347. func (s *CreateClusterSnapshotInput) SetSnapshotIdentifier(v string) *CreateClusterSnapshotInput {
  10348. s.SnapshotIdentifier = &v
  10349. return s
  10350. }
  10351. // SetTags sets the Tags field's value.
  10352. func (s *CreateClusterSnapshotInput) SetTags(v []*Tag) *CreateClusterSnapshotInput {
  10353. s.Tags = v
  10354. return s
  10355. }
  10356. type CreateClusterSnapshotOutput struct {
  10357. _ struct{} `type:"structure"`
  10358. // Describes a snapshot.
  10359. Snapshot *Snapshot `type:"structure"`
  10360. }
  10361. // String returns the string representation
  10362. func (s CreateClusterSnapshotOutput) String() string {
  10363. return awsutil.Prettify(s)
  10364. }
  10365. // GoString returns the string representation
  10366. func (s CreateClusterSnapshotOutput) GoString() string {
  10367. return s.String()
  10368. }
  10369. // SetSnapshot sets the Snapshot field's value.
  10370. func (s *CreateClusterSnapshotOutput) SetSnapshot(v *Snapshot) *CreateClusterSnapshotOutput {
  10371. s.Snapshot = v
  10372. return s
  10373. }
  10374. type CreateClusterSubnetGroupInput struct {
  10375. _ struct{} `type:"structure"`
  10376. // The name for the subnet group. Amazon Redshift stores the value as a lowercase
  10377. // string.
  10378. //
  10379. // Constraints:
  10380. //
  10381. // * Must contain no more than 255 alphanumeric characters or hyphens.
  10382. //
  10383. // * Must not be "Default".
  10384. //
  10385. // * Must be unique for all subnet groups that are created by your AWS account.
  10386. //
  10387. // Example: examplesubnetgroup
  10388. //
  10389. // ClusterSubnetGroupName is a required field
  10390. ClusterSubnetGroupName *string `type:"string" required:"true"`
  10391. // A description for the subnet group.
  10392. //
  10393. // Description is a required field
  10394. Description *string `type:"string" required:"true"`
  10395. // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
  10396. // single request.
  10397. //
  10398. // SubnetIds is a required field
  10399. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  10400. // A list of tag instances.
  10401. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10402. }
  10403. // String returns the string representation
  10404. func (s CreateClusterSubnetGroupInput) String() string {
  10405. return awsutil.Prettify(s)
  10406. }
  10407. // GoString returns the string representation
  10408. func (s CreateClusterSubnetGroupInput) GoString() string {
  10409. return s.String()
  10410. }
  10411. // Validate inspects the fields of the type to determine if they are valid.
  10412. func (s *CreateClusterSubnetGroupInput) Validate() error {
  10413. invalidParams := request.ErrInvalidParams{Context: "CreateClusterSubnetGroupInput"}
  10414. if s.ClusterSubnetGroupName == nil {
  10415. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  10416. }
  10417. if s.Description == nil {
  10418. invalidParams.Add(request.NewErrParamRequired("Description"))
  10419. }
  10420. if s.SubnetIds == nil {
  10421. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  10422. }
  10423. if invalidParams.Len() > 0 {
  10424. return invalidParams
  10425. }
  10426. return nil
  10427. }
  10428. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  10429. func (s *CreateClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *CreateClusterSubnetGroupInput {
  10430. s.ClusterSubnetGroupName = &v
  10431. return s
  10432. }
  10433. // SetDescription sets the Description field's value.
  10434. func (s *CreateClusterSubnetGroupInput) SetDescription(v string) *CreateClusterSubnetGroupInput {
  10435. s.Description = &v
  10436. return s
  10437. }
  10438. // SetSubnetIds sets the SubnetIds field's value.
  10439. func (s *CreateClusterSubnetGroupInput) SetSubnetIds(v []*string) *CreateClusterSubnetGroupInput {
  10440. s.SubnetIds = v
  10441. return s
  10442. }
  10443. // SetTags sets the Tags field's value.
  10444. func (s *CreateClusterSubnetGroupInput) SetTags(v []*Tag) *CreateClusterSubnetGroupInput {
  10445. s.Tags = v
  10446. return s
  10447. }
  10448. type CreateClusterSubnetGroupOutput struct {
  10449. _ struct{} `type:"structure"`
  10450. // Describes a subnet group.
  10451. ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"`
  10452. }
  10453. // String returns the string representation
  10454. func (s CreateClusterSubnetGroupOutput) String() string {
  10455. return awsutil.Prettify(s)
  10456. }
  10457. // GoString returns the string representation
  10458. func (s CreateClusterSubnetGroupOutput) GoString() string {
  10459. return s.String()
  10460. }
  10461. // SetClusterSubnetGroup sets the ClusterSubnetGroup field's value.
  10462. func (s *CreateClusterSubnetGroupOutput) SetClusterSubnetGroup(v *ClusterSubnetGroup) *CreateClusterSubnetGroupOutput {
  10463. s.ClusterSubnetGroup = v
  10464. return s
  10465. }
  10466. type CreateEventSubscriptionInput struct {
  10467. _ struct{} `type:"structure"`
  10468. // A boolean value; set to true to activate the subscription, and set to false
  10469. // to create the subscription but not activate it.
  10470. Enabled *bool `type:"boolean"`
  10471. // Specifies the Amazon Redshift event categories to be published by the event
  10472. // notification subscription.
  10473. //
  10474. // Values: configuration, management, monitoring, security
  10475. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  10476. // Specifies the Amazon Redshift event severity to be published by the event
  10477. // notification subscription.
  10478. //
  10479. // Values: ERROR, INFO
  10480. Severity *string `type:"string"`
  10481. // The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the
  10482. // event notifications. The ARN is created by Amazon SNS when you create a topic
  10483. // and subscribe to it.
  10484. //
  10485. // SnsTopicArn is a required field
  10486. SnsTopicArn *string `type:"string" required:"true"`
  10487. // A list of one or more identifiers of Amazon Redshift source objects. All
  10488. // of the objects must be of the same type as was specified in the source type
  10489. // parameter. The event subscription will return only events generated by the
  10490. // specified objects. If not specified, then events are returned for all objects
  10491. // within the source type specified.
  10492. //
  10493. // Example: my-cluster-1, my-cluster-2
  10494. //
  10495. // Example: my-snapshot-20131010
  10496. SourceIds []*string `locationNameList:"SourceId" type:"list"`
  10497. // The type of source that will be generating the events. For example, if you
  10498. // want to be notified of events generated by a cluster, you would set this
  10499. // parameter to cluster. If this value is not specified, events are returned
  10500. // for all Amazon Redshift objects in your AWS account. You must specify a source
  10501. // type in order to specify source IDs.
  10502. //
  10503. // Valid values: cluster, cluster-parameter-group, cluster-security-group, and
  10504. // cluster-snapshot.
  10505. SourceType *string `type:"string"`
  10506. // The name of the event subscription to be created.
  10507. //
  10508. // Constraints:
  10509. //
  10510. // * Cannot be null, empty, or blank.
  10511. //
  10512. // * Must contain from 1 to 255 alphanumeric characters or hyphens.
  10513. //
  10514. // * First character must be a letter.
  10515. //
  10516. // * Cannot end with a hyphen or contain two consecutive hyphens.
  10517. //
  10518. // SubscriptionName is a required field
  10519. SubscriptionName *string `type:"string" required:"true"`
  10520. // A list of tag instances.
  10521. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10522. }
  10523. // String returns the string representation
  10524. func (s CreateEventSubscriptionInput) String() string {
  10525. return awsutil.Prettify(s)
  10526. }
  10527. // GoString returns the string representation
  10528. func (s CreateEventSubscriptionInput) GoString() string {
  10529. return s.String()
  10530. }
  10531. // Validate inspects the fields of the type to determine if they are valid.
  10532. func (s *CreateEventSubscriptionInput) Validate() error {
  10533. invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
  10534. if s.SnsTopicArn == nil {
  10535. invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
  10536. }
  10537. if s.SubscriptionName == nil {
  10538. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  10539. }
  10540. if invalidParams.Len() > 0 {
  10541. return invalidParams
  10542. }
  10543. return nil
  10544. }
  10545. // SetEnabled sets the Enabled field's value.
  10546. func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
  10547. s.Enabled = &v
  10548. return s
  10549. }
  10550. // SetEventCategories sets the EventCategories field's value.
  10551. func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
  10552. s.EventCategories = v
  10553. return s
  10554. }
  10555. // SetSeverity sets the Severity field's value.
  10556. func (s *CreateEventSubscriptionInput) SetSeverity(v string) *CreateEventSubscriptionInput {
  10557. s.Severity = &v
  10558. return s
  10559. }
  10560. // SetSnsTopicArn sets the SnsTopicArn field's value.
  10561. func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
  10562. s.SnsTopicArn = &v
  10563. return s
  10564. }
  10565. // SetSourceIds sets the SourceIds field's value.
  10566. func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
  10567. s.SourceIds = v
  10568. return s
  10569. }
  10570. // SetSourceType sets the SourceType field's value.
  10571. func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
  10572. s.SourceType = &v
  10573. return s
  10574. }
  10575. // SetSubscriptionName sets the SubscriptionName field's value.
  10576. func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
  10577. s.SubscriptionName = &v
  10578. return s
  10579. }
  10580. // SetTags sets the Tags field's value.
  10581. func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
  10582. s.Tags = v
  10583. return s
  10584. }
  10585. type CreateEventSubscriptionOutput struct {
  10586. _ struct{} `type:"structure"`
  10587. // Describes event subscriptions.
  10588. EventSubscription *EventSubscription `type:"structure"`
  10589. }
  10590. // String returns the string representation
  10591. func (s CreateEventSubscriptionOutput) String() string {
  10592. return awsutil.Prettify(s)
  10593. }
  10594. // GoString returns the string representation
  10595. func (s CreateEventSubscriptionOutput) GoString() string {
  10596. return s.String()
  10597. }
  10598. // SetEventSubscription sets the EventSubscription field's value.
  10599. func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
  10600. s.EventSubscription = v
  10601. return s
  10602. }
  10603. type CreateHsmClientCertificateInput struct {
  10604. _ struct{} `type:"structure"`
  10605. // The identifier to be assigned to the new HSM client certificate that the
  10606. // cluster will use to connect to the HSM to use the database encryption keys.
  10607. //
  10608. // HsmClientCertificateIdentifier is a required field
  10609. HsmClientCertificateIdentifier *string `type:"string" required:"true"`
  10610. // A list of tag instances.
  10611. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10612. }
  10613. // String returns the string representation
  10614. func (s CreateHsmClientCertificateInput) String() string {
  10615. return awsutil.Prettify(s)
  10616. }
  10617. // GoString returns the string representation
  10618. func (s CreateHsmClientCertificateInput) GoString() string {
  10619. return s.String()
  10620. }
  10621. // Validate inspects the fields of the type to determine if they are valid.
  10622. func (s *CreateHsmClientCertificateInput) Validate() error {
  10623. invalidParams := request.ErrInvalidParams{Context: "CreateHsmClientCertificateInput"}
  10624. if s.HsmClientCertificateIdentifier == nil {
  10625. invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier"))
  10626. }
  10627. if invalidParams.Len() > 0 {
  10628. return invalidParams
  10629. }
  10630. return nil
  10631. }
  10632. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  10633. func (s *CreateHsmClientCertificateInput) SetHsmClientCertificateIdentifier(v string) *CreateHsmClientCertificateInput {
  10634. s.HsmClientCertificateIdentifier = &v
  10635. return s
  10636. }
  10637. // SetTags sets the Tags field's value.
  10638. func (s *CreateHsmClientCertificateInput) SetTags(v []*Tag) *CreateHsmClientCertificateInput {
  10639. s.Tags = v
  10640. return s
  10641. }
  10642. type CreateHsmClientCertificateOutput struct {
  10643. _ struct{} `type:"structure"`
  10644. // Returns information about an HSM client certificate. The certificate is stored
  10645. // in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift
  10646. // cluster to encrypt data files.
  10647. HsmClientCertificate *HsmClientCertificate `type:"structure"`
  10648. }
  10649. // String returns the string representation
  10650. func (s CreateHsmClientCertificateOutput) String() string {
  10651. return awsutil.Prettify(s)
  10652. }
  10653. // GoString returns the string representation
  10654. func (s CreateHsmClientCertificateOutput) GoString() string {
  10655. return s.String()
  10656. }
  10657. // SetHsmClientCertificate sets the HsmClientCertificate field's value.
  10658. func (s *CreateHsmClientCertificateOutput) SetHsmClientCertificate(v *HsmClientCertificate) *CreateHsmClientCertificateOutput {
  10659. s.HsmClientCertificate = v
  10660. return s
  10661. }
  10662. type CreateHsmConfigurationInput struct {
  10663. _ struct{} `type:"structure"`
  10664. // A text description of the HSM configuration to be created.
  10665. //
  10666. // Description is a required field
  10667. Description *string `type:"string" required:"true"`
  10668. // The identifier to be assigned to the new Amazon Redshift HSM configuration.
  10669. //
  10670. // HsmConfigurationIdentifier is a required field
  10671. HsmConfigurationIdentifier *string `type:"string" required:"true"`
  10672. // The IP address that the Amazon Redshift cluster must use to access the HSM.
  10673. //
  10674. // HsmIpAddress is a required field
  10675. HsmIpAddress *string `type:"string" required:"true"`
  10676. // The name of the partition in the HSM where the Amazon Redshift clusters will
  10677. // store their database encryption keys.
  10678. //
  10679. // HsmPartitionName is a required field
  10680. HsmPartitionName *string `type:"string" required:"true"`
  10681. // The password required to access the HSM partition.
  10682. //
  10683. // HsmPartitionPassword is a required field
  10684. HsmPartitionPassword *string `type:"string" required:"true"`
  10685. // The HSMs public certificate file. When using Cloud HSM, the file name is
  10686. // server.pem.
  10687. //
  10688. // HsmServerPublicCertificate is a required field
  10689. HsmServerPublicCertificate *string `type:"string" required:"true"`
  10690. // A list of tag instances.
  10691. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10692. }
  10693. // String returns the string representation
  10694. func (s CreateHsmConfigurationInput) String() string {
  10695. return awsutil.Prettify(s)
  10696. }
  10697. // GoString returns the string representation
  10698. func (s CreateHsmConfigurationInput) GoString() string {
  10699. return s.String()
  10700. }
  10701. // Validate inspects the fields of the type to determine if they are valid.
  10702. func (s *CreateHsmConfigurationInput) Validate() error {
  10703. invalidParams := request.ErrInvalidParams{Context: "CreateHsmConfigurationInput"}
  10704. if s.Description == nil {
  10705. invalidParams.Add(request.NewErrParamRequired("Description"))
  10706. }
  10707. if s.HsmConfigurationIdentifier == nil {
  10708. invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier"))
  10709. }
  10710. if s.HsmIpAddress == nil {
  10711. invalidParams.Add(request.NewErrParamRequired("HsmIpAddress"))
  10712. }
  10713. if s.HsmPartitionName == nil {
  10714. invalidParams.Add(request.NewErrParamRequired("HsmPartitionName"))
  10715. }
  10716. if s.HsmPartitionPassword == nil {
  10717. invalidParams.Add(request.NewErrParamRequired("HsmPartitionPassword"))
  10718. }
  10719. if s.HsmServerPublicCertificate == nil {
  10720. invalidParams.Add(request.NewErrParamRequired("HsmServerPublicCertificate"))
  10721. }
  10722. if invalidParams.Len() > 0 {
  10723. return invalidParams
  10724. }
  10725. return nil
  10726. }
  10727. // SetDescription sets the Description field's value.
  10728. func (s *CreateHsmConfigurationInput) SetDescription(v string) *CreateHsmConfigurationInput {
  10729. s.Description = &v
  10730. return s
  10731. }
  10732. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  10733. func (s *CreateHsmConfigurationInput) SetHsmConfigurationIdentifier(v string) *CreateHsmConfigurationInput {
  10734. s.HsmConfigurationIdentifier = &v
  10735. return s
  10736. }
  10737. // SetHsmIpAddress sets the HsmIpAddress field's value.
  10738. func (s *CreateHsmConfigurationInput) SetHsmIpAddress(v string) *CreateHsmConfigurationInput {
  10739. s.HsmIpAddress = &v
  10740. return s
  10741. }
  10742. // SetHsmPartitionName sets the HsmPartitionName field's value.
  10743. func (s *CreateHsmConfigurationInput) SetHsmPartitionName(v string) *CreateHsmConfigurationInput {
  10744. s.HsmPartitionName = &v
  10745. return s
  10746. }
  10747. // SetHsmPartitionPassword sets the HsmPartitionPassword field's value.
  10748. func (s *CreateHsmConfigurationInput) SetHsmPartitionPassword(v string) *CreateHsmConfigurationInput {
  10749. s.HsmPartitionPassword = &v
  10750. return s
  10751. }
  10752. // SetHsmServerPublicCertificate sets the HsmServerPublicCertificate field's value.
  10753. func (s *CreateHsmConfigurationInput) SetHsmServerPublicCertificate(v string) *CreateHsmConfigurationInput {
  10754. s.HsmServerPublicCertificate = &v
  10755. return s
  10756. }
  10757. // SetTags sets the Tags field's value.
  10758. func (s *CreateHsmConfigurationInput) SetTags(v []*Tag) *CreateHsmConfigurationInput {
  10759. s.Tags = v
  10760. return s
  10761. }
  10762. type CreateHsmConfigurationOutput struct {
  10763. _ struct{} `type:"structure"`
  10764. // Returns information about an HSM configuration, which is an object that describes
  10765. // to Amazon Redshift clusters the information they require to connect to an
  10766. // HSM where they can store database encryption keys.
  10767. HsmConfiguration *HsmConfiguration `type:"structure"`
  10768. }
  10769. // String returns the string representation
  10770. func (s CreateHsmConfigurationOutput) String() string {
  10771. return awsutil.Prettify(s)
  10772. }
  10773. // GoString returns the string representation
  10774. func (s CreateHsmConfigurationOutput) GoString() string {
  10775. return s.String()
  10776. }
  10777. // SetHsmConfiguration sets the HsmConfiguration field's value.
  10778. func (s *CreateHsmConfigurationOutput) SetHsmConfiguration(v *HsmConfiguration) *CreateHsmConfigurationOutput {
  10779. s.HsmConfiguration = v
  10780. return s
  10781. }
  10782. // The result of the CreateSnapshotCopyGrant action.
  10783. type CreateSnapshotCopyGrantInput struct {
  10784. _ struct{} `type:"structure"`
  10785. // The unique identifier of the customer master key (CMK) to which to grant
  10786. // Amazon Redshift permission. If no key is specified, the default key is used.
  10787. KmsKeyId *string `type:"string"`
  10788. // The name of the snapshot copy grant. This name must be unique in the region
  10789. // for the AWS account.
  10790. //
  10791. // Constraints:
  10792. //
  10793. // * Must contain from 1 to 63 alphanumeric characters or hyphens.
  10794. //
  10795. // * Alphabetic characters must be lowercase.
  10796. //
  10797. // * First character must be a letter.
  10798. //
  10799. // * Cannot end with a hyphen or contain two consecutive hyphens.
  10800. //
  10801. // * Must be unique for all clusters within an AWS account.
  10802. //
  10803. // SnapshotCopyGrantName is a required field
  10804. SnapshotCopyGrantName *string `type:"string" required:"true"`
  10805. // A list of tag instances.
  10806. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10807. }
  10808. // String returns the string representation
  10809. func (s CreateSnapshotCopyGrantInput) String() string {
  10810. return awsutil.Prettify(s)
  10811. }
  10812. // GoString returns the string representation
  10813. func (s CreateSnapshotCopyGrantInput) GoString() string {
  10814. return s.String()
  10815. }
  10816. // Validate inspects the fields of the type to determine if they are valid.
  10817. func (s *CreateSnapshotCopyGrantInput) Validate() error {
  10818. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotCopyGrantInput"}
  10819. if s.SnapshotCopyGrantName == nil {
  10820. invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName"))
  10821. }
  10822. if invalidParams.Len() > 0 {
  10823. return invalidParams
  10824. }
  10825. return nil
  10826. }
  10827. // SetKmsKeyId sets the KmsKeyId field's value.
  10828. func (s *CreateSnapshotCopyGrantInput) SetKmsKeyId(v string) *CreateSnapshotCopyGrantInput {
  10829. s.KmsKeyId = &v
  10830. return s
  10831. }
  10832. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  10833. func (s *CreateSnapshotCopyGrantInput) SetSnapshotCopyGrantName(v string) *CreateSnapshotCopyGrantInput {
  10834. s.SnapshotCopyGrantName = &v
  10835. return s
  10836. }
  10837. // SetTags sets the Tags field's value.
  10838. func (s *CreateSnapshotCopyGrantInput) SetTags(v []*Tag) *CreateSnapshotCopyGrantInput {
  10839. s.Tags = v
  10840. return s
  10841. }
  10842. type CreateSnapshotCopyGrantOutput struct {
  10843. _ struct{} `type:"structure"`
  10844. // The snapshot copy grant that grants Amazon Redshift permission to encrypt
  10845. // copied snapshots with the specified customer master key (CMK) from AWS KMS
  10846. // in the destination region.
  10847. //
  10848. // For more information about managing snapshot copy grants, go to Amazon Redshift
  10849. // Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  10850. // in the Amazon Redshift Cluster Management Guide.
  10851. SnapshotCopyGrant *SnapshotCopyGrant `type:"structure"`
  10852. }
  10853. // String returns the string representation
  10854. func (s CreateSnapshotCopyGrantOutput) String() string {
  10855. return awsutil.Prettify(s)
  10856. }
  10857. // GoString returns the string representation
  10858. func (s CreateSnapshotCopyGrantOutput) GoString() string {
  10859. return s.String()
  10860. }
  10861. // SetSnapshotCopyGrant sets the SnapshotCopyGrant field's value.
  10862. func (s *CreateSnapshotCopyGrantOutput) SetSnapshotCopyGrant(v *SnapshotCopyGrant) *CreateSnapshotCopyGrantOutput {
  10863. s.SnapshotCopyGrant = v
  10864. return s
  10865. }
  10866. type CreateSnapshotScheduleInput struct {
  10867. _ struct{} `type:"structure"`
  10868. DryRun *bool `type:"boolean"`
  10869. NextInvocations *int64 `type:"integer"`
  10870. // The definition of the snapshot schedule. The definition is made up of schedule
  10871. // expressions, for example "cron(30 12 *)" or "rate(12 hours)".
  10872. ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"`
  10873. // The description of the snapshot schedule.
  10874. ScheduleDescription *string `type:"string"`
  10875. // A unique identifier for a snapshot schedule. Only alphanumeric characters
  10876. // are allowed for the identifier.
  10877. ScheduleIdentifier *string `type:"string"`
  10878. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10879. }
  10880. // String returns the string representation
  10881. func (s CreateSnapshotScheduleInput) String() string {
  10882. return awsutil.Prettify(s)
  10883. }
  10884. // GoString returns the string representation
  10885. func (s CreateSnapshotScheduleInput) GoString() string {
  10886. return s.String()
  10887. }
  10888. // SetDryRun sets the DryRun field's value.
  10889. func (s *CreateSnapshotScheduleInput) SetDryRun(v bool) *CreateSnapshotScheduleInput {
  10890. s.DryRun = &v
  10891. return s
  10892. }
  10893. // SetNextInvocations sets the NextInvocations field's value.
  10894. func (s *CreateSnapshotScheduleInput) SetNextInvocations(v int64) *CreateSnapshotScheduleInput {
  10895. s.NextInvocations = &v
  10896. return s
  10897. }
  10898. // SetScheduleDefinitions sets the ScheduleDefinitions field's value.
  10899. func (s *CreateSnapshotScheduleInput) SetScheduleDefinitions(v []*string) *CreateSnapshotScheduleInput {
  10900. s.ScheduleDefinitions = v
  10901. return s
  10902. }
  10903. // SetScheduleDescription sets the ScheduleDescription field's value.
  10904. func (s *CreateSnapshotScheduleInput) SetScheduleDescription(v string) *CreateSnapshotScheduleInput {
  10905. s.ScheduleDescription = &v
  10906. return s
  10907. }
  10908. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  10909. func (s *CreateSnapshotScheduleInput) SetScheduleIdentifier(v string) *CreateSnapshotScheduleInput {
  10910. s.ScheduleIdentifier = &v
  10911. return s
  10912. }
  10913. // SetTags sets the Tags field's value.
  10914. func (s *CreateSnapshotScheduleInput) SetTags(v []*Tag) *CreateSnapshotScheduleInput {
  10915. s.Tags = v
  10916. return s
  10917. }
  10918. // Describes a snapshot schedule. You can set a regular interval for creating
  10919. // snapshots of a cluster. You can also schedule snapshots for specific dates.
  10920. type CreateSnapshotScheduleOutput struct {
  10921. _ struct{} `type:"structure"`
  10922. AssociatedClusterCount *int64 `type:"integer"`
  10923. AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"`
  10924. NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"`
  10925. // A list of ScheduleDefinitions
  10926. ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"`
  10927. // The description of the schedule.
  10928. ScheduleDescription *string `type:"string"`
  10929. // A unique identifier for the schedule.
  10930. ScheduleIdentifier *string `type:"string"`
  10931. // An optional set of tags describing the schedule.
  10932. Tags []*Tag `locationNameList:"Tag" type:"list"`
  10933. }
  10934. // String returns the string representation
  10935. func (s CreateSnapshotScheduleOutput) String() string {
  10936. return awsutil.Prettify(s)
  10937. }
  10938. // GoString returns the string representation
  10939. func (s CreateSnapshotScheduleOutput) GoString() string {
  10940. return s.String()
  10941. }
  10942. // SetAssociatedClusterCount sets the AssociatedClusterCount field's value.
  10943. func (s *CreateSnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *CreateSnapshotScheduleOutput {
  10944. s.AssociatedClusterCount = &v
  10945. return s
  10946. }
  10947. // SetAssociatedClusters sets the AssociatedClusters field's value.
  10948. func (s *CreateSnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *CreateSnapshotScheduleOutput {
  10949. s.AssociatedClusters = v
  10950. return s
  10951. }
  10952. // SetNextInvocations sets the NextInvocations field's value.
  10953. func (s *CreateSnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *CreateSnapshotScheduleOutput {
  10954. s.NextInvocations = v
  10955. return s
  10956. }
  10957. // SetScheduleDefinitions sets the ScheduleDefinitions field's value.
  10958. func (s *CreateSnapshotScheduleOutput) SetScheduleDefinitions(v []*string) *CreateSnapshotScheduleOutput {
  10959. s.ScheduleDefinitions = v
  10960. return s
  10961. }
  10962. // SetScheduleDescription sets the ScheduleDescription field's value.
  10963. func (s *CreateSnapshotScheduleOutput) SetScheduleDescription(v string) *CreateSnapshotScheduleOutput {
  10964. s.ScheduleDescription = &v
  10965. return s
  10966. }
  10967. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  10968. func (s *CreateSnapshotScheduleOutput) SetScheduleIdentifier(v string) *CreateSnapshotScheduleOutput {
  10969. s.ScheduleIdentifier = &v
  10970. return s
  10971. }
  10972. // SetTags sets the Tags field's value.
  10973. func (s *CreateSnapshotScheduleOutput) SetTags(v []*Tag) *CreateSnapshotScheduleOutput {
  10974. s.Tags = v
  10975. return s
  10976. }
  10977. // Contains the output from the CreateTags action.
  10978. type CreateTagsInput struct {
  10979. _ struct{} `type:"structure"`
  10980. // The Amazon Resource Name (ARN) to which you want to add the tag or tags.
  10981. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  10982. //
  10983. // ResourceName is a required field
  10984. ResourceName *string `type:"string" required:"true"`
  10985. // One or more name/value pairs to add as tags to the specified resource. Each
  10986. // tag name is passed in with the parameter Key and the corresponding value
  10987. // is passed in with the parameter Value. The Key and Value parameters are separated
  10988. // by a comma (,). Separate multiple tags with a space. For example, --tags
  10989. // "Key"="owner","Value"="admin" "Key"="environment","Value"="test" "Key"="version","Value"="1.0".
  10990. //
  10991. // Tags is a required field
  10992. Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  10993. }
  10994. // String returns the string representation
  10995. func (s CreateTagsInput) String() string {
  10996. return awsutil.Prettify(s)
  10997. }
  10998. // GoString returns the string representation
  10999. func (s CreateTagsInput) GoString() string {
  11000. return s.String()
  11001. }
  11002. // Validate inspects the fields of the type to determine if they are valid.
  11003. func (s *CreateTagsInput) Validate() error {
  11004. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  11005. if s.ResourceName == nil {
  11006. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  11007. }
  11008. if s.Tags == nil {
  11009. invalidParams.Add(request.NewErrParamRequired("Tags"))
  11010. }
  11011. if invalidParams.Len() > 0 {
  11012. return invalidParams
  11013. }
  11014. return nil
  11015. }
  11016. // SetResourceName sets the ResourceName field's value.
  11017. func (s *CreateTagsInput) SetResourceName(v string) *CreateTagsInput {
  11018. s.ResourceName = &v
  11019. return s
  11020. }
  11021. // SetTags sets the Tags field's value.
  11022. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  11023. s.Tags = v
  11024. return s
  11025. }
  11026. type CreateTagsOutput struct {
  11027. _ struct{} `type:"structure"`
  11028. }
  11029. // String returns the string representation
  11030. func (s CreateTagsOutput) String() string {
  11031. return awsutil.Prettify(s)
  11032. }
  11033. // GoString returns the string representation
  11034. func (s CreateTagsOutput) GoString() string {
  11035. return s.String()
  11036. }
  11037. // Describes the status of a cluster while it is in the process of resizing
  11038. // with an incremental resize.
  11039. type DataTransferProgress struct {
  11040. _ struct{} `type:"structure"`
  11041. // Describes the data transfer rate in MB's per second.
  11042. CurrentRateInMegaBytesPerSecond *float64 `type:"double"`
  11043. // Describes the total amount of data that has been transfered in MB's.
  11044. DataTransferredInMegaBytes *int64 `type:"long"`
  11045. // Describes the number of seconds that have elapsed during the data transfer.
  11046. ElapsedTimeInSeconds *int64 `type:"long"`
  11047. // Describes the estimated number of seconds remaining to complete the transfer.
  11048. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  11049. // Describes the status of the cluster. While the transfer is in progress the
  11050. // status is transferringdata.
  11051. Status *string `type:"string"`
  11052. // Describes the total amount of data to be transfered in megabytes.
  11053. TotalDataInMegaBytes *int64 `type:"long"`
  11054. }
  11055. // String returns the string representation
  11056. func (s DataTransferProgress) String() string {
  11057. return awsutil.Prettify(s)
  11058. }
  11059. // GoString returns the string representation
  11060. func (s DataTransferProgress) GoString() string {
  11061. return s.String()
  11062. }
  11063. // SetCurrentRateInMegaBytesPerSecond sets the CurrentRateInMegaBytesPerSecond field's value.
  11064. func (s *DataTransferProgress) SetCurrentRateInMegaBytesPerSecond(v float64) *DataTransferProgress {
  11065. s.CurrentRateInMegaBytesPerSecond = &v
  11066. return s
  11067. }
  11068. // SetDataTransferredInMegaBytes sets the DataTransferredInMegaBytes field's value.
  11069. func (s *DataTransferProgress) SetDataTransferredInMegaBytes(v int64) *DataTransferProgress {
  11070. s.DataTransferredInMegaBytes = &v
  11071. return s
  11072. }
  11073. // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
  11074. func (s *DataTransferProgress) SetElapsedTimeInSeconds(v int64) *DataTransferProgress {
  11075. s.ElapsedTimeInSeconds = &v
  11076. return s
  11077. }
  11078. // SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
  11079. func (s *DataTransferProgress) SetEstimatedTimeToCompletionInSeconds(v int64) *DataTransferProgress {
  11080. s.EstimatedTimeToCompletionInSeconds = &v
  11081. return s
  11082. }
  11083. // SetStatus sets the Status field's value.
  11084. func (s *DataTransferProgress) SetStatus(v string) *DataTransferProgress {
  11085. s.Status = &v
  11086. return s
  11087. }
  11088. // SetTotalDataInMegaBytes sets the TotalDataInMegaBytes field's value.
  11089. func (s *DataTransferProgress) SetTotalDataInMegaBytes(v int64) *DataTransferProgress {
  11090. s.TotalDataInMegaBytes = &v
  11091. return s
  11092. }
  11093. // Describes the default cluster parameters for a parameter group family.
  11094. type DefaultClusterParameters struct {
  11095. _ struct{} `type:"structure"`
  11096. // A value that indicates the starting point for the next set of response records
  11097. // in a subsequent request. If a value is returned in a response, you can retrieve
  11098. // the next set of records by providing this returned marker value in the Marker
  11099. // parameter and retrying the command. If the Marker field is empty, all response
  11100. // records have been retrieved for the request.
  11101. Marker *string `type:"string"`
  11102. // The name of the cluster parameter group family to which the engine default
  11103. // parameters apply.
  11104. ParameterGroupFamily *string `type:"string"`
  11105. // The list of cluster default parameters.
  11106. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  11107. }
  11108. // String returns the string representation
  11109. func (s DefaultClusterParameters) String() string {
  11110. return awsutil.Prettify(s)
  11111. }
  11112. // GoString returns the string representation
  11113. func (s DefaultClusterParameters) GoString() string {
  11114. return s.String()
  11115. }
  11116. // SetMarker sets the Marker field's value.
  11117. func (s *DefaultClusterParameters) SetMarker(v string) *DefaultClusterParameters {
  11118. s.Marker = &v
  11119. return s
  11120. }
  11121. // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  11122. func (s *DefaultClusterParameters) SetParameterGroupFamily(v string) *DefaultClusterParameters {
  11123. s.ParameterGroupFamily = &v
  11124. return s
  11125. }
  11126. // SetParameters sets the Parameters field's value.
  11127. func (s *DefaultClusterParameters) SetParameters(v []*Parameter) *DefaultClusterParameters {
  11128. s.Parameters = v
  11129. return s
  11130. }
  11131. // Describes a deferred maintenance window
  11132. type DeferredMaintenanceWindow struct {
  11133. _ struct{} `type:"structure"`
  11134. // A timestamp for the end of the time period when we defer maintenance.
  11135. DeferMaintenanceEndTime *time.Time `type:"timestamp"`
  11136. // A unique identifier for the maintenance window.
  11137. DeferMaintenanceIdentifier *string `type:"string"`
  11138. // A timestamp for the beginning of the time period when we defer maintenance.
  11139. DeferMaintenanceStartTime *time.Time `type:"timestamp"`
  11140. }
  11141. // String returns the string representation
  11142. func (s DeferredMaintenanceWindow) String() string {
  11143. return awsutil.Prettify(s)
  11144. }
  11145. // GoString returns the string representation
  11146. func (s DeferredMaintenanceWindow) GoString() string {
  11147. return s.String()
  11148. }
  11149. // SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
  11150. func (s *DeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v time.Time) *DeferredMaintenanceWindow {
  11151. s.DeferMaintenanceEndTime = &v
  11152. return s
  11153. }
  11154. // SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
  11155. func (s *DeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *DeferredMaintenanceWindow {
  11156. s.DeferMaintenanceIdentifier = &v
  11157. return s
  11158. }
  11159. // SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
  11160. func (s *DeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v time.Time) *DeferredMaintenanceWindow {
  11161. s.DeferMaintenanceStartTime = &v
  11162. return s
  11163. }
  11164. type DeleteClusterInput struct {
  11165. _ struct{} `type:"structure"`
  11166. // The identifier of the cluster to be deleted.
  11167. //
  11168. // Constraints:
  11169. //
  11170. // * Must contain lowercase characters.
  11171. //
  11172. // * Must contain from 1 to 63 alphanumeric characters or hyphens.
  11173. //
  11174. // * First character must be a letter.
  11175. //
  11176. // * Cannot end with a hyphen or contain two consecutive hyphens.
  11177. //
  11178. // ClusterIdentifier is a required field
  11179. ClusterIdentifier *string `type:"string" required:"true"`
  11180. // The identifier of the final snapshot that is to be created immediately before
  11181. // deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot
  11182. // must be false.
  11183. //
  11184. // Constraints:
  11185. //
  11186. // * Must be 1 to 255 alphanumeric characters.
  11187. //
  11188. // * First character must be a letter.
  11189. //
  11190. // * Cannot end with a hyphen or contain two consecutive hyphens.
  11191. FinalClusterSnapshotIdentifier *string `type:"string"`
  11192. // The number of days that a manual snapshot is retained. If the value is -1,
  11193. // the manual snapshot is retained indefinitely.
  11194. //
  11195. // The value must be either -1 or an integer between 1 and 3,653.
  11196. //
  11197. // The default value is -1.
  11198. FinalClusterSnapshotRetentionPeriod *int64 `type:"integer"`
  11199. // Determines whether a final snapshot of the cluster is created before Amazon
  11200. // Redshift deletes the cluster. If true, a final cluster snapshot is not created.
  11201. // If false, a final cluster snapshot is created before the cluster is deleted.
  11202. //
  11203. // The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot
  11204. // is false.
  11205. //
  11206. // Default: false
  11207. SkipFinalClusterSnapshot *bool `type:"boolean"`
  11208. }
  11209. // String returns the string representation
  11210. func (s DeleteClusterInput) String() string {
  11211. return awsutil.Prettify(s)
  11212. }
  11213. // GoString returns the string representation
  11214. func (s DeleteClusterInput) GoString() string {
  11215. return s.String()
  11216. }
  11217. // Validate inspects the fields of the type to determine if they are valid.
  11218. func (s *DeleteClusterInput) Validate() error {
  11219. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
  11220. if s.ClusterIdentifier == nil {
  11221. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  11222. }
  11223. if invalidParams.Len() > 0 {
  11224. return invalidParams
  11225. }
  11226. return nil
  11227. }
  11228. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  11229. func (s *DeleteClusterInput) SetClusterIdentifier(v string) *DeleteClusterInput {
  11230. s.ClusterIdentifier = &v
  11231. return s
  11232. }
  11233. // SetFinalClusterSnapshotIdentifier sets the FinalClusterSnapshotIdentifier field's value.
  11234. func (s *DeleteClusterInput) SetFinalClusterSnapshotIdentifier(v string) *DeleteClusterInput {
  11235. s.FinalClusterSnapshotIdentifier = &v
  11236. return s
  11237. }
  11238. // SetFinalClusterSnapshotRetentionPeriod sets the FinalClusterSnapshotRetentionPeriod field's value.
  11239. func (s *DeleteClusterInput) SetFinalClusterSnapshotRetentionPeriod(v int64) *DeleteClusterInput {
  11240. s.FinalClusterSnapshotRetentionPeriod = &v
  11241. return s
  11242. }
  11243. // SetSkipFinalClusterSnapshot sets the SkipFinalClusterSnapshot field's value.
  11244. func (s *DeleteClusterInput) SetSkipFinalClusterSnapshot(v bool) *DeleteClusterInput {
  11245. s.SkipFinalClusterSnapshot = &v
  11246. return s
  11247. }
  11248. type DeleteClusterOutput struct {
  11249. _ struct{} `type:"structure"`
  11250. // Describes a cluster.
  11251. Cluster *Cluster `type:"structure"`
  11252. }
  11253. // String returns the string representation
  11254. func (s DeleteClusterOutput) String() string {
  11255. return awsutil.Prettify(s)
  11256. }
  11257. // GoString returns the string representation
  11258. func (s DeleteClusterOutput) GoString() string {
  11259. return s.String()
  11260. }
  11261. // SetCluster sets the Cluster field's value.
  11262. func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
  11263. s.Cluster = v
  11264. return s
  11265. }
  11266. type DeleteClusterParameterGroupInput struct {
  11267. _ struct{} `type:"structure"`
  11268. // The name of the parameter group to be deleted.
  11269. //
  11270. // Constraints:
  11271. //
  11272. // * Must be the name of an existing cluster parameter group.
  11273. //
  11274. // * Cannot delete a default cluster parameter group.
  11275. //
  11276. // ParameterGroupName is a required field
  11277. ParameterGroupName *string `type:"string" required:"true"`
  11278. }
  11279. // String returns the string representation
  11280. func (s DeleteClusterParameterGroupInput) String() string {
  11281. return awsutil.Prettify(s)
  11282. }
  11283. // GoString returns the string representation
  11284. func (s DeleteClusterParameterGroupInput) GoString() string {
  11285. return s.String()
  11286. }
  11287. // Validate inspects the fields of the type to determine if they are valid.
  11288. func (s *DeleteClusterParameterGroupInput) Validate() error {
  11289. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterParameterGroupInput"}
  11290. if s.ParameterGroupName == nil {
  11291. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  11292. }
  11293. if invalidParams.Len() > 0 {
  11294. return invalidParams
  11295. }
  11296. return nil
  11297. }
  11298. // SetParameterGroupName sets the ParameterGroupName field's value.
  11299. func (s *DeleteClusterParameterGroupInput) SetParameterGroupName(v string) *DeleteClusterParameterGroupInput {
  11300. s.ParameterGroupName = &v
  11301. return s
  11302. }
  11303. type DeleteClusterParameterGroupOutput struct {
  11304. _ struct{} `type:"structure"`
  11305. }
  11306. // String returns the string representation
  11307. func (s DeleteClusterParameterGroupOutput) String() string {
  11308. return awsutil.Prettify(s)
  11309. }
  11310. // GoString returns the string representation
  11311. func (s DeleteClusterParameterGroupOutput) GoString() string {
  11312. return s.String()
  11313. }
  11314. type DeleteClusterSecurityGroupInput struct {
  11315. _ struct{} `type:"structure"`
  11316. // The name of the cluster security group to be deleted.
  11317. //
  11318. // ClusterSecurityGroupName is a required field
  11319. ClusterSecurityGroupName *string `type:"string" required:"true"`
  11320. }
  11321. // String returns the string representation
  11322. func (s DeleteClusterSecurityGroupInput) String() string {
  11323. return awsutil.Prettify(s)
  11324. }
  11325. // GoString returns the string representation
  11326. func (s DeleteClusterSecurityGroupInput) GoString() string {
  11327. return s.String()
  11328. }
  11329. // Validate inspects the fields of the type to determine if they are valid.
  11330. func (s *DeleteClusterSecurityGroupInput) Validate() error {
  11331. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSecurityGroupInput"}
  11332. if s.ClusterSecurityGroupName == nil {
  11333. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  11334. }
  11335. if invalidParams.Len() > 0 {
  11336. return invalidParams
  11337. }
  11338. return nil
  11339. }
  11340. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  11341. func (s *DeleteClusterSecurityGroupInput) SetClusterSecurityGroupName(v string) *DeleteClusterSecurityGroupInput {
  11342. s.ClusterSecurityGroupName = &v
  11343. return s
  11344. }
  11345. type DeleteClusterSecurityGroupOutput struct {
  11346. _ struct{} `type:"structure"`
  11347. }
  11348. // String returns the string representation
  11349. func (s DeleteClusterSecurityGroupOutput) String() string {
  11350. return awsutil.Prettify(s)
  11351. }
  11352. // GoString returns the string representation
  11353. func (s DeleteClusterSecurityGroupOutput) GoString() string {
  11354. return s.String()
  11355. }
  11356. type DeleteClusterSnapshotInput struct {
  11357. _ struct{} `type:"structure"`
  11358. // The unique identifier of the cluster the snapshot was created from. This
  11359. // parameter is required if your IAM user has a policy containing a snapshot
  11360. // resource element that specifies anything other than * for the cluster name.
  11361. //
  11362. // Constraints: Must be the name of valid cluster.
  11363. SnapshotClusterIdentifier *string `type:"string"`
  11364. // The unique identifier of the manual snapshot to be deleted.
  11365. //
  11366. // Constraints: Must be the name of an existing snapshot that is in the available,
  11367. // failed, or cancelled state.
  11368. //
  11369. // SnapshotIdentifier is a required field
  11370. SnapshotIdentifier *string `type:"string" required:"true"`
  11371. }
  11372. // String returns the string representation
  11373. func (s DeleteClusterSnapshotInput) String() string {
  11374. return awsutil.Prettify(s)
  11375. }
  11376. // GoString returns the string representation
  11377. func (s DeleteClusterSnapshotInput) GoString() string {
  11378. return s.String()
  11379. }
  11380. // Validate inspects the fields of the type to determine if they are valid.
  11381. func (s *DeleteClusterSnapshotInput) Validate() error {
  11382. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSnapshotInput"}
  11383. if s.SnapshotIdentifier == nil {
  11384. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  11385. }
  11386. if invalidParams.Len() > 0 {
  11387. return invalidParams
  11388. }
  11389. return nil
  11390. }
  11391. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  11392. func (s *DeleteClusterSnapshotInput) SetSnapshotClusterIdentifier(v string) *DeleteClusterSnapshotInput {
  11393. s.SnapshotClusterIdentifier = &v
  11394. return s
  11395. }
  11396. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  11397. func (s *DeleteClusterSnapshotInput) SetSnapshotIdentifier(v string) *DeleteClusterSnapshotInput {
  11398. s.SnapshotIdentifier = &v
  11399. return s
  11400. }
  11401. type DeleteClusterSnapshotMessage struct {
  11402. _ struct{} `type:"structure"`
  11403. // The unique identifier of the cluster the snapshot was created from. This
  11404. // parameter is required if your IAM user has a policy containing a snapshot
  11405. // resource element that specifies anything other than * for the cluster name.
  11406. //
  11407. // Constraints: Must be the name of valid cluster.
  11408. SnapshotClusterIdentifier *string `type:"string"`
  11409. // The unique identifier of the manual snapshot to be deleted.
  11410. //
  11411. // Constraints: Must be the name of an existing snapshot that is in the available,
  11412. // failed, or cancelled state.
  11413. //
  11414. // SnapshotIdentifier is a required field
  11415. SnapshotIdentifier *string `type:"string" required:"true"`
  11416. }
  11417. // String returns the string representation
  11418. func (s DeleteClusterSnapshotMessage) String() string {
  11419. return awsutil.Prettify(s)
  11420. }
  11421. // GoString returns the string representation
  11422. func (s DeleteClusterSnapshotMessage) GoString() string {
  11423. return s.String()
  11424. }
  11425. // Validate inspects the fields of the type to determine if they are valid.
  11426. func (s *DeleteClusterSnapshotMessage) Validate() error {
  11427. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSnapshotMessage"}
  11428. if s.SnapshotIdentifier == nil {
  11429. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  11430. }
  11431. if invalidParams.Len() > 0 {
  11432. return invalidParams
  11433. }
  11434. return nil
  11435. }
  11436. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  11437. func (s *DeleteClusterSnapshotMessage) SetSnapshotClusterIdentifier(v string) *DeleteClusterSnapshotMessage {
  11438. s.SnapshotClusterIdentifier = &v
  11439. return s
  11440. }
  11441. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  11442. func (s *DeleteClusterSnapshotMessage) SetSnapshotIdentifier(v string) *DeleteClusterSnapshotMessage {
  11443. s.SnapshotIdentifier = &v
  11444. return s
  11445. }
  11446. type DeleteClusterSnapshotOutput struct {
  11447. _ struct{} `type:"structure"`
  11448. // Describes a snapshot.
  11449. Snapshot *Snapshot `type:"structure"`
  11450. }
  11451. // String returns the string representation
  11452. func (s DeleteClusterSnapshotOutput) String() string {
  11453. return awsutil.Prettify(s)
  11454. }
  11455. // GoString returns the string representation
  11456. func (s DeleteClusterSnapshotOutput) GoString() string {
  11457. return s.String()
  11458. }
  11459. // SetSnapshot sets the Snapshot field's value.
  11460. func (s *DeleteClusterSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteClusterSnapshotOutput {
  11461. s.Snapshot = v
  11462. return s
  11463. }
  11464. type DeleteClusterSubnetGroupInput struct {
  11465. _ struct{} `type:"structure"`
  11466. // The name of the cluster subnet group name to be deleted.
  11467. //
  11468. // ClusterSubnetGroupName is a required field
  11469. ClusterSubnetGroupName *string `type:"string" required:"true"`
  11470. }
  11471. // String returns the string representation
  11472. func (s DeleteClusterSubnetGroupInput) String() string {
  11473. return awsutil.Prettify(s)
  11474. }
  11475. // GoString returns the string representation
  11476. func (s DeleteClusterSubnetGroupInput) GoString() string {
  11477. return s.String()
  11478. }
  11479. // Validate inspects the fields of the type to determine if they are valid.
  11480. func (s *DeleteClusterSubnetGroupInput) Validate() error {
  11481. invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSubnetGroupInput"}
  11482. if s.ClusterSubnetGroupName == nil {
  11483. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  11484. }
  11485. if invalidParams.Len() > 0 {
  11486. return invalidParams
  11487. }
  11488. return nil
  11489. }
  11490. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  11491. func (s *DeleteClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *DeleteClusterSubnetGroupInput {
  11492. s.ClusterSubnetGroupName = &v
  11493. return s
  11494. }
  11495. type DeleteClusterSubnetGroupOutput struct {
  11496. _ struct{} `type:"structure"`
  11497. }
  11498. // String returns the string representation
  11499. func (s DeleteClusterSubnetGroupOutput) String() string {
  11500. return awsutil.Prettify(s)
  11501. }
  11502. // GoString returns the string representation
  11503. func (s DeleteClusterSubnetGroupOutput) GoString() string {
  11504. return s.String()
  11505. }
  11506. type DeleteEventSubscriptionInput struct {
  11507. _ struct{} `type:"structure"`
  11508. // The name of the Amazon Redshift event notification subscription to be deleted.
  11509. //
  11510. // SubscriptionName is a required field
  11511. SubscriptionName *string `type:"string" required:"true"`
  11512. }
  11513. // String returns the string representation
  11514. func (s DeleteEventSubscriptionInput) String() string {
  11515. return awsutil.Prettify(s)
  11516. }
  11517. // GoString returns the string representation
  11518. func (s DeleteEventSubscriptionInput) GoString() string {
  11519. return s.String()
  11520. }
  11521. // Validate inspects the fields of the type to determine if they are valid.
  11522. func (s *DeleteEventSubscriptionInput) Validate() error {
  11523. invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
  11524. if s.SubscriptionName == nil {
  11525. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  11526. }
  11527. if invalidParams.Len() > 0 {
  11528. return invalidParams
  11529. }
  11530. return nil
  11531. }
  11532. // SetSubscriptionName sets the SubscriptionName field's value.
  11533. func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
  11534. s.SubscriptionName = &v
  11535. return s
  11536. }
  11537. type DeleteEventSubscriptionOutput struct {
  11538. _ struct{} `type:"structure"`
  11539. }
  11540. // String returns the string representation
  11541. func (s DeleteEventSubscriptionOutput) String() string {
  11542. return awsutil.Prettify(s)
  11543. }
  11544. // GoString returns the string representation
  11545. func (s DeleteEventSubscriptionOutput) GoString() string {
  11546. return s.String()
  11547. }
  11548. type DeleteHsmClientCertificateInput struct {
  11549. _ struct{} `type:"structure"`
  11550. // The identifier of the HSM client certificate to be deleted.
  11551. //
  11552. // HsmClientCertificateIdentifier is a required field
  11553. HsmClientCertificateIdentifier *string `type:"string" required:"true"`
  11554. }
  11555. // String returns the string representation
  11556. func (s DeleteHsmClientCertificateInput) String() string {
  11557. return awsutil.Prettify(s)
  11558. }
  11559. // GoString returns the string representation
  11560. func (s DeleteHsmClientCertificateInput) GoString() string {
  11561. return s.String()
  11562. }
  11563. // Validate inspects the fields of the type to determine if they are valid.
  11564. func (s *DeleteHsmClientCertificateInput) Validate() error {
  11565. invalidParams := request.ErrInvalidParams{Context: "DeleteHsmClientCertificateInput"}
  11566. if s.HsmClientCertificateIdentifier == nil {
  11567. invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier"))
  11568. }
  11569. if invalidParams.Len() > 0 {
  11570. return invalidParams
  11571. }
  11572. return nil
  11573. }
  11574. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  11575. func (s *DeleteHsmClientCertificateInput) SetHsmClientCertificateIdentifier(v string) *DeleteHsmClientCertificateInput {
  11576. s.HsmClientCertificateIdentifier = &v
  11577. return s
  11578. }
  11579. type DeleteHsmClientCertificateOutput struct {
  11580. _ struct{} `type:"structure"`
  11581. }
  11582. // String returns the string representation
  11583. func (s DeleteHsmClientCertificateOutput) String() string {
  11584. return awsutil.Prettify(s)
  11585. }
  11586. // GoString returns the string representation
  11587. func (s DeleteHsmClientCertificateOutput) GoString() string {
  11588. return s.String()
  11589. }
  11590. type DeleteHsmConfigurationInput struct {
  11591. _ struct{} `type:"structure"`
  11592. // The identifier of the Amazon Redshift HSM configuration to be deleted.
  11593. //
  11594. // HsmConfigurationIdentifier is a required field
  11595. HsmConfigurationIdentifier *string `type:"string" required:"true"`
  11596. }
  11597. // String returns the string representation
  11598. func (s DeleteHsmConfigurationInput) String() string {
  11599. return awsutil.Prettify(s)
  11600. }
  11601. // GoString returns the string representation
  11602. func (s DeleteHsmConfigurationInput) GoString() string {
  11603. return s.String()
  11604. }
  11605. // Validate inspects the fields of the type to determine if they are valid.
  11606. func (s *DeleteHsmConfigurationInput) Validate() error {
  11607. invalidParams := request.ErrInvalidParams{Context: "DeleteHsmConfigurationInput"}
  11608. if s.HsmConfigurationIdentifier == nil {
  11609. invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier"))
  11610. }
  11611. if invalidParams.Len() > 0 {
  11612. return invalidParams
  11613. }
  11614. return nil
  11615. }
  11616. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  11617. func (s *DeleteHsmConfigurationInput) SetHsmConfigurationIdentifier(v string) *DeleteHsmConfigurationInput {
  11618. s.HsmConfigurationIdentifier = &v
  11619. return s
  11620. }
  11621. type DeleteHsmConfigurationOutput struct {
  11622. _ struct{} `type:"structure"`
  11623. }
  11624. // String returns the string representation
  11625. func (s DeleteHsmConfigurationOutput) String() string {
  11626. return awsutil.Prettify(s)
  11627. }
  11628. // GoString returns the string representation
  11629. func (s DeleteHsmConfigurationOutput) GoString() string {
  11630. return s.String()
  11631. }
  11632. // The result of the DeleteSnapshotCopyGrant action.
  11633. type DeleteSnapshotCopyGrantInput struct {
  11634. _ struct{} `type:"structure"`
  11635. // The name of the snapshot copy grant to delete.
  11636. //
  11637. // SnapshotCopyGrantName is a required field
  11638. SnapshotCopyGrantName *string `type:"string" required:"true"`
  11639. }
  11640. // String returns the string representation
  11641. func (s DeleteSnapshotCopyGrantInput) String() string {
  11642. return awsutil.Prettify(s)
  11643. }
  11644. // GoString returns the string representation
  11645. func (s DeleteSnapshotCopyGrantInput) GoString() string {
  11646. return s.String()
  11647. }
  11648. // Validate inspects the fields of the type to determine if they are valid.
  11649. func (s *DeleteSnapshotCopyGrantInput) Validate() error {
  11650. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotCopyGrantInput"}
  11651. if s.SnapshotCopyGrantName == nil {
  11652. invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName"))
  11653. }
  11654. if invalidParams.Len() > 0 {
  11655. return invalidParams
  11656. }
  11657. return nil
  11658. }
  11659. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  11660. func (s *DeleteSnapshotCopyGrantInput) SetSnapshotCopyGrantName(v string) *DeleteSnapshotCopyGrantInput {
  11661. s.SnapshotCopyGrantName = &v
  11662. return s
  11663. }
  11664. type DeleteSnapshotCopyGrantOutput struct {
  11665. _ struct{} `type:"structure"`
  11666. }
  11667. // String returns the string representation
  11668. func (s DeleteSnapshotCopyGrantOutput) String() string {
  11669. return awsutil.Prettify(s)
  11670. }
  11671. // GoString returns the string representation
  11672. func (s DeleteSnapshotCopyGrantOutput) GoString() string {
  11673. return s.String()
  11674. }
  11675. type DeleteSnapshotScheduleInput struct {
  11676. _ struct{} `type:"structure"`
  11677. // A unique identifier of the snapshot schedule to delete.
  11678. //
  11679. // ScheduleIdentifier is a required field
  11680. ScheduleIdentifier *string `type:"string" required:"true"`
  11681. }
  11682. // String returns the string representation
  11683. func (s DeleteSnapshotScheduleInput) String() string {
  11684. return awsutil.Prettify(s)
  11685. }
  11686. // GoString returns the string representation
  11687. func (s DeleteSnapshotScheduleInput) GoString() string {
  11688. return s.String()
  11689. }
  11690. // Validate inspects the fields of the type to determine if they are valid.
  11691. func (s *DeleteSnapshotScheduleInput) Validate() error {
  11692. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotScheduleInput"}
  11693. if s.ScheduleIdentifier == nil {
  11694. invalidParams.Add(request.NewErrParamRequired("ScheduleIdentifier"))
  11695. }
  11696. if invalidParams.Len() > 0 {
  11697. return invalidParams
  11698. }
  11699. return nil
  11700. }
  11701. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  11702. func (s *DeleteSnapshotScheduleInput) SetScheduleIdentifier(v string) *DeleteSnapshotScheduleInput {
  11703. s.ScheduleIdentifier = &v
  11704. return s
  11705. }
  11706. type DeleteSnapshotScheduleOutput struct {
  11707. _ struct{} `type:"structure"`
  11708. }
  11709. // String returns the string representation
  11710. func (s DeleteSnapshotScheduleOutput) String() string {
  11711. return awsutil.Prettify(s)
  11712. }
  11713. // GoString returns the string representation
  11714. func (s DeleteSnapshotScheduleOutput) GoString() string {
  11715. return s.String()
  11716. }
  11717. // Contains the output from the DeleteTags action.
  11718. type DeleteTagsInput struct {
  11719. _ struct{} `type:"structure"`
  11720. // The Amazon Resource Name (ARN) from which you want to remove the tag or tags.
  11721. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  11722. //
  11723. // ResourceName is a required field
  11724. ResourceName *string `type:"string" required:"true"`
  11725. // The tag key that you want to delete.
  11726. //
  11727. // TagKeys is a required field
  11728. TagKeys []*string `locationNameList:"TagKey" type:"list" required:"true"`
  11729. }
  11730. // String returns the string representation
  11731. func (s DeleteTagsInput) String() string {
  11732. return awsutil.Prettify(s)
  11733. }
  11734. // GoString returns the string representation
  11735. func (s DeleteTagsInput) GoString() string {
  11736. return s.String()
  11737. }
  11738. // Validate inspects the fields of the type to determine if they are valid.
  11739. func (s *DeleteTagsInput) Validate() error {
  11740. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  11741. if s.ResourceName == nil {
  11742. invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  11743. }
  11744. if s.TagKeys == nil {
  11745. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  11746. }
  11747. if invalidParams.Len() > 0 {
  11748. return invalidParams
  11749. }
  11750. return nil
  11751. }
  11752. // SetResourceName sets the ResourceName field's value.
  11753. func (s *DeleteTagsInput) SetResourceName(v string) *DeleteTagsInput {
  11754. s.ResourceName = &v
  11755. return s
  11756. }
  11757. // SetTagKeys sets the TagKeys field's value.
  11758. func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
  11759. s.TagKeys = v
  11760. return s
  11761. }
  11762. type DeleteTagsOutput struct {
  11763. _ struct{} `type:"structure"`
  11764. }
  11765. // String returns the string representation
  11766. func (s DeleteTagsOutput) String() string {
  11767. return awsutil.Prettify(s)
  11768. }
  11769. // GoString returns the string representation
  11770. func (s DeleteTagsOutput) GoString() string {
  11771. return s.String()
  11772. }
  11773. type DescribeAccountAttributesInput struct {
  11774. _ struct{} `type:"structure"`
  11775. // A list of attribute names.
  11776. AttributeNames []*string `locationNameList:"AttributeName" type:"list"`
  11777. }
  11778. // String returns the string representation
  11779. func (s DescribeAccountAttributesInput) String() string {
  11780. return awsutil.Prettify(s)
  11781. }
  11782. // GoString returns the string representation
  11783. func (s DescribeAccountAttributesInput) GoString() string {
  11784. return s.String()
  11785. }
  11786. // SetAttributeNames sets the AttributeNames field's value.
  11787. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  11788. s.AttributeNames = v
  11789. return s
  11790. }
  11791. type DescribeAccountAttributesOutput struct {
  11792. _ struct{} `type:"structure"`
  11793. // A list of attributes assigned to an account.
  11794. AccountAttributes []*AccountAttribute `locationNameList:"AccountAttribute" type:"list"`
  11795. }
  11796. // String returns the string representation
  11797. func (s DescribeAccountAttributesOutput) String() string {
  11798. return awsutil.Prettify(s)
  11799. }
  11800. // GoString returns the string representation
  11801. func (s DescribeAccountAttributesOutput) GoString() string {
  11802. return s.String()
  11803. }
  11804. // SetAccountAttributes sets the AccountAttributes field's value.
  11805. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  11806. s.AccountAttributes = v
  11807. return s
  11808. }
  11809. type DescribeClusterDbRevisionsInput struct {
  11810. _ struct{} `type:"structure"`
  11811. // A unique identifier for a cluster whose ClusterDbRevisions you are requesting.
  11812. // This parameter is case sensitive. All clusters defined for an account are
  11813. // returned by default.
  11814. ClusterIdentifier *string `type:"string"`
  11815. // An optional parameter that specifies the starting point for returning a set
  11816. // of response records. When the results of a DescribeClusterDbRevisions request
  11817. // exceed the value specified in MaxRecords, Amazon Redshift returns a value
  11818. // in the marker field of the response. You can retrieve the next set of response
  11819. // records by providing the returned marker value in the marker parameter and
  11820. // retrying the request.
  11821. //
  11822. // Constraints: You can specify either the ClusterIdentifier parameter, or the
  11823. // marker parameter, but not both.
  11824. Marker *string `type:"string"`
  11825. // The maximum number of response records to return in each call. If the number
  11826. // of remaining response records exceeds the specified MaxRecords value, a value
  11827. // is returned in the marker field of the response. You can retrieve the next
  11828. // set of response records by providing the returned marker value in the marker
  11829. // parameter and retrying the request.
  11830. //
  11831. // Default: 100
  11832. //
  11833. // Constraints: minimum 20, maximum 100.
  11834. MaxRecords *int64 `type:"integer"`
  11835. }
  11836. // String returns the string representation
  11837. func (s DescribeClusterDbRevisionsInput) String() string {
  11838. return awsutil.Prettify(s)
  11839. }
  11840. // GoString returns the string representation
  11841. func (s DescribeClusterDbRevisionsInput) GoString() string {
  11842. return s.String()
  11843. }
  11844. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  11845. func (s *DescribeClusterDbRevisionsInput) SetClusterIdentifier(v string) *DescribeClusterDbRevisionsInput {
  11846. s.ClusterIdentifier = &v
  11847. return s
  11848. }
  11849. // SetMarker sets the Marker field's value.
  11850. func (s *DescribeClusterDbRevisionsInput) SetMarker(v string) *DescribeClusterDbRevisionsInput {
  11851. s.Marker = &v
  11852. return s
  11853. }
  11854. // SetMaxRecords sets the MaxRecords field's value.
  11855. func (s *DescribeClusterDbRevisionsInput) SetMaxRecords(v int64) *DescribeClusterDbRevisionsInput {
  11856. s.MaxRecords = &v
  11857. return s
  11858. }
  11859. type DescribeClusterDbRevisionsOutput struct {
  11860. _ struct{} `type:"structure"`
  11861. // A list of revisions.
  11862. ClusterDbRevisions []*ClusterDbRevision `locationNameList:"ClusterDbRevision" type:"list"`
  11863. // A string representing the starting point for the next set of revisions. If
  11864. // a value is returned in a response, you can retrieve the next set of revisions
  11865. // by providing the value in the marker parameter and retrying the command.
  11866. // If the marker field is empty, all revisions have already been returned.
  11867. Marker *string `type:"string"`
  11868. }
  11869. // String returns the string representation
  11870. func (s DescribeClusterDbRevisionsOutput) String() string {
  11871. return awsutil.Prettify(s)
  11872. }
  11873. // GoString returns the string representation
  11874. func (s DescribeClusterDbRevisionsOutput) GoString() string {
  11875. return s.String()
  11876. }
  11877. // SetClusterDbRevisions sets the ClusterDbRevisions field's value.
  11878. func (s *DescribeClusterDbRevisionsOutput) SetClusterDbRevisions(v []*ClusterDbRevision) *DescribeClusterDbRevisionsOutput {
  11879. s.ClusterDbRevisions = v
  11880. return s
  11881. }
  11882. // SetMarker sets the Marker field's value.
  11883. func (s *DescribeClusterDbRevisionsOutput) SetMarker(v string) *DescribeClusterDbRevisionsOutput {
  11884. s.Marker = &v
  11885. return s
  11886. }
  11887. type DescribeClusterParameterGroupsInput struct {
  11888. _ struct{} `type:"structure"`
  11889. // An optional parameter that specifies the starting point to return a set of
  11890. // response records. When the results of a DescribeClusterParameterGroups request
  11891. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  11892. // field of the response. You can retrieve the next set of response records
  11893. // by providing the returned marker value in the Marker parameter and retrying
  11894. // the request.
  11895. Marker *string `type:"string"`
  11896. // The maximum number of response records to return in each call. If the number
  11897. // of remaining response records exceeds the specified MaxRecords value, a value
  11898. // is returned in a marker field of the response. You can retrieve the next
  11899. // set of records by retrying the command with the returned marker value.
  11900. //
  11901. // Default: 100
  11902. //
  11903. // Constraints: minimum 20, maximum 100.
  11904. MaxRecords *int64 `type:"integer"`
  11905. // The name of a specific parameter group for which to return details. By default,
  11906. // details about all parameter groups and the default parameter group are returned.
  11907. ParameterGroupName *string `type:"string"`
  11908. // A tag key or keys for which you want to return all matching cluster parameter
  11909. // groups that are associated with the specified key or keys. For example, suppose
  11910. // that you have parameter groups that are tagged with keys called owner and
  11911. // environment. If you specify both of these tag keys in the request, Amazon
  11912. // Redshift returns a response with the parameter groups that have either or
  11913. // both of these tag keys associated with them.
  11914. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  11915. // A tag value or values for which you want to return all matching cluster parameter
  11916. // groups that are associated with the specified tag value or values. For example,
  11917. // suppose that you have parameter groups that are tagged with values called
  11918. // admin and test. If you specify both of these tag values in the request, Amazon
  11919. // Redshift returns a response with the parameter groups that have either or
  11920. // both of these tag values associated with them.
  11921. TagValues []*string `locationNameList:"TagValue" type:"list"`
  11922. }
  11923. // String returns the string representation
  11924. func (s DescribeClusterParameterGroupsInput) String() string {
  11925. return awsutil.Prettify(s)
  11926. }
  11927. // GoString returns the string representation
  11928. func (s DescribeClusterParameterGroupsInput) GoString() string {
  11929. return s.String()
  11930. }
  11931. // SetMarker sets the Marker field's value.
  11932. func (s *DescribeClusterParameterGroupsInput) SetMarker(v string) *DescribeClusterParameterGroupsInput {
  11933. s.Marker = &v
  11934. return s
  11935. }
  11936. // SetMaxRecords sets the MaxRecords field's value.
  11937. func (s *DescribeClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeClusterParameterGroupsInput {
  11938. s.MaxRecords = &v
  11939. return s
  11940. }
  11941. // SetParameterGroupName sets the ParameterGroupName field's value.
  11942. func (s *DescribeClusterParameterGroupsInput) SetParameterGroupName(v string) *DescribeClusterParameterGroupsInput {
  11943. s.ParameterGroupName = &v
  11944. return s
  11945. }
  11946. // SetTagKeys sets the TagKeys field's value.
  11947. func (s *DescribeClusterParameterGroupsInput) SetTagKeys(v []*string) *DescribeClusterParameterGroupsInput {
  11948. s.TagKeys = v
  11949. return s
  11950. }
  11951. // SetTagValues sets the TagValues field's value.
  11952. func (s *DescribeClusterParameterGroupsInput) SetTagValues(v []*string) *DescribeClusterParameterGroupsInput {
  11953. s.TagValues = v
  11954. return s
  11955. }
  11956. // Contains the output from the DescribeClusterParameterGroups action.
  11957. type DescribeClusterParameterGroupsOutput struct {
  11958. _ struct{} `type:"structure"`
  11959. // A value that indicates the starting point for the next set of response records
  11960. // in a subsequent request. If a value is returned in a response, you can retrieve
  11961. // the next set of records by providing this returned marker value in the Marker
  11962. // parameter and retrying the command. If the Marker field is empty, all response
  11963. // records have been retrieved for the request.
  11964. Marker *string `type:"string"`
  11965. // A list of ClusterParameterGroup instances. Each instance describes one cluster
  11966. // parameter group.
  11967. ParameterGroups []*ClusterParameterGroup `locationNameList:"ClusterParameterGroup" type:"list"`
  11968. }
  11969. // String returns the string representation
  11970. func (s DescribeClusterParameterGroupsOutput) String() string {
  11971. return awsutil.Prettify(s)
  11972. }
  11973. // GoString returns the string representation
  11974. func (s DescribeClusterParameterGroupsOutput) GoString() string {
  11975. return s.String()
  11976. }
  11977. // SetMarker sets the Marker field's value.
  11978. func (s *DescribeClusterParameterGroupsOutput) SetMarker(v string) *DescribeClusterParameterGroupsOutput {
  11979. s.Marker = &v
  11980. return s
  11981. }
  11982. // SetParameterGroups sets the ParameterGroups field's value.
  11983. func (s *DescribeClusterParameterGroupsOutput) SetParameterGroups(v []*ClusterParameterGroup) *DescribeClusterParameterGroupsOutput {
  11984. s.ParameterGroups = v
  11985. return s
  11986. }
  11987. type DescribeClusterParametersInput struct {
  11988. _ struct{} `type:"structure"`
  11989. // An optional parameter that specifies the starting point to return a set of
  11990. // response records. When the results of a DescribeClusterParameters request
  11991. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  11992. // field of the response. You can retrieve the next set of response records
  11993. // by providing the returned marker value in the Marker parameter and retrying
  11994. // the request.
  11995. Marker *string `type:"string"`
  11996. // The maximum number of response records to return in each call. If the number
  11997. // of remaining response records exceeds the specified MaxRecords value, a value
  11998. // is returned in a marker field of the response. You can retrieve the next
  11999. // set of records by retrying the command with the returned marker value.
  12000. //
  12001. // Default: 100
  12002. //
  12003. // Constraints: minimum 20, maximum 100.
  12004. MaxRecords *int64 `type:"integer"`
  12005. // The name of a cluster parameter group for which to return details.
  12006. //
  12007. // ParameterGroupName is a required field
  12008. ParameterGroupName *string `type:"string" required:"true"`
  12009. // The parameter types to return. Specify user to show parameters that are different
  12010. // form the default. Similarly, specify engine-default to show parameters that
  12011. // are the same as the default parameter group.
  12012. //
  12013. // Default: All parameter types returned.
  12014. //
  12015. // Valid Values: user | engine-default
  12016. Source *string `type:"string"`
  12017. }
  12018. // String returns the string representation
  12019. func (s DescribeClusterParametersInput) String() string {
  12020. return awsutil.Prettify(s)
  12021. }
  12022. // GoString returns the string representation
  12023. func (s DescribeClusterParametersInput) GoString() string {
  12024. return s.String()
  12025. }
  12026. // Validate inspects the fields of the type to determine if they are valid.
  12027. func (s *DescribeClusterParametersInput) Validate() error {
  12028. invalidParams := request.ErrInvalidParams{Context: "DescribeClusterParametersInput"}
  12029. if s.ParameterGroupName == nil {
  12030. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  12031. }
  12032. if invalidParams.Len() > 0 {
  12033. return invalidParams
  12034. }
  12035. return nil
  12036. }
  12037. // SetMarker sets the Marker field's value.
  12038. func (s *DescribeClusterParametersInput) SetMarker(v string) *DescribeClusterParametersInput {
  12039. s.Marker = &v
  12040. return s
  12041. }
  12042. // SetMaxRecords sets the MaxRecords field's value.
  12043. func (s *DescribeClusterParametersInput) SetMaxRecords(v int64) *DescribeClusterParametersInput {
  12044. s.MaxRecords = &v
  12045. return s
  12046. }
  12047. // SetParameterGroupName sets the ParameterGroupName field's value.
  12048. func (s *DescribeClusterParametersInput) SetParameterGroupName(v string) *DescribeClusterParametersInput {
  12049. s.ParameterGroupName = &v
  12050. return s
  12051. }
  12052. // SetSource sets the Source field's value.
  12053. func (s *DescribeClusterParametersInput) SetSource(v string) *DescribeClusterParametersInput {
  12054. s.Source = &v
  12055. return s
  12056. }
  12057. // Contains the output from the DescribeClusterParameters action.
  12058. type DescribeClusterParametersOutput struct {
  12059. _ struct{} `type:"structure"`
  12060. // A value that indicates the starting point for the next set of response records
  12061. // in a subsequent request. If a value is returned in a response, you can retrieve
  12062. // the next set of records by providing this returned marker value in the Marker
  12063. // parameter and retrying the command. If the Marker field is empty, all response
  12064. // records have been retrieved for the request.
  12065. Marker *string `type:"string"`
  12066. // A list of Parameter instances. Each instance lists the parameters of one
  12067. // cluster parameter group.
  12068. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  12069. }
  12070. // String returns the string representation
  12071. func (s DescribeClusterParametersOutput) String() string {
  12072. return awsutil.Prettify(s)
  12073. }
  12074. // GoString returns the string representation
  12075. func (s DescribeClusterParametersOutput) GoString() string {
  12076. return s.String()
  12077. }
  12078. // SetMarker sets the Marker field's value.
  12079. func (s *DescribeClusterParametersOutput) SetMarker(v string) *DescribeClusterParametersOutput {
  12080. s.Marker = &v
  12081. return s
  12082. }
  12083. // SetParameters sets the Parameters field's value.
  12084. func (s *DescribeClusterParametersOutput) SetParameters(v []*Parameter) *DescribeClusterParametersOutput {
  12085. s.Parameters = v
  12086. return s
  12087. }
  12088. type DescribeClusterSecurityGroupsInput struct {
  12089. _ struct{} `type:"structure"`
  12090. // The name of a cluster security group for which you are requesting details.
  12091. // You can specify either the Marker parameter or a ClusterSecurityGroupName
  12092. // parameter, but not both.
  12093. //
  12094. // Example: securitygroup1
  12095. ClusterSecurityGroupName *string `type:"string"`
  12096. // An optional parameter that specifies the starting point to return a set of
  12097. // response records. When the results of a DescribeClusterSecurityGroups request
  12098. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  12099. // field of the response. You can retrieve the next set of response records
  12100. // by providing the returned marker value in the Marker parameter and retrying
  12101. // the request.
  12102. //
  12103. // Constraints: You can specify either the ClusterSecurityGroupName parameter
  12104. // or the Marker parameter, but not both.
  12105. Marker *string `type:"string"`
  12106. // The maximum number of response records to return in each call. If the number
  12107. // of remaining response records exceeds the specified MaxRecords value, a value
  12108. // is returned in a marker field of the response. You can retrieve the next
  12109. // set of records by retrying the command with the returned marker value.
  12110. //
  12111. // Default: 100
  12112. //
  12113. // Constraints: minimum 20, maximum 100.
  12114. MaxRecords *int64 `type:"integer"`
  12115. // A tag key or keys for which you want to return all matching cluster security
  12116. // groups that are associated with the specified key or keys. For example, suppose
  12117. // that you have security groups that are tagged with keys called owner and
  12118. // environment. If you specify both of these tag keys in the request, Amazon
  12119. // Redshift returns a response with the security groups that have either or
  12120. // both of these tag keys associated with them.
  12121. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  12122. // A tag value or values for which you want to return all matching cluster security
  12123. // groups that are associated with the specified tag value or values. For example,
  12124. // suppose that you have security groups that are tagged with values called
  12125. // admin and test. If you specify both of these tag values in the request, Amazon
  12126. // Redshift returns a response with the security groups that have either or
  12127. // both of these tag values associated with them.
  12128. TagValues []*string `locationNameList:"TagValue" type:"list"`
  12129. }
  12130. // String returns the string representation
  12131. func (s DescribeClusterSecurityGroupsInput) String() string {
  12132. return awsutil.Prettify(s)
  12133. }
  12134. // GoString returns the string representation
  12135. func (s DescribeClusterSecurityGroupsInput) GoString() string {
  12136. return s.String()
  12137. }
  12138. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  12139. func (s *DescribeClusterSecurityGroupsInput) SetClusterSecurityGroupName(v string) *DescribeClusterSecurityGroupsInput {
  12140. s.ClusterSecurityGroupName = &v
  12141. return s
  12142. }
  12143. // SetMarker sets the Marker field's value.
  12144. func (s *DescribeClusterSecurityGroupsInput) SetMarker(v string) *DescribeClusterSecurityGroupsInput {
  12145. s.Marker = &v
  12146. return s
  12147. }
  12148. // SetMaxRecords sets the MaxRecords field's value.
  12149. func (s *DescribeClusterSecurityGroupsInput) SetMaxRecords(v int64) *DescribeClusterSecurityGroupsInput {
  12150. s.MaxRecords = &v
  12151. return s
  12152. }
  12153. // SetTagKeys sets the TagKeys field's value.
  12154. func (s *DescribeClusterSecurityGroupsInput) SetTagKeys(v []*string) *DescribeClusterSecurityGroupsInput {
  12155. s.TagKeys = v
  12156. return s
  12157. }
  12158. // SetTagValues sets the TagValues field's value.
  12159. func (s *DescribeClusterSecurityGroupsInput) SetTagValues(v []*string) *DescribeClusterSecurityGroupsInput {
  12160. s.TagValues = v
  12161. return s
  12162. }
  12163. type DescribeClusterSecurityGroupsOutput struct {
  12164. _ struct{} `type:"structure"`
  12165. // A list of ClusterSecurityGroup instances.
  12166. ClusterSecurityGroups []*ClusterSecurityGroup `locationNameList:"ClusterSecurityGroup" type:"list"`
  12167. // A value that indicates the starting point for the next set of response records
  12168. // in a subsequent request. If a value is returned in a response, you can retrieve
  12169. // the next set of records by providing this returned marker value in the Marker
  12170. // parameter and retrying the command. If the Marker field is empty, all response
  12171. // records have been retrieved for the request.
  12172. Marker *string `type:"string"`
  12173. }
  12174. // String returns the string representation
  12175. func (s DescribeClusterSecurityGroupsOutput) String() string {
  12176. return awsutil.Prettify(s)
  12177. }
  12178. // GoString returns the string representation
  12179. func (s DescribeClusterSecurityGroupsOutput) GoString() string {
  12180. return s.String()
  12181. }
  12182. // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
  12183. func (s *DescribeClusterSecurityGroupsOutput) SetClusterSecurityGroups(v []*ClusterSecurityGroup) *DescribeClusterSecurityGroupsOutput {
  12184. s.ClusterSecurityGroups = v
  12185. return s
  12186. }
  12187. // SetMarker sets the Marker field's value.
  12188. func (s *DescribeClusterSecurityGroupsOutput) SetMarker(v string) *DescribeClusterSecurityGroupsOutput {
  12189. s.Marker = &v
  12190. return s
  12191. }
  12192. type DescribeClusterSnapshotsInput struct {
  12193. _ struct{} `type:"structure"`
  12194. // A value that indicates whether to return snapshots only for an existing cluster.
  12195. // Table-level restore can be performed only using a snapshot of an existing
  12196. // cluster, that is, a cluster that has not been deleted. If ClusterExists is
  12197. // set to true, ClusterIdentifier is required.
  12198. ClusterExists *bool `type:"boolean"`
  12199. // The identifier of the cluster for which information about snapshots is requested.
  12200. ClusterIdentifier *string `type:"string"`
  12201. // A time value that requests only snapshots created at or before the specified
  12202. // time. The time value is specified in ISO 8601 format. For more information
  12203. // about ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601)
  12204. //
  12205. // Example: 2012-07-16T18:00:00Z
  12206. EndTime *time.Time `type:"timestamp"`
  12207. // An optional parameter that specifies the starting point to return a set of
  12208. // response records. When the results of a DescribeClusterSnapshots request
  12209. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  12210. // field of the response. You can retrieve the next set of response records
  12211. // by providing the returned marker value in the Marker parameter and retrying
  12212. // the request.
  12213. Marker *string `type:"string"`
  12214. // The maximum number of response records to return in each call. If the number
  12215. // of remaining response records exceeds the specified MaxRecords value, a value
  12216. // is returned in a marker field of the response. You can retrieve the next
  12217. // set of records by retrying the command with the returned marker value.
  12218. //
  12219. // Default: 100
  12220. //
  12221. // Constraints: minimum 20, maximum 100.
  12222. MaxRecords *int64 `type:"integer"`
  12223. // The AWS customer account used to create or copy the snapshot. Use this field
  12224. // to filter the results to snapshots owned by a particular account. To describe
  12225. // snapshots you own, either specify your AWS customer account, or do not specify
  12226. // the parameter.
  12227. OwnerAccount *string `type:"string"`
  12228. // The snapshot identifier of the snapshot about which to return information.
  12229. SnapshotIdentifier *string `type:"string"`
  12230. // The type of snapshots for which you are requesting information. By default,
  12231. // snapshots of all types are returned.
  12232. //
  12233. // Valid Values: automated | manual
  12234. SnapshotType *string `type:"string"`
  12235. SortingEntities []*SnapshotSortingEntity `locationNameList:"SnapshotSortingEntity" type:"list"`
  12236. // A value that requests only snapshots created at or after the specified time.
  12237. // The time value is specified in ISO 8601 format. For more information about
  12238. // ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601)
  12239. //
  12240. // Example: 2012-07-16T18:00:00Z
  12241. StartTime *time.Time `type:"timestamp"`
  12242. // A tag key or keys for which you want to return all matching cluster snapshots
  12243. // that are associated with the specified key or keys. For example, suppose
  12244. // that you have snapshots that are tagged with keys called owner and environment.
  12245. // If you specify both of these tag keys in the request, Amazon Redshift returns
  12246. // a response with the snapshots that have either or both of these tag keys
  12247. // associated with them.
  12248. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  12249. // A tag value or values for which you want to return all matching cluster snapshots
  12250. // that are associated with the specified tag value or values. For example,
  12251. // suppose that you have snapshots that are tagged with values called admin
  12252. // and test. If you specify both of these tag values in the request, Amazon
  12253. // Redshift returns a response with the snapshots that have either or both of
  12254. // these tag values associated with them.
  12255. TagValues []*string `locationNameList:"TagValue" type:"list"`
  12256. }
  12257. // String returns the string representation
  12258. func (s DescribeClusterSnapshotsInput) String() string {
  12259. return awsutil.Prettify(s)
  12260. }
  12261. // GoString returns the string representation
  12262. func (s DescribeClusterSnapshotsInput) GoString() string {
  12263. return s.String()
  12264. }
  12265. // Validate inspects the fields of the type to determine if they are valid.
  12266. func (s *DescribeClusterSnapshotsInput) Validate() error {
  12267. invalidParams := request.ErrInvalidParams{Context: "DescribeClusterSnapshotsInput"}
  12268. if s.SortingEntities != nil {
  12269. for i, v := range s.SortingEntities {
  12270. if v == nil {
  12271. continue
  12272. }
  12273. if err := v.Validate(); err != nil {
  12274. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortingEntities", i), err.(request.ErrInvalidParams))
  12275. }
  12276. }
  12277. }
  12278. if invalidParams.Len() > 0 {
  12279. return invalidParams
  12280. }
  12281. return nil
  12282. }
  12283. // SetClusterExists sets the ClusterExists field's value.
  12284. func (s *DescribeClusterSnapshotsInput) SetClusterExists(v bool) *DescribeClusterSnapshotsInput {
  12285. s.ClusterExists = &v
  12286. return s
  12287. }
  12288. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  12289. func (s *DescribeClusterSnapshotsInput) SetClusterIdentifier(v string) *DescribeClusterSnapshotsInput {
  12290. s.ClusterIdentifier = &v
  12291. return s
  12292. }
  12293. // SetEndTime sets the EndTime field's value.
  12294. func (s *DescribeClusterSnapshotsInput) SetEndTime(v time.Time) *DescribeClusterSnapshotsInput {
  12295. s.EndTime = &v
  12296. return s
  12297. }
  12298. // SetMarker sets the Marker field's value.
  12299. func (s *DescribeClusterSnapshotsInput) SetMarker(v string) *DescribeClusterSnapshotsInput {
  12300. s.Marker = &v
  12301. return s
  12302. }
  12303. // SetMaxRecords sets the MaxRecords field's value.
  12304. func (s *DescribeClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeClusterSnapshotsInput {
  12305. s.MaxRecords = &v
  12306. return s
  12307. }
  12308. // SetOwnerAccount sets the OwnerAccount field's value.
  12309. func (s *DescribeClusterSnapshotsInput) SetOwnerAccount(v string) *DescribeClusterSnapshotsInput {
  12310. s.OwnerAccount = &v
  12311. return s
  12312. }
  12313. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  12314. func (s *DescribeClusterSnapshotsInput) SetSnapshotIdentifier(v string) *DescribeClusterSnapshotsInput {
  12315. s.SnapshotIdentifier = &v
  12316. return s
  12317. }
  12318. // SetSnapshotType sets the SnapshotType field's value.
  12319. func (s *DescribeClusterSnapshotsInput) SetSnapshotType(v string) *DescribeClusterSnapshotsInput {
  12320. s.SnapshotType = &v
  12321. return s
  12322. }
  12323. // SetSortingEntities sets the SortingEntities field's value.
  12324. func (s *DescribeClusterSnapshotsInput) SetSortingEntities(v []*SnapshotSortingEntity) *DescribeClusterSnapshotsInput {
  12325. s.SortingEntities = v
  12326. return s
  12327. }
  12328. // SetStartTime sets the StartTime field's value.
  12329. func (s *DescribeClusterSnapshotsInput) SetStartTime(v time.Time) *DescribeClusterSnapshotsInput {
  12330. s.StartTime = &v
  12331. return s
  12332. }
  12333. // SetTagKeys sets the TagKeys field's value.
  12334. func (s *DescribeClusterSnapshotsInput) SetTagKeys(v []*string) *DescribeClusterSnapshotsInput {
  12335. s.TagKeys = v
  12336. return s
  12337. }
  12338. // SetTagValues sets the TagValues field's value.
  12339. func (s *DescribeClusterSnapshotsInput) SetTagValues(v []*string) *DescribeClusterSnapshotsInput {
  12340. s.TagValues = v
  12341. return s
  12342. }
  12343. // Contains the output from the DescribeClusterSnapshots action.
  12344. type DescribeClusterSnapshotsOutput struct {
  12345. _ struct{} `type:"structure"`
  12346. // A value that indicates the starting point for the next set of response records
  12347. // in a subsequent request. If a value is returned in a response, you can retrieve
  12348. // the next set of records by providing this returned marker value in the Marker
  12349. // parameter and retrying the command. If the Marker field is empty, all response
  12350. // records have been retrieved for the request.
  12351. Marker *string `type:"string"`
  12352. // A list of Snapshot instances.
  12353. Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"`
  12354. }
  12355. // String returns the string representation
  12356. func (s DescribeClusterSnapshotsOutput) String() string {
  12357. return awsutil.Prettify(s)
  12358. }
  12359. // GoString returns the string representation
  12360. func (s DescribeClusterSnapshotsOutput) GoString() string {
  12361. return s.String()
  12362. }
  12363. // SetMarker sets the Marker field's value.
  12364. func (s *DescribeClusterSnapshotsOutput) SetMarker(v string) *DescribeClusterSnapshotsOutput {
  12365. s.Marker = &v
  12366. return s
  12367. }
  12368. // SetSnapshots sets the Snapshots field's value.
  12369. func (s *DescribeClusterSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeClusterSnapshotsOutput {
  12370. s.Snapshots = v
  12371. return s
  12372. }
  12373. type DescribeClusterSubnetGroupsInput struct {
  12374. _ struct{} `type:"structure"`
  12375. // The name of the cluster subnet group for which information is requested.
  12376. ClusterSubnetGroupName *string `type:"string"`
  12377. // An optional parameter that specifies the starting point to return a set of
  12378. // response records. When the results of a DescribeClusterSubnetGroups request
  12379. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  12380. // field of the response. You can retrieve the next set of response records
  12381. // by providing the returned marker value in the Marker parameter and retrying
  12382. // the request.
  12383. Marker *string `type:"string"`
  12384. // The maximum number of response records to return in each call. If the number
  12385. // of remaining response records exceeds the specified MaxRecords value, a value
  12386. // is returned in a marker field of the response. You can retrieve the next
  12387. // set of records by retrying the command with the returned marker value.
  12388. //
  12389. // Default: 100
  12390. //
  12391. // Constraints: minimum 20, maximum 100.
  12392. MaxRecords *int64 `type:"integer"`
  12393. // A tag key or keys for which you want to return all matching cluster subnet
  12394. // groups that are associated with the specified key or keys. For example, suppose
  12395. // that you have subnet groups that are tagged with keys called owner and environment.
  12396. // If you specify both of these tag keys in the request, Amazon Redshift returns
  12397. // a response with the subnet groups that have either or both of these tag keys
  12398. // associated with them.
  12399. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  12400. // A tag value or values for which you want to return all matching cluster subnet
  12401. // groups that are associated with the specified tag value or values. For example,
  12402. // suppose that you have subnet groups that are tagged with values called admin
  12403. // and test. If you specify both of these tag values in the request, Amazon
  12404. // Redshift returns a response with the subnet groups that have either or both
  12405. // of these tag values associated with them.
  12406. TagValues []*string `locationNameList:"TagValue" type:"list"`
  12407. }
  12408. // String returns the string representation
  12409. func (s DescribeClusterSubnetGroupsInput) String() string {
  12410. return awsutil.Prettify(s)
  12411. }
  12412. // GoString returns the string representation
  12413. func (s DescribeClusterSubnetGroupsInput) GoString() string {
  12414. return s.String()
  12415. }
  12416. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  12417. func (s *DescribeClusterSubnetGroupsInput) SetClusterSubnetGroupName(v string) *DescribeClusterSubnetGroupsInput {
  12418. s.ClusterSubnetGroupName = &v
  12419. return s
  12420. }
  12421. // SetMarker sets the Marker field's value.
  12422. func (s *DescribeClusterSubnetGroupsInput) SetMarker(v string) *DescribeClusterSubnetGroupsInput {
  12423. s.Marker = &v
  12424. return s
  12425. }
  12426. // SetMaxRecords sets the MaxRecords field's value.
  12427. func (s *DescribeClusterSubnetGroupsInput) SetMaxRecords(v int64) *DescribeClusterSubnetGroupsInput {
  12428. s.MaxRecords = &v
  12429. return s
  12430. }
  12431. // SetTagKeys sets the TagKeys field's value.
  12432. func (s *DescribeClusterSubnetGroupsInput) SetTagKeys(v []*string) *DescribeClusterSubnetGroupsInput {
  12433. s.TagKeys = v
  12434. return s
  12435. }
  12436. // SetTagValues sets the TagValues field's value.
  12437. func (s *DescribeClusterSubnetGroupsInput) SetTagValues(v []*string) *DescribeClusterSubnetGroupsInput {
  12438. s.TagValues = v
  12439. return s
  12440. }
  12441. // Contains the output from the DescribeClusterSubnetGroups action.
  12442. type DescribeClusterSubnetGroupsOutput struct {
  12443. _ struct{} `type:"structure"`
  12444. // A list of ClusterSubnetGroup instances.
  12445. ClusterSubnetGroups []*ClusterSubnetGroup `locationNameList:"ClusterSubnetGroup" type:"list"`
  12446. // A value that indicates the starting point for the next set of response records
  12447. // in a subsequent request. If a value is returned in a response, you can retrieve
  12448. // the next set of records by providing this returned marker value in the Marker
  12449. // parameter and retrying the command. If the Marker field is empty, all response
  12450. // records have been retrieved for the request.
  12451. Marker *string `type:"string"`
  12452. }
  12453. // String returns the string representation
  12454. func (s DescribeClusterSubnetGroupsOutput) String() string {
  12455. return awsutil.Prettify(s)
  12456. }
  12457. // GoString returns the string representation
  12458. func (s DescribeClusterSubnetGroupsOutput) GoString() string {
  12459. return s.String()
  12460. }
  12461. // SetClusterSubnetGroups sets the ClusterSubnetGroups field's value.
  12462. func (s *DescribeClusterSubnetGroupsOutput) SetClusterSubnetGroups(v []*ClusterSubnetGroup) *DescribeClusterSubnetGroupsOutput {
  12463. s.ClusterSubnetGroups = v
  12464. return s
  12465. }
  12466. // SetMarker sets the Marker field's value.
  12467. func (s *DescribeClusterSubnetGroupsOutput) SetMarker(v string) *DescribeClusterSubnetGroupsOutput {
  12468. s.Marker = &v
  12469. return s
  12470. }
  12471. type DescribeClusterTracksInput struct {
  12472. _ struct{} `type:"structure"`
  12473. // The name of the maintenance track.
  12474. MaintenanceTrackName *string `type:"string"`
  12475. // An optional parameter that specifies the starting point to return a set of
  12476. // response records. When the results of a DescribeClusterTracks request exceed
  12477. // the value specified in MaxRecords, Amazon Redshift returns a value in the
  12478. // Marker field of the response. You can retrieve the next set of response records
  12479. // by providing the returned marker value in the Marker parameter and retrying
  12480. // the request.
  12481. Marker *string `type:"string"`
  12482. // An integer value for the maximum number of maintenance tracks to return.
  12483. MaxRecords *int64 `type:"integer"`
  12484. }
  12485. // String returns the string representation
  12486. func (s DescribeClusterTracksInput) String() string {
  12487. return awsutil.Prettify(s)
  12488. }
  12489. // GoString returns the string representation
  12490. func (s DescribeClusterTracksInput) GoString() string {
  12491. return s.String()
  12492. }
  12493. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  12494. func (s *DescribeClusterTracksInput) SetMaintenanceTrackName(v string) *DescribeClusterTracksInput {
  12495. s.MaintenanceTrackName = &v
  12496. return s
  12497. }
  12498. // SetMarker sets the Marker field's value.
  12499. func (s *DescribeClusterTracksInput) SetMarker(v string) *DescribeClusterTracksInput {
  12500. s.Marker = &v
  12501. return s
  12502. }
  12503. // SetMaxRecords sets the MaxRecords field's value.
  12504. func (s *DescribeClusterTracksInput) SetMaxRecords(v int64) *DescribeClusterTracksInput {
  12505. s.MaxRecords = &v
  12506. return s
  12507. }
  12508. type DescribeClusterTracksOutput struct {
  12509. _ struct{} `type:"structure"`
  12510. // A list of maintenance tracks output by the DescribeClusterTracks operation.
  12511. MaintenanceTracks []*MaintenanceTrack `locationNameList:"MaintenanceTrack" type:"list"`
  12512. // The starting point to return a set of response tracklist records. You can
  12513. // retrieve the next set of response records by providing the returned marker
  12514. // value in the Marker parameter and retrying the request.
  12515. Marker *string `type:"string"`
  12516. }
  12517. // String returns the string representation
  12518. func (s DescribeClusterTracksOutput) String() string {
  12519. return awsutil.Prettify(s)
  12520. }
  12521. // GoString returns the string representation
  12522. func (s DescribeClusterTracksOutput) GoString() string {
  12523. return s.String()
  12524. }
  12525. // SetMaintenanceTracks sets the MaintenanceTracks field's value.
  12526. func (s *DescribeClusterTracksOutput) SetMaintenanceTracks(v []*MaintenanceTrack) *DescribeClusterTracksOutput {
  12527. s.MaintenanceTracks = v
  12528. return s
  12529. }
  12530. // SetMarker sets the Marker field's value.
  12531. func (s *DescribeClusterTracksOutput) SetMarker(v string) *DescribeClusterTracksOutput {
  12532. s.Marker = &v
  12533. return s
  12534. }
  12535. type DescribeClusterVersionsInput struct {
  12536. _ struct{} `type:"structure"`
  12537. // The name of a specific cluster parameter group family to return details for.
  12538. //
  12539. // Constraints:
  12540. //
  12541. // * Must be 1 to 255 alphanumeric characters
  12542. //
  12543. // * First character must be a letter
  12544. //
  12545. // * Cannot end with a hyphen or contain two consecutive hyphens
  12546. ClusterParameterGroupFamily *string `type:"string"`
  12547. // The specific cluster version to return.
  12548. //
  12549. // Example: 1.0
  12550. ClusterVersion *string `type:"string"`
  12551. // An optional parameter that specifies the starting point to return a set of
  12552. // response records. When the results of a DescribeClusterVersions request exceed
  12553. // the value specified in MaxRecords, AWS returns a value in the Marker field
  12554. // of the response. You can retrieve the next set of response records by providing
  12555. // the returned marker value in the Marker parameter and retrying the request.
  12556. Marker *string `type:"string"`
  12557. // The maximum number of response records to return in each call. If the number
  12558. // of remaining response records exceeds the specified MaxRecords value, a value
  12559. // is returned in a marker field of the response. You can retrieve the next
  12560. // set of records by retrying the command with the returned marker value.
  12561. //
  12562. // Default: 100
  12563. //
  12564. // Constraints: minimum 20, maximum 100.
  12565. MaxRecords *int64 `type:"integer"`
  12566. }
  12567. // String returns the string representation
  12568. func (s DescribeClusterVersionsInput) String() string {
  12569. return awsutil.Prettify(s)
  12570. }
  12571. // GoString returns the string representation
  12572. func (s DescribeClusterVersionsInput) GoString() string {
  12573. return s.String()
  12574. }
  12575. // SetClusterParameterGroupFamily sets the ClusterParameterGroupFamily field's value.
  12576. func (s *DescribeClusterVersionsInput) SetClusterParameterGroupFamily(v string) *DescribeClusterVersionsInput {
  12577. s.ClusterParameterGroupFamily = &v
  12578. return s
  12579. }
  12580. // SetClusterVersion sets the ClusterVersion field's value.
  12581. func (s *DescribeClusterVersionsInput) SetClusterVersion(v string) *DescribeClusterVersionsInput {
  12582. s.ClusterVersion = &v
  12583. return s
  12584. }
  12585. // SetMarker sets the Marker field's value.
  12586. func (s *DescribeClusterVersionsInput) SetMarker(v string) *DescribeClusterVersionsInput {
  12587. s.Marker = &v
  12588. return s
  12589. }
  12590. // SetMaxRecords sets the MaxRecords field's value.
  12591. func (s *DescribeClusterVersionsInput) SetMaxRecords(v int64) *DescribeClusterVersionsInput {
  12592. s.MaxRecords = &v
  12593. return s
  12594. }
  12595. // Contains the output from the DescribeClusterVersions action.
  12596. type DescribeClusterVersionsOutput struct {
  12597. _ struct{} `type:"structure"`
  12598. // A list of Version elements.
  12599. ClusterVersions []*ClusterVersion `locationNameList:"ClusterVersion" type:"list"`
  12600. // A value that indicates the starting point for the next set of response records
  12601. // in a subsequent request. If a value is returned in a response, you can retrieve
  12602. // the next set of records by providing this returned marker value in the Marker
  12603. // parameter and retrying the command. If the Marker field is empty, all response
  12604. // records have been retrieved for the request.
  12605. Marker *string `type:"string"`
  12606. }
  12607. // String returns the string representation
  12608. func (s DescribeClusterVersionsOutput) String() string {
  12609. return awsutil.Prettify(s)
  12610. }
  12611. // GoString returns the string representation
  12612. func (s DescribeClusterVersionsOutput) GoString() string {
  12613. return s.String()
  12614. }
  12615. // SetClusterVersions sets the ClusterVersions field's value.
  12616. func (s *DescribeClusterVersionsOutput) SetClusterVersions(v []*ClusterVersion) *DescribeClusterVersionsOutput {
  12617. s.ClusterVersions = v
  12618. return s
  12619. }
  12620. // SetMarker sets the Marker field's value.
  12621. func (s *DescribeClusterVersionsOutput) SetMarker(v string) *DescribeClusterVersionsOutput {
  12622. s.Marker = &v
  12623. return s
  12624. }
  12625. type DescribeClustersInput struct {
  12626. _ struct{} `type:"structure"`
  12627. // The unique identifier of a cluster whose properties you are requesting. This
  12628. // parameter is case sensitive.
  12629. //
  12630. // The default is that all clusters defined for an account are returned.
  12631. ClusterIdentifier *string `type:"string"`
  12632. // An optional parameter that specifies the starting point to return a set of
  12633. // response records. When the results of a DescribeClusters request exceed the
  12634. // value specified in MaxRecords, AWS returns a value in the Marker field of
  12635. // the response. You can retrieve the next set of response records by providing
  12636. // the returned marker value in the Marker parameter and retrying the request.
  12637. //
  12638. // Constraints: You can specify either the ClusterIdentifier parameter or the
  12639. // Marker parameter, but not both.
  12640. Marker *string `type:"string"`
  12641. // The maximum number of response records to return in each call. If the number
  12642. // of remaining response records exceeds the specified MaxRecords value, a value
  12643. // is returned in a marker field of the response. You can retrieve the next
  12644. // set of records by retrying the command with the returned marker value.
  12645. //
  12646. // Default: 100
  12647. //
  12648. // Constraints: minimum 20, maximum 100.
  12649. MaxRecords *int64 `type:"integer"`
  12650. // A tag key or keys for which you want to return all matching clusters that
  12651. // are associated with the specified key or keys. For example, suppose that
  12652. // you have clusters that are tagged with keys called owner and environment.
  12653. // If you specify both of these tag keys in the request, Amazon Redshift returns
  12654. // a response with the clusters that have either or both of these tag keys associated
  12655. // with them.
  12656. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  12657. // A tag value or values for which you want to return all matching clusters
  12658. // that are associated with the specified tag value or values. For example,
  12659. // suppose that you have clusters that are tagged with values called admin and
  12660. // test. If you specify both of these tag values in the request, Amazon Redshift
  12661. // returns a response with the clusters that have either or both of these tag
  12662. // values associated with them.
  12663. TagValues []*string `locationNameList:"TagValue" type:"list"`
  12664. }
  12665. // String returns the string representation
  12666. func (s DescribeClustersInput) String() string {
  12667. return awsutil.Prettify(s)
  12668. }
  12669. // GoString returns the string representation
  12670. func (s DescribeClustersInput) GoString() string {
  12671. return s.String()
  12672. }
  12673. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  12674. func (s *DescribeClustersInput) SetClusterIdentifier(v string) *DescribeClustersInput {
  12675. s.ClusterIdentifier = &v
  12676. return s
  12677. }
  12678. // SetMarker sets the Marker field's value.
  12679. func (s *DescribeClustersInput) SetMarker(v string) *DescribeClustersInput {
  12680. s.Marker = &v
  12681. return s
  12682. }
  12683. // SetMaxRecords sets the MaxRecords field's value.
  12684. func (s *DescribeClustersInput) SetMaxRecords(v int64) *DescribeClustersInput {
  12685. s.MaxRecords = &v
  12686. return s
  12687. }
  12688. // SetTagKeys sets the TagKeys field's value.
  12689. func (s *DescribeClustersInput) SetTagKeys(v []*string) *DescribeClustersInput {
  12690. s.TagKeys = v
  12691. return s
  12692. }
  12693. // SetTagValues sets the TagValues field's value.
  12694. func (s *DescribeClustersInput) SetTagValues(v []*string) *DescribeClustersInput {
  12695. s.TagValues = v
  12696. return s
  12697. }
  12698. // Contains the output from the DescribeClusters action.
  12699. type DescribeClustersOutput struct {
  12700. _ struct{} `type:"structure"`
  12701. // A list of Cluster objects, where each object describes one cluster.
  12702. Clusters []*Cluster `locationNameList:"Cluster" type:"list"`
  12703. // A value that indicates the starting point for the next set of response records
  12704. // in a subsequent request. If a value is returned in a response, you can retrieve
  12705. // the next set of records by providing this returned marker value in the Marker
  12706. // parameter and retrying the command. If the Marker field is empty, all response
  12707. // records have been retrieved for the request.
  12708. Marker *string `type:"string"`
  12709. }
  12710. // String returns the string representation
  12711. func (s DescribeClustersOutput) String() string {
  12712. return awsutil.Prettify(s)
  12713. }
  12714. // GoString returns the string representation
  12715. func (s DescribeClustersOutput) GoString() string {
  12716. return s.String()
  12717. }
  12718. // SetClusters sets the Clusters field's value.
  12719. func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput {
  12720. s.Clusters = v
  12721. return s
  12722. }
  12723. // SetMarker sets the Marker field's value.
  12724. func (s *DescribeClustersOutput) SetMarker(v string) *DescribeClustersOutput {
  12725. s.Marker = &v
  12726. return s
  12727. }
  12728. type DescribeDefaultClusterParametersInput struct {
  12729. _ struct{} `type:"structure"`
  12730. // An optional parameter that specifies the starting point to return a set of
  12731. // response records. When the results of a DescribeDefaultClusterParameters
  12732. // request exceed the value specified in MaxRecords, AWS returns a value in
  12733. // the Marker field of the response. You can retrieve the next set of response
  12734. // records by providing the returned marker value in the Marker parameter and
  12735. // retrying the request.
  12736. Marker *string `type:"string"`
  12737. // The maximum number of response records to return in each call. If the number
  12738. // of remaining response records exceeds the specified MaxRecords value, a value
  12739. // is returned in a marker field of the response. You can retrieve the next
  12740. // set of records by retrying the command with the returned marker value.
  12741. //
  12742. // Default: 100
  12743. //
  12744. // Constraints: minimum 20, maximum 100.
  12745. MaxRecords *int64 `type:"integer"`
  12746. // The name of the cluster parameter group family.
  12747. //
  12748. // ParameterGroupFamily is a required field
  12749. ParameterGroupFamily *string `type:"string" required:"true"`
  12750. }
  12751. // String returns the string representation
  12752. func (s DescribeDefaultClusterParametersInput) String() string {
  12753. return awsutil.Prettify(s)
  12754. }
  12755. // GoString returns the string representation
  12756. func (s DescribeDefaultClusterParametersInput) GoString() string {
  12757. return s.String()
  12758. }
  12759. // Validate inspects the fields of the type to determine if they are valid.
  12760. func (s *DescribeDefaultClusterParametersInput) Validate() error {
  12761. invalidParams := request.ErrInvalidParams{Context: "DescribeDefaultClusterParametersInput"}
  12762. if s.ParameterGroupFamily == nil {
  12763. invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily"))
  12764. }
  12765. if invalidParams.Len() > 0 {
  12766. return invalidParams
  12767. }
  12768. return nil
  12769. }
  12770. // SetMarker sets the Marker field's value.
  12771. func (s *DescribeDefaultClusterParametersInput) SetMarker(v string) *DescribeDefaultClusterParametersInput {
  12772. s.Marker = &v
  12773. return s
  12774. }
  12775. // SetMaxRecords sets the MaxRecords field's value.
  12776. func (s *DescribeDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeDefaultClusterParametersInput {
  12777. s.MaxRecords = &v
  12778. return s
  12779. }
  12780. // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  12781. func (s *DescribeDefaultClusterParametersInput) SetParameterGroupFamily(v string) *DescribeDefaultClusterParametersInput {
  12782. s.ParameterGroupFamily = &v
  12783. return s
  12784. }
  12785. type DescribeDefaultClusterParametersOutput struct {
  12786. _ struct{} `type:"structure"`
  12787. // Describes the default cluster parameters for a parameter group family.
  12788. DefaultClusterParameters *DefaultClusterParameters `type:"structure"`
  12789. }
  12790. // String returns the string representation
  12791. func (s DescribeDefaultClusterParametersOutput) String() string {
  12792. return awsutil.Prettify(s)
  12793. }
  12794. // GoString returns the string representation
  12795. func (s DescribeDefaultClusterParametersOutput) GoString() string {
  12796. return s.String()
  12797. }
  12798. // SetDefaultClusterParameters sets the DefaultClusterParameters field's value.
  12799. func (s *DescribeDefaultClusterParametersOutput) SetDefaultClusterParameters(v *DefaultClusterParameters) *DescribeDefaultClusterParametersOutput {
  12800. s.DefaultClusterParameters = v
  12801. return s
  12802. }
  12803. type DescribeEventCategoriesInput struct {
  12804. _ struct{} `type:"structure"`
  12805. // The source type, such as cluster or parameter group, to which the described
  12806. // event categories apply.
  12807. //
  12808. // Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group.
  12809. SourceType *string `type:"string"`
  12810. }
  12811. // String returns the string representation
  12812. func (s DescribeEventCategoriesInput) String() string {
  12813. return awsutil.Prettify(s)
  12814. }
  12815. // GoString returns the string representation
  12816. func (s DescribeEventCategoriesInput) GoString() string {
  12817. return s.String()
  12818. }
  12819. // SetSourceType sets the SourceType field's value.
  12820. func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
  12821. s.SourceType = &v
  12822. return s
  12823. }
  12824. type DescribeEventCategoriesOutput struct {
  12825. _ struct{} `type:"structure"`
  12826. // A list of event categories descriptions.
  12827. EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
  12828. }
  12829. // String returns the string representation
  12830. func (s DescribeEventCategoriesOutput) String() string {
  12831. return awsutil.Prettify(s)
  12832. }
  12833. // GoString returns the string representation
  12834. func (s DescribeEventCategoriesOutput) GoString() string {
  12835. return s.String()
  12836. }
  12837. // SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
  12838. func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
  12839. s.EventCategoriesMapList = v
  12840. return s
  12841. }
  12842. type DescribeEventSubscriptionsInput struct {
  12843. _ struct{} `type:"structure"`
  12844. // An optional parameter that specifies the starting point to return a set of
  12845. // response records. When the results of a DescribeEventSubscriptions request
  12846. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  12847. // field of the response. You can retrieve the next set of response records
  12848. // by providing the returned marker value in the Marker parameter and retrying
  12849. // the request.
  12850. Marker *string `type:"string"`
  12851. // The maximum number of response records to return in each call. If the number
  12852. // of remaining response records exceeds the specified MaxRecords value, a value
  12853. // is returned in a marker field of the response. You can retrieve the next
  12854. // set of records by retrying the command with the returned marker value.
  12855. //
  12856. // Default: 100
  12857. //
  12858. // Constraints: minimum 20, maximum 100.
  12859. MaxRecords *int64 `type:"integer"`
  12860. // The name of the Amazon Redshift event notification subscription to be described.
  12861. SubscriptionName *string `type:"string"`
  12862. // A tag key or keys for which you want to return all matching event notification
  12863. // subscriptions that are associated with the specified key or keys. For example,
  12864. // suppose that you have subscriptions that are tagged with keys called owner
  12865. // and environment. If you specify both of these tag keys in the request, Amazon
  12866. // Redshift returns a response with the subscriptions that have either or both
  12867. // of these tag keys associated with them.
  12868. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  12869. // A tag value or values for which you want to return all matching event notification
  12870. // subscriptions that are associated with the specified tag value or values.
  12871. // For example, suppose that you have subscriptions that are tagged with values
  12872. // called admin and test. If you specify both of these tag values in the request,
  12873. // Amazon Redshift returns a response with the subscriptions that have either
  12874. // or both of these tag values associated with them.
  12875. TagValues []*string `locationNameList:"TagValue" type:"list"`
  12876. }
  12877. // String returns the string representation
  12878. func (s DescribeEventSubscriptionsInput) String() string {
  12879. return awsutil.Prettify(s)
  12880. }
  12881. // GoString returns the string representation
  12882. func (s DescribeEventSubscriptionsInput) GoString() string {
  12883. return s.String()
  12884. }
  12885. // SetMarker sets the Marker field's value.
  12886. func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
  12887. s.Marker = &v
  12888. return s
  12889. }
  12890. // SetMaxRecords sets the MaxRecords field's value.
  12891. func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
  12892. s.MaxRecords = &v
  12893. return s
  12894. }
  12895. // SetSubscriptionName sets the SubscriptionName field's value.
  12896. func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
  12897. s.SubscriptionName = &v
  12898. return s
  12899. }
  12900. // SetTagKeys sets the TagKeys field's value.
  12901. func (s *DescribeEventSubscriptionsInput) SetTagKeys(v []*string) *DescribeEventSubscriptionsInput {
  12902. s.TagKeys = v
  12903. return s
  12904. }
  12905. // SetTagValues sets the TagValues field's value.
  12906. func (s *DescribeEventSubscriptionsInput) SetTagValues(v []*string) *DescribeEventSubscriptionsInput {
  12907. s.TagValues = v
  12908. return s
  12909. }
  12910. type DescribeEventSubscriptionsOutput struct {
  12911. _ struct{} `type:"structure"`
  12912. // A list of event subscriptions.
  12913. EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
  12914. // A value that indicates the starting point for the next set of response records
  12915. // in a subsequent request. If a value is returned in a response, you can retrieve
  12916. // the next set of records by providing this returned marker value in the Marker
  12917. // parameter and retrying the command. If the Marker field is empty, all response
  12918. // records have been retrieved for the request.
  12919. Marker *string `type:"string"`
  12920. }
  12921. // String returns the string representation
  12922. func (s DescribeEventSubscriptionsOutput) String() string {
  12923. return awsutil.Prettify(s)
  12924. }
  12925. // GoString returns the string representation
  12926. func (s DescribeEventSubscriptionsOutput) GoString() string {
  12927. return s.String()
  12928. }
  12929. // SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
  12930. func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
  12931. s.EventSubscriptionsList = v
  12932. return s
  12933. }
  12934. // SetMarker sets the Marker field's value.
  12935. func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
  12936. s.Marker = &v
  12937. return s
  12938. }
  12939. type DescribeEventsInput struct {
  12940. _ struct{} `type:"structure"`
  12941. // The number of minutes prior to the time of the request for which to retrieve
  12942. // events. For example, if the request is sent at 18:00 and you specify a duration
  12943. // of 60, then only events which have occurred after 17:00 will be returned.
  12944. //
  12945. // Default: 60
  12946. Duration *int64 `type:"integer"`
  12947. // The end of the time interval for which to retrieve events, specified in ISO
  12948. // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
  12949. // page. (http://en.wikipedia.org/wiki/ISO_8601)
  12950. //
  12951. // Example: 2009-07-08T18:00Z
  12952. EndTime *time.Time `type:"timestamp"`
  12953. // An optional parameter that specifies the starting point to return a set of
  12954. // response records. When the results of a DescribeEvents request exceed the
  12955. // value specified in MaxRecords, AWS returns a value in the Marker field of
  12956. // the response. You can retrieve the next set of response records by providing
  12957. // the returned marker value in the Marker parameter and retrying the request.
  12958. Marker *string `type:"string"`
  12959. // The maximum number of response records to return in each call. If the number
  12960. // of remaining response records exceeds the specified MaxRecords value, a value
  12961. // is returned in a marker field of the response. You can retrieve the next
  12962. // set of records by retrying the command with the returned marker value.
  12963. //
  12964. // Default: 100
  12965. //
  12966. // Constraints: minimum 20, maximum 100.
  12967. MaxRecords *int64 `type:"integer"`
  12968. // The identifier of the event source for which events will be returned. If
  12969. // this parameter is not specified, then all sources are included in the response.
  12970. //
  12971. // Constraints:
  12972. //
  12973. // If SourceIdentifier is supplied, SourceType must also be provided.
  12974. //
  12975. // * Specify a cluster identifier when SourceType is cluster.
  12976. //
  12977. // * Specify a cluster security group name when SourceType is cluster-security-group.
  12978. //
  12979. // * Specify a cluster parameter group name when SourceType is cluster-parameter-group.
  12980. //
  12981. // * Specify a cluster snapshot identifier when SourceType is cluster-snapshot.
  12982. SourceIdentifier *string `type:"string"`
  12983. // The event source to retrieve events for. If no value is specified, all events
  12984. // are returned.
  12985. //
  12986. // Constraints:
  12987. //
  12988. // If SourceType is supplied, SourceIdentifier must also be provided.
  12989. //
  12990. // * Specify cluster when SourceIdentifier is a cluster identifier.
  12991. //
  12992. // * Specify cluster-security-group when SourceIdentifier is a cluster security
  12993. // group name.
  12994. //
  12995. // * Specify cluster-parameter-group when SourceIdentifier is a cluster parameter
  12996. // group name.
  12997. //
  12998. // * Specify cluster-snapshot when SourceIdentifier is a cluster snapshot
  12999. // identifier.
  13000. SourceType *string `type:"string" enum:"SourceType"`
  13001. // The beginning of the time interval to retrieve events for, specified in ISO
  13002. // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
  13003. // page. (http://en.wikipedia.org/wiki/ISO_8601)
  13004. //
  13005. // Example: 2009-07-08T18:00Z
  13006. StartTime *time.Time `type:"timestamp"`
  13007. }
  13008. // String returns the string representation
  13009. func (s DescribeEventsInput) String() string {
  13010. return awsutil.Prettify(s)
  13011. }
  13012. // GoString returns the string representation
  13013. func (s DescribeEventsInput) GoString() string {
  13014. return s.String()
  13015. }
  13016. // SetDuration sets the Duration field's value.
  13017. func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
  13018. s.Duration = &v
  13019. return s
  13020. }
  13021. // SetEndTime sets the EndTime field's value.
  13022. func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
  13023. s.EndTime = &v
  13024. return s
  13025. }
  13026. // SetMarker sets the Marker field's value.
  13027. func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
  13028. s.Marker = &v
  13029. return s
  13030. }
  13031. // SetMaxRecords sets the MaxRecords field's value.
  13032. func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
  13033. s.MaxRecords = &v
  13034. return s
  13035. }
  13036. // SetSourceIdentifier sets the SourceIdentifier field's value.
  13037. func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
  13038. s.SourceIdentifier = &v
  13039. return s
  13040. }
  13041. // SetSourceType sets the SourceType field's value.
  13042. func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
  13043. s.SourceType = &v
  13044. return s
  13045. }
  13046. // SetStartTime sets the StartTime field's value.
  13047. func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
  13048. s.StartTime = &v
  13049. return s
  13050. }
  13051. type DescribeEventsOutput struct {
  13052. _ struct{} `type:"structure"`
  13053. // A list of Event instances.
  13054. Events []*Event `locationNameList:"Event" type:"list"`
  13055. // A value that indicates the starting point for the next set of response records
  13056. // in a subsequent request. If a value is returned in a response, you can retrieve
  13057. // the next set of records by providing this returned marker value in the Marker
  13058. // parameter and retrying the command. If the Marker field is empty, all response
  13059. // records have been retrieved for the request.
  13060. Marker *string `type:"string"`
  13061. }
  13062. // String returns the string representation
  13063. func (s DescribeEventsOutput) String() string {
  13064. return awsutil.Prettify(s)
  13065. }
  13066. // GoString returns the string representation
  13067. func (s DescribeEventsOutput) GoString() string {
  13068. return s.String()
  13069. }
  13070. // SetEvents sets the Events field's value.
  13071. func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
  13072. s.Events = v
  13073. return s
  13074. }
  13075. // SetMarker sets the Marker field's value.
  13076. func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
  13077. s.Marker = &v
  13078. return s
  13079. }
  13080. type DescribeHsmClientCertificatesInput struct {
  13081. _ struct{} `type:"structure"`
  13082. // The identifier of a specific HSM client certificate for which you want information.
  13083. // If no identifier is specified, information is returned for all HSM client
  13084. // certificates owned by your AWS customer account.
  13085. HsmClientCertificateIdentifier *string `type:"string"`
  13086. // An optional parameter that specifies the starting point to return a set of
  13087. // response records. When the results of a DescribeHsmClientCertificates request
  13088. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13089. // field of the response. You can retrieve the next set of response records
  13090. // by providing the returned marker value in the Marker parameter and retrying
  13091. // the request.
  13092. Marker *string `type:"string"`
  13093. // The maximum number of response records to return in each call. If the number
  13094. // of remaining response records exceeds the specified MaxRecords value, a value
  13095. // is returned in a marker field of the response. You can retrieve the next
  13096. // set of records by retrying the command with the returned marker value.
  13097. //
  13098. // Default: 100
  13099. //
  13100. // Constraints: minimum 20, maximum 100.
  13101. MaxRecords *int64 `type:"integer"`
  13102. // A tag key or keys for which you want to return all matching HSM client certificates
  13103. // that are associated with the specified key or keys. For example, suppose
  13104. // that you have HSM client certificates that are tagged with keys called owner
  13105. // and environment. If you specify both of these tag keys in the request, Amazon
  13106. // Redshift returns a response with the HSM client certificates that have either
  13107. // or both of these tag keys associated with them.
  13108. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  13109. // A tag value or values for which you want to return all matching HSM client
  13110. // certificates that are associated with the specified tag value or values.
  13111. // For example, suppose that you have HSM client certificates that are tagged
  13112. // with values called admin and test. If you specify both of these tag values
  13113. // in the request, Amazon Redshift returns a response with the HSM client certificates
  13114. // that have either or both of these tag values associated with them.
  13115. TagValues []*string `locationNameList:"TagValue" type:"list"`
  13116. }
  13117. // String returns the string representation
  13118. func (s DescribeHsmClientCertificatesInput) String() string {
  13119. return awsutil.Prettify(s)
  13120. }
  13121. // GoString returns the string representation
  13122. func (s DescribeHsmClientCertificatesInput) GoString() string {
  13123. return s.String()
  13124. }
  13125. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  13126. func (s *DescribeHsmClientCertificatesInput) SetHsmClientCertificateIdentifier(v string) *DescribeHsmClientCertificatesInput {
  13127. s.HsmClientCertificateIdentifier = &v
  13128. return s
  13129. }
  13130. // SetMarker sets the Marker field's value.
  13131. func (s *DescribeHsmClientCertificatesInput) SetMarker(v string) *DescribeHsmClientCertificatesInput {
  13132. s.Marker = &v
  13133. return s
  13134. }
  13135. // SetMaxRecords sets the MaxRecords field's value.
  13136. func (s *DescribeHsmClientCertificatesInput) SetMaxRecords(v int64) *DescribeHsmClientCertificatesInput {
  13137. s.MaxRecords = &v
  13138. return s
  13139. }
  13140. // SetTagKeys sets the TagKeys field's value.
  13141. func (s *DescribeHsmClientCertificatesInput) SetTagKeys(v []*string) *DescribeHsmClientCertificatesInput {
  13142. s.TagKeys = v
  13143. return s
  13144. }
  13145. // SetTagValues sets the TagValues field's value.
  13146. func (s *DescribeHsmClientCertificatesInput) SetTagValues(v []*string) *DescribeHsmClientCertificatesInput {
  13147. s.TagValues = v
  13148. return s
  13149. }
  13150. type DescribeHsmClientCertificatesOutput struct {
  13151. _ struct{} `type:"structure"`
  13152. // A list of the identifiers for one or more HSM client certificates used by
  13153. // Amazon Redshift clusters to store and retrieve database encryption keys in
  13154. // an HSM.
  13155. HsmClientCertificates []*HsmClientCertificate `locationNameList:"HsmClientCertificate" type:"list"`
  13156. // A value that indicates the starting point for the next set of response records
  13157. // in a subsequent request. If a value is returned in a response, you can retrieve
  13158. // the next set of records by providing this returned marker value in the Marker
  13159. // parameter and retrying the command. If the Marker field is empty, all response
  13160. // records have been retrieved for the request.
  13161. Marker *string `type:"string"`
  13162. }
  13163. // String returns the string representation
  13164. func (s DescribeHsmClientCertificatesOutput) String() string {
  13165. return awsutil.Prettify(s)
  13166. }
  13167. // GoString returns the string representation
  13168. func (s DescribeHsmClientCertificatesOutput) GoString() string {
  13169. return s.String()
  13170. }
  13171. // SetHsmClientCertificates sets the HsmClientCertificates field's value.
  13172. func (s *DescribeHsmClientCertificatesOutput) SetHsmClientCertificates(v []*HsmClientCertificate) *DescribeHsmClientCertificatesOutput {
  13173. s.HsmClientCertificates = v
  13174. return s
  13175. }
  13176. // SetMarker sets the Marker field's value.
  13177. func (s *DescribeHsmClientCertificatesOutput) SetMarker(v string) *DescribeHsmClientCertificatesOutput {
  13178. s.Marker = &v
  13179. return s
  13180. }
  13181. type DescribeHsmConfigurationsInput struct {
  13182. _ struct{} `type:"structure"`
  13183. // The identifier of a specific Amazon Redshift HSM configuration to be described.
  13184. // If no identifier is specified, information is returned for all HSM configurations
  13185. // owned by your AWS customer account.
  13186. HsmConfigurationIdentifier *string `type:"string"`
  13187. // An optional parameter that specifies the starting point to return a set of
  13188. // response records. When the results of a DescribeHsmConfigurations request
  13189. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13190. // field of the response. You can retrieve the next set of response records
  13191. // by providing the returned marker value in the Marker parameter and retrying
  13192. // the request.
  13193. Marker *string `type:"string"`
  13194. // The maximum number of response records to return in each call. If the number
  13195. // of remaining response records exceeds the specified MaxRecords value, a value
  13196. // is returned in a marker field of the response. You can retrieve the next
  13197. // set of records by retrying the command with the returned marker value.
  13198. //
  13199. // Default: 100
  13200. //
  13201. // Constraints: minimum 20, maximum 100.
  13202. MaxRecords *int64 `type:"integer"`
  13203. // A tag key or keys for which you want to return all matching HSM configurations
  13204. // that are associated with the specified key or keys. For example, suppose
  13205. // that you have HSM configurations that are tagged with keys called owner and
  13206. // environment. If you specify both of these tag keys in the request, Amazon
  13207. // Redshift returns a response with the HSM configurations that have either
  13208. // or both of these tag keys associated with them.
  13209. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  13210. // A tag value or values for which you want to return all matching HSM configurations
  13211. // that are associated with the specified tag value or values. For example,
  13212. // suppose that you have HSM configurations that are tagged with values called
  13213. // admin and test. If you specify both of these tag values in the request, Amazon
  13214. // Redshift returns a response with the HSM configurations that have either
  13215. // or both of these tag values associated with them.
  13216. TagValues []*string `locationNameList:"TagValue" type:"list"`
  13217. }
  13218. // String returns the string representation
  13219. func (s DescribeHsmConfigurationsInput) String() string {
  13220. return awsutil.Prettify(s)
  13221. }
  13222. // GoString returns the string representation
  13223. func (s DescribeHsmConfigurationsInput) GoString() string {
  13224. return s.String()
  13225. }
  13226. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  13227. func (s *DescribeHsmConfigurationsInput) SetHsmConfigurationIdentifier(v string) *DescribeHsmConfigurationsInput {
  13228. s.HsmConfigurationIdentifier = &v
  13229. return s
  13230. }
  13231. // SetMarker sets the Marker field's value.
  13232. func (s *DescribeHsmConfigurationsInput) SetMarker(v string) *DescribeHsmConfigurationsInput {
  13233. s.Marker = &v
  13234. return s
  13235. }
  13236. // SetMaxRecords sets the MaxRecords field's value.
  13237. func (s *DescribeHsmConfigurationsInput) SetMaxRecords(v int64) *DescribeHsmConfigurationsInput {
  13238. s.MaxRecords = &v
  13239. return s
  13240. }
  13241. // SetTagKeys sets the TagKeys field's value.
  13242. func (s *DescribeHsmConfigurationsInput) SetTagKeys(v []*string) *DescribeHsmConfigurationsInput {
  13243. s.TagKeys = v
  13244. return s
  13245. }
  13246. // SetTagValues sets the TagValues field's value.
  13247. func (s *DescribeHsmConfigurationsInput) SetTagValues(v []*string) *DescribeHsmConfigurationsInput {
  13248. s.TagValues = v
  13249. return s
  13250. }
  13251. type DescribeHsmConfigurationsOutput struct {
  13252. _ struct{} `type:"structure"`
  13253. // A list of HsmConfiguration objects.
  13254. HsmConfigurations []*HsmConfiguration `locationNameList:"HsmConfiguration" type:"list"`
  13255. // A value that indicates the starting point for the next set of response records
  13256. // in a subsequent request. If a value is returned in a response, you can retrieve
  13257. // the next set of records by providing this returned marker value in the Marker
  13258. // parameter and retrying the command. If the Marker field is empty, all response
  13259. // records have been retrieved for the request.
  13260. Marker *string `type:"string"`
  13261. }
  13262. // String returns the string representation
  13263. func (s DescribeHsmConfigurationsOutput) String() string {
  13264. return awsutil.Prettify(s)
  13265. }
  13266. // GoString returns the string representation
  13267. func (s DescribeHsmConfigurationsOutput) GoString() string {
  13268. return s.String()
  13269. }
  13270. // SetHsmConfigurations sets the HsmConfigurations field's value.
  13271. func (s *DescribeHsmConfigurationsOutput) SetHsmConfigurations(v []*HsmConfiguration) *DescribeHsmConfigurationsOutput {
  13272. s.HsmConfigurations = v
  13273. return s
  13274. }
  13275. // SetMarker sets the Marker field's value.
  13276. func (s *DescribeHsmConfigurationsOutput) SetMarker(v string) *DescribeHsmConfigurationsOutput {
  13277. s.Marker = &v
  13278. return s
  13279. }
  13280. type DescribeLoggingStatusInput struct {
  13281. _ struct{} `type:"structure"`
  13282. // The identifier of the cluster from which to get the logging status.
  13283. //
  13284. // Example: examplecluster
  13285. //
  13286. // ClusterIdentifier is a required field
  13287. ClusterIdentifier *string `type:"string" required:"true"`
  13288. }
  13289. // String returns the string representation
  13290. func (s DescribeLoggingStatusInput) String() string {
  13291. return awsutil.Prettify(s)
  13292. }
  13293. // GoString returns the string representation
  13294. func (s DescribeLoggingStatusInput) GoString() string {
  13295. return s.String()
  13296. }
  13297. // Validate inspects the fields of the type to determine if they are valid.
  13298. func (s *DescribeLoggingStatusInput) Validate() error {
  13299. invalidParams := request.ErrInvalidParams{Context: "DescribeLoggingStatusInput"}
  13300. if s.ClusterIdentifier == nil {
  13301. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  13302. }
  13303. if invalidParams.Len() > 0 {
  13304. return invalidParams
  13305. }
  13306. return nil
  13307. }
  13308. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  13309. func (s *DescribeLoggingStatusInput) SetClusterIdentifier(v string) *DescribeLoggingStatusInput {
  13310. s.ClusterIdentifier = &v
  13311. return s
  13312. }
  13313. type DescribeOrderableClusterOptionsInput struct {
  13314. _ struct{} `type:"structure"`
  13315. // The version filter value. Specify this parameter to show only the available
  13316. // offerings matching the specified version.
  13317. //
  13318. // Default: All versions.
  13319. //
  13320. // Constraints: Must be one of the version returned from DescribeClusterVersions.
  13321. ClusterVersion *string `type:"string"`
  13322. // An optional parameter that specifies the starting point to return a set of
  13323. // response records. When the results of a DescribeOrderableClusterOptions request
  13324. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13325. // field of the response. You can retrieve the next set of response records
  13326. // by providing the returned marker value in the Marker parameter and retrying
  13327. // the request.
  13328. Marker *string `type:"string"`
  13329. // The maximum number of response records to return in each call. If the number
  13330. // of remaining response records exceeds the specified MaxRecords value, a value
  13331. // is returned in a marker field of the response. You can retrieve the next
  13332. // set of records by retrying the command with the returned marker value.
  13333. //
  13334. // Default: 100
  13335. //
  13336. // Constraints: minimum 20, maximum 100.
  13337. MaxRecords *int64 `type:"integer"`
  13338. // The node type filter value. Specify this parameter to show only the available
  13339. // offerings matching the specified node type.
  13340. NodeType *string `type:"string"`
  13341. }
  13342. // String returns the string representation
  13343. func (s DescribeOrderableClusterOptionsInput) String() string {
  13344. return awsutil.Prettify(s)
  13345. }
  13346. // GoString returns the string representation
  13347. func (s DescribeOrderableClusterOptionsInput) GoString() string {
  13348. return s.String()
  13349. }
  13350. // SetClusterVersion sets the ClusterVersion field's value.
  13351. func (s *DescribeOrderableClusterOptionsInput) SetClusterVersion(v string) *DescribeOrderableClusterOptionsInput {
  13352. s.ClusterVersion = &v
  13353. return s
  13354. }
  13355. // SetMarker sets the Marker field's value.
  13356. func (s *DescribeOrderableClusterOptionsInput) SetMarker(v string) *DescribeOrderableClusterOptionsInput {
  13357. s.Marker = &v
  13358. return s
  13359. }
  13360. // SetMaxRecords sets the MaxRecords field's value.
  13361. func (s *DescribeOrderableClusterOptionsInput) SetMaxRecords(v int64) *DescribeOrderableClusterOptionsInput {
  13362. s.MaxRecords = &v
  13363. return s
  13364. }
  13365. // SetNodeType sets the NodeType field's value.
  13366. func (s *DescribeOrderableClusterOptionsInput) SetNodeType(v string) *DescribeOrderableClusterOptionsInput {
  13367. s.NodeType = &v
  13368. return s
  13369. }
  13370. // Contains the output from the DescribeOrderableClusterOptions action.
  13371. type DescribeOrderableClusterOptionsOutput struct {
  13372. _ struct{} `type:"structure"`
  13373. // A value that indicates the starting point for the next set of response records
  13374. // in a subsequent request. If a value is returned in a response, you can retrieve
  13375. // the next set of records by providing this returned marker value in the Marker
  13376. // parameter and retrying the command. If the Marker field is empty, all response
  13377. // records have been retrieved for the request.
  13378. Marker *string `type:"string"`
  13379. // An OrderableClusterOption structure containing information about orderable
  13380. // options for the cluster.
  13381. OrderableClusterOptions []*OrderableClusterOption `locationNameList:"OrderableClusterOption" type:"list"`
  13382. }
  13383. // String returns the string representation
  13384. func (s DescribeOrderableClusterOptionsOutput) String() string {
  13385. return awsutil.Prettify(s)
  13386. }
  13387. // GoString returns the string representation
  13388. func (s DescribeOrderableClusterOptionsOutput) GoString() string {
  13389. return s.String()
  13390. }
  13391. // SetMarker sets the Marker field's value.
  13392. func (s *DescribeOrderableClusterOptionsOutput) SetMarker(v string) *DescribeOrderableClusterOptionsOutput {
  13393. s.Marker = &v
  13394. return s
  13395. }
  13396. // SetOrderableClusterOptions sets the OrderableClusterOptions field's value.
  13397. func (s *DescribeOrderableClusterOptionsOutput) SetOrderableClusterOptions(v []*OrderableClusterOption) *DescribeOrderableClusterOptionsOutput {
  13398. s.OrderableClusterOptions = v
  13399. return s
  13400. }
  13401. type DescribeReservedNodeOfferingsInput struct {
  13402. _ struct{} `type:"structure"`
  13403. // An optional parameter that specifies the starting point to return a set of
  13404. // response records. When the results of a DescribeReservedNodeOfferings request
  13405. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13406. // field of the response. You can retrieve the next set of response records
  13407. // by providing the returned marker value in the Marker parameter and retrying
  13408. // the request.
  13409. Marker *string `type:"string"`
  13410. // The maximum number of response records to return in each call. If the number
  13411. // of remaining response records exceeds the specified MaxRecords value, a value
  13412. // is returned in a marker field of the response. You can retrieve the next
  13413. // set of records by retrying the command with the returned marker value.
  13414. //
  13415. // Default: 100
  13416. //
  13417. // Constraints: minimum 20, maximum 100.
  13418. MaxRecords *int64 `type:"integer"`
  13419. // The unique identifier for the offering.
  13420. ReservedNodeOfferingId *string `type:"string"`
  13421. }
  13422. // String returns the string representation
  13423. func (s DescribeReservedNodeOfferingsInput) String() string {
  13424. return awsutil.Prettify(s)
  13425. }
  13426. // GoString returns the string representation
  13427. func (s DescribeReservedNodeOfferingsInput) GoString() string {
  13428. return s.String()
  13429. }
  13430. // SetMarker sets the Marker field's value.
  13431. func (s *DescribeReservedNodeOfferingsInput) SetMarker(v string) *DescribeReservedNodeOfferingsInput {
  13432. s.Marker = &v
  13433. return s
  13434. }
  13435. // SetMaxRecords sets the MaxRecords field's value.
  13436. func (s *DescribeReservedNodeOfferingsInput) SetMaxRecords(v int64) *DescribeReservedNodeOfferingsInput {
  13437. s.MaxRecords = &v
  13438. return s
  13439. }
  13440. // SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value.
  13441. func (s *DescribeReservedNodeOfferingsInput) SetReservedNodeOfferingId(v string) *DescribeReservedNodeOfferingsInput {
  13442. s.ReservedNodeOfferingId = &v
  13443. return s
  13444. }
  13445. type DescribeReservedNodeOfferingsOutput struct {
  13446. _ struct{} `type:"structure"`
  13447. // A value that indicates the starting point for the next set of response records
  13448. // in a subsequent request. If a value is returned in a response, you can retrieve
  13449. // the next set of records by providing this returned marker value in the Marker
  13450. // parameter and retrying the command. If the Marker field is empty, all response
  13451. // records have been retrieved for the request.
  13452. Marker *string `type:"string"`
  13453. // A list of ReservedNodeOffering objects.
  13454. ReservedNodeOfferings []*ReservedNodeOffering `locationNameList:"ReservedNodeOffering" type:"list"`
  13455. }
  13456. // String returns the string representation
  13457. func (s DescribeReservedNodeOfferingsOutput) String() string {
  13458. return awsutil.Prettify(s)
  13459. }
  13460. // GoString returns the string representation
  13461. func (s DescribeReservedNodeOfferingsOutput) GoString() string {
  13462. return s.String()
  13463. }
  13464. // SetMarker sets the Marker field's value.
  13465. func (s *DescribeReservedNodeOfferingsOutput) SetMarker(v string) *DescribeReservedNodeOfferingsOutput {
  13466. s.Marker = &v
  13467. return s
  13468. }
  13469. // SetReservedNodeOfferings sets the ReservedNodeOfferings field's value.
  13470. func (s *DescribeReservedNodeOfferingsOutput) SetReservedNodeOfferings(v []*ReservedNodeOffering) *DescribeReservedNodeOfferingsOutput {
  13471. s.ReservedNodeOfferings = v
  13472. return s
  13473. }
  13474. type DescribeReservedNodesInput struct {
  13475. _ struct{} `type:"structure"`
  13476. // An optional parameter that specifies the starting point to return a set of
  13477. // response records. When the results of a DescribeReservedNodes request exceed
  13478. // the value specified in MaxRecords, AWS returns a value in the Marker field
  13479. // of the response. You can retrieve the next set of response records by providing
  13480. // the returned marker value in the Marker parameter and retrying the request.
  13481. Marker *string `type:"string"`
  13482. // The maximum number of response records to return in each call. If the number
  13483. // of remaining response records exceeds the specified MaxRecords value, a value
  13484. // is returned in a marker field of the response. You can retrieve the next
  13485. // set of records by retrying the command with the returned marker value.
  13486. //
  13487. // Default: 100
  13488. //
  13489. // Constraints: minimum 20, maximum 100.
  13490. MaxRecords *int64 `type:"integer"`
  13491. // Identifier for the node reservation.
  13492. ReservedNodeId *string `type:"string"`
  13493. }
  13494. // String returns the string representation
  13495. func (s DescribeReservedNodesInput) String() string {
  13496. return awsutil.Prettify(s)
  13497. }
  13498. // GoString returns the string representation
  13499. func (s DescribeReservedNodesInput) GoString() string {
  13500. return s.String()
  13501. }
  13502. // SetMarker sets the Marker field's value.
  13503. func (s *DescribeReservedNodesInput) SetMarker(v string) *DescribeReservedNodesInput {
  13504. s.Marker = &v
  13505. return s
  13506. }
  13507. // SetMaxRecords sets the MaxRecords field's value.
  13508. func (s *DescribeReservedNodesInput) SetMaxRecords(v int64) *DescribeReservedNodesInput {
  13509. s.MaxRecords = &v
  13510. return s
  13511. }
  13512. // SetReservedNodeId sets the ReservedNodeId field's value.
  13513. func (s *DescribeReservedNodesInput) SetReservedNodeId(v string) *DescribeReservedNodesInput {
  13514. s.ReservedNodeId = &v
  13515. return s
  13516. }
  13517. type DescribeReservedNodesOutput struct {
  13518. _ struct{} `type:"structure"`
  13519. // A value that indicates the starting point for the next set of response records
  13520. // in a subsequent request. If a value is returned in a response, you can retrieve
  13521. // the next set of records by providing this returned marker value in the Marker
  13522. // parameter and retrying the command. If the Marker field is empty, all response
  13523. // records have been retrieved for the request.
  13524. Marker *string `type:"string"`
  13525. // The list of ReservedNode objects.
  13526. ReservedNodes []*ReservedNode `locationNameList:"ReservedNode" type:"list"`
  13527. }
  13528. // String returns the string representation
  13529. func (s DescribeReservedNodesOutput) String() string {
  13530. return awsutil.Prettify(s)
  13531. }
  13532. // GoString returns the string representation
  13533. func (s DescribeReservedNodesOutput) GoString() string {
  13534. return s.String()
  13535. }
  13536. // SetMarker sets the Marker field's value.
  13537. func (s *DescribeReservedNodesOutput) SetMarker(v string) *DescribeReservedNodesOutput {
  13538. s.Marker = &v
  13539. return s
  13540. }
  13541. // SetReservedNodes sets the ReservedNodes field's value.
  13542. func (s *DescribeReservedNodesOutput) SetReservedNodes(v []*ReservedNode) *DescribeReservedNodesOutput {
  13543. s.ReservedNodes = v
  13544. return s
  13545. }
  13546. type DescribeResizeInput struct {
  13547. _ struct{} `type:"structure"`
  13548. // The unique identifier of a cluster whose resize progress you are requesting.
  13549. // This parameter is case-sensitive.
  13550. //
  13551. // By default, resize operations for all clusters defined for an AWS account
  13552. // are returned.
  13553. //
  13554. // ClusterIdentifier is a required field
  13555. ClusterIdentifier *string `type:"string" required:"true"`
  13556. }
  13557. // String returns the string representation
  13558. func (s DescribeResizeInput) String() string {
  13559. return awsutil.Prettify(s)
  13560. }
  13561. // GoString returns the string representation
  13562. func (s DescribeResizeInput) GoString() string {
  13563. return s.String()
  13564. }
  13565. // Validate inspects the fields of the type to determine if they are valid.
  13566. func (s *DescribeResizeInput) Validate() error {
  13567. invalidParams := request.ErrInvalidParams{Context: "DescribeResizeInput"}
  13568. if s.ClusterIdentifier == nil {
  13569. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  13570. }
  13571. if invalidParams.Len() > 0 {
  13572. return invalidParams
  13573. }
  13574. return nil
  13575. }
  13576. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  13577. func (s *DescribeResizeInput) SetClusterIdentifier(v string) *DescribeResizeInput {
  13578. s.ClusterIdentifier = &v
  13579. return s
  13580. }
  13581. // Describes the result of a cluster resize operation.
  13582. type DescribeResizeOutput struct {
  13583. _ struct{} `type:"structure"`
  13584. // The average rate of the resize operation over the last few minutes, measured
  13585. // in megabytes per second. After the resize operation completes, this value
  13586. // shows the average rate of the entire resize operation.
  13587. AvgResizeRateInMegaBytesPerSecond *float64 `type:"double"`
  13588. // The amount of seconds that have elapsed since the resize operation began.
  13589. // After the resize operation completes, this value shows the total actual time,
  13590. // in seconds, for the resize operation.
  13591. ElapsedTimeInSeconds *int64 `type:"long"`
  13592. // The estimated time remaining, in seconds, until the resize operation is complete.
  13593. // This value is calculated based on the average resize rate and the estimated
  13594. // amount of data remaining to be processed. Once the resize operation is complete,
  13595. // this value will be 0.
  13596. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  13597. // The names of tables that have been completely imported .
  13598. //
  13599. // Valid Values: List of table names.
  13600. ImportTablesCompleted []*string `type:"list"`
  13601. // The names of tables that are being currently imported.
  13602. //
  13603. // Valid Values: List of table names.
  13604. ImportTablesInProgress []*string `type:"list"`
  13605. // The names of tables that have not been yet imported.
  13606. //
  13607. // Valid Values: List of table names
  13608. ImportTablesNotStarted []*string `type:"list"`
  13609. // An optional string to provide additional details about the resize action.
  13610. Message *string `type:"string"`
  13611. // While the resize operation is in progress, this value shows the current amount
  13612. // of data, in megabytes, that has been processed so far. When the resize operation
  13613. // is complete, this value shows the total amount of data, in megabytes, on
  13614. // the cluster, which may be more or less than TotalResizeDataInMegaBytes (the
  13615. // estimated total amount of data before resize).
  13616. ProgressInMegaBytes *int64 `type:"long"`
  13617. // An enum with possible values of ClassicResize and ElasticResize. These values
  13618. // describe the type of resize operation being performed.
  13619. ResizeType *string `type:"string"`
  13620. // The status of the resize operation.
  13621. //
  13622. // Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED | CANCELLING
  13623. Status *string `type:"string"`
  13624. // The cluster type after the resize operation is complete.
  13625. //
  13626. // Valid Values: multi-node | single-node
  13627. TargetClusterType *string `type:"string"`
  13628. // The type of encryption for the cluster after the resize is complete.
  13629. //
  13630. // Possible values are KMS and None. In the China region possible values are:
  13631. // Legacy and None.
  13632. TargetEncryptionType *string `type:"string"`
  13633. // The node type that the cluster will have after the resize operation is complete.
  13634. TargetNodeType *string `type:"string"`
  13635. // The number of nodes that the cluster will have after the resize operation
  13636. // is complete.
  13637. TargetNumberOfNodes *int64 `type:"integer"`
  13638. // The estimated total amount of data, in megabytes, on the cluster before the
  13639. // resize operation began.
  13640. TotalResizeDataInMegaBytes *int64 `type:"long"`
  13641. }
  13642. // String returns the string representation
  13643. func (s DescribeResizeOutput) String() string {
  13644. return awsutil.Prettify(s)
  13645. }
  13646. // GoString returns the string representation
  13647. func (s DescribeResizeOutput) GoString() string {
  13648. return s.String()
  13649. }
  13650. // SetAvgResizeRateInMegaBytesPerSecond sets the AvgResizeRateInMegaBytesPerSecond field's value.
  13651. func (s *DescribeResizeOutput) SetAvgResizeRateInMegaBytesPerSecond(v float64) *DescribeResizeOutput {
  13652. s.AvgResizeRateInMegaBytesPerSecond = &v
  13653. return s
  13654. }
  13655. // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
  13656. func (s *DescribeResizeOutput) SetElapsedTimeInSeconds(v int64) *DescribeResizeOutput {
  13657. s.ElapsedTimeInSeconds = &v
  13658. return s
  13659. }
  13660. // SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
  13661. func (s *DescribeResizeOutput) SetEstimatedTimeToCompletionInSeconds(v int64) *DescribeResizeOutput {
  13662. s.EstimatedTimeToCompletionInSeconds = &v
  13663. return s
  13664. }
  13665. // SetImportTablesCompleted sets the ImportTablesCompleted field's value.
  13666. func (s *DescribeResizeOutput) SetImportTablesCompleted(v []*string) *DescribeResizeOutput {
  13667. s.ImportTablesCompleted = v
  13668. return s
  13669. }
  13670. // SetImportTablesInProgress sets the ImportTablesInProgress field's value.
  13671. func (s *DescribeResizeOutput) SetImportTablesInProgress(v []*string) *DescribeResizeOutput {
  13672. s.ImportTablesInProgress = v
  13673. return s
  13674. }
  13675. // SetImportTablesNotStarted sets the ImportTablesNotStarted field's value.
  13676. func (s *DescribeResizeOutput) SetImportTablesNotStarted(v []*string) *DescribeResizeOutput {
  13677. s.ImportTablesNotStarted = v
  13678. return s
  13679. }
  13680. // SetMessage sets the Message field's value.
  13681. func (s *DescribeResizeOutput) SetMessage(v string) *DescribeResizeOutput {
  13682. s.Message = &v
  13683. return s
  13684. }
  13685. // SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
  13686. func (s *DescribeResizeOutput) SetProgressInMegaBytes(v int64) *DescribeResizeOutput {
  13687. s.ProgressInMegaBytes = &v
  13688. return s
  13689. }
  13690. // SetResizeType sets the ResizeType field's value.
  13691. func (s *DescribeResizeOutput) SetResizeType(v string) *DescribeResizeOutput {
  13692. s.ResizeType = &v
  13693. return s
  13694. }
  13695. // SetStatus sets the Status field's value.
  13696. func (s *DescribeResizeOutput) SetStatus(v string) *DescribeResizeOutput {
  13697. s.Status = &v
  13698. return s
  13699. }
  13700. // SetTargetClusterType sets the TargetClusterType field's value.
  13701. func (s *DescribeResizeOutput) SetTargetClusterType(v string) *DescribeResizeOutput {
  13702. s.TargetClusterType = &v
  13703. return s
  13704. }
  13705. // SetTargetEncryptionType sets the TargetEncryptionType field's value.
  13706. func (s *DescribeResizeOutput) SetTargetEncryptionType(v string) *DescribeResizeOutput {
  13707. s.TargetEncryptionType = &v
  13708. return s
  13709. }
  13710. // SetTargetNodeType sets the TargetNodeType field's value.
  13711. func (s *DescribeResizeOutput) SetTargetNodeType(v string) *DescribeResizeOutput {
  13712. s.TargetNodeType = &v
  13713. return s
  13714. }
  13715. // SetTargetNumberOfNodes sets the TargetNumberOfNodes field's value.
  13716. func (s *DescribeResizeOutput) SetTargetNumberOfNodes(v int64) *DescribeResizeOutput {
  13717. s.TargetNumberOfNodes = &v
  13718. return s
  13719. }
  13720. // SetTotalResizeDataInMegaBytes sets the TotalResizeDataInMegaBytes field's value.
  13721. func (s *DescribeResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *DescribeResizeOutput {
  13722. s.TotalResizeDataInMegaBytes = &v
  13723. return s
  13724. }
  13725. // The result of the DescribeSnapshotCopyGrants action.
  13726. type DescribeSnapshotCopyGrantsInput struct {
  13727. _ struct{} `type:"structure"`
  13728. // An optional parameter that specifies the starting point to return a set of
  13729. // response records. When the results of a DescribeSnapshotCopyGrant request
  13730. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13731. // field of the response. You can retrieve the next set of response records
  13732. // by providing the returned marker value in the Marker parameter and retrying
  13733. // the request.
  13734. //
  13735. // Constraints: You can specify either the SnapshotCopyGrantName parameter or
  13736. // the Marker parameter, but not both.
  13737. Marker *string `type:"string"`
  13738. // The maximum number of response records to return in each call. If the number
  13739. // of remaining response records exceeds the specified MaxRecords value, a value
  13740. // is returned in a marker field of the response. You can retrieve the next
  13741. // set of records by retrying the command with the returned marker value.
  13742. //
  13743. // Default: 100
  13744. //
  13745. // Constraints: minimum 20, maximum 100.
  13746. MaxRecords *int64 `type:"integer"`
  13747. // The name of the snapshot copy grant.
  13748. SnapshotCopyGrantName *string `type:"string"`
  13749. // A tag key or keys for which you want to return all matching resources that
  13750. // are associated with the specified key or keys. For example, suppose that
  13751. // you have resources tagged with keys called owner and environment. If you
  13752. // specify both of these tag keys in the request, Amazon Redshift returns a
  13753. // response with all resources that have either or both of these tag keys associated
  13754. // with them.
  13755. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  13756. // A tag value or values for which you want to return all matching resources
  13757. // that are associated with the specified value or values. For example, suppose
  13758. // that you have resources tagged with values called admin and test. If you
  13759. // specify both of these tag values in the request, Amazon Redshift returns
  13760. // a response with all resources that have either or both of these tag values
  13761. // associated with them.
  13762. TagValues []*string `locationNameList:"TagValue" type:"list"`
  13763. }
  13764. // String returns the string representation
  13765. func (s DescribeSnapshotCopyGrantsInput) String() string {
  13766. return awsutil.Prettify(s)
  13767. }
  13768. // GoString returns the string representation
  13769. func (s DescribeSnapshotCopyGrantsInput) GoString() string {
  13770. return s.String()
  13771. }
  13772. // SetMarker sets the Marker field's value.
  13773. func (s *DescribeSnapshotCopyGrantsInput) SetMarker(v string) *DescribeSnapshotCopyGrantsInput {
  13774. s.Marker = &v
  13775. return s
  13776. }
  13777. // SetMaxRecords sets the MaxRecords field's value.
  13778. func (s *DescribeSnapshotCopyGrantsInput) SetMaxRecords(v int64) *DescribeSnapshotCopyGrantsInput {
  13779. s.MaxRecords = &v
  13780. return s
  13781. }
  13782. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  13783. func (s *DescribeSnapshotCopyGrantsInput) SetSnapshotCopyGrantName(v string) *DescribeSnapshotCopyGrantsInput {
  13784. s.SnapshotCopyGrantName = &v
  13785. return s
  13786. }
  13787. // SetTagKeys sets the TagKeys field's value.
  13788. func (s *DescribeSnapshotCopyGrantsInput) SetTagKeys(v []*string) *DescribeSnapshotCopyGrantsInput {
  13789. s.TagKeys = v
  13790. return s
  13791. }
  13792. // SetTagValues sets the TagValues field's value.
  13793. func (s *DescribeSnapshotCopyGrantsInput) SetTagValues(v []*string) *DescribeSnapshotCopyGrantsInput {
  13794. s.TagValues = v
  13795. return s
  13796. }
  13797. type DescribeSnapshotCopyGrantsOutput struct {
  13798. _ struct{} `type:"structure"`
  13799. // An optional parameter that specifies the starting point to return a set of
  13800. // response records. When the results of a DescribeSnapshotCopyGrant request
  13801. // exceed the value specified in MaxRecords, AWS returns a value in the Marker
  13802. // field of the response. You can retrieve the next set of response records
  13803. // by providing the returned marker value in the Marker parameter and retrying
  13804. // the request.
  13805. //
  13806. // Constraints: You can specify either the SnapshotCopyGrantName parameter or
  13807. // the Marker parameter, but not both.
  13808. Marker *string `type:"string"`
  13809. // The list of SnapshotCopyGrant objects.
  13810. SnapshotCopyGrants []*SnapshotCopyGrant `locationNameList:"SnapshotCopyGrant" type:"list"`
  13811. }
  13812. // String returns the string representation
  13813. func (s DescribeSnapshotCopyGrantsOutput) String() string {
  13814. return awsutil.Prettify(s)
  13815. }
  13816. // GoString returns the string representation
  13817. func (s DescribeSnapshotCopyGrantsOutput) GoString() string {
  13818. return s.String()
  13819. }
  13820. // SetMarker sets the Marker field's value.
  13821. func (s *DescribeSnapshotCopyGrantsOutput) SetMarker(v string) *DescribeSnapshotCopyGrantsOutput {
  13822. s.Marker = &v
  13823. return s
  13824. }
  13825. // SetSnapshotCopyGrants sets the SnapshotCopyGrants field's value.
  13826. func (s *DescribeSnapshotCopyGrantsOutput) SetSnapshotCopyGrants(v []*SnapshotCopyGrant) *DescribeSnapshotCopyGrantsOutput {
  13827. s.SnapshotCopyGrants = v
  13828. return s
  13829. }
  13830. type DescribeSnapshotSchedulesInput struct {
  13831. _ struct{} `type:"structure"`
  13832. // The unique identifier for the cluster whose snapshot schedules you want to
  13833. // view.
  13834. ClusterIdentifier *string `type:"string"`
  13835. // A value that indicates the starting point for the next set of response records
  13836. // in a subsequent request. If a value is returned in a response, you can retrieve
  13837. // the next set of records by providing this returned marker value in the marker
  13838. // parameter and retrying the command. If the marker field is empty, all response
  13839. // records have been retrieved for the request.
  13840. Marker *string `type:"string"`
  13841. // The maximum number or response records to return in each call. If the number
  13842. // of remaining response records exceeds the specified MaxRecords value, a value
  13843. // is returned in a marker field of the response. You can retrieve the next
  13844. // set of records by retrying the command with the returned marker value.
  13845. MaxRecords *int64 `type:"integer"`
  13846. // A unique identifier for a snapshot schedule.
  13847. ScheduleIdentifier *string `type:"string"`
  13848. // The key value for a snapshot schedule tag.
  13849. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  13850. // The value corresponding to the key of the snapshot schedule tag.
  13851. TagValues []*string `locationNameList:"TagValue" type:"list"`
  13852. }
  13853. // String returns the string representation
  13854. func (s DescribeSnapshotSchedulesInput) String() string {
  13855. return awsutil.Prettify(s)
  13856. }
  13857. // GoString returns the string representation
  13858. func (s DescribeSnapshotSchedulesInput) GoString() string {
  13859. return s.String()
  13860. }
  13861. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  13862. func (s *DescribeSnapshotSchedulesInput) SetClusterIdentifier(v string) *DescribeSnapshotSchedulesInput {
  13863. s.ClusterIdentifier = &v
  13864. return s
  13865. }
  13866. // SetMarker sets the Marker field's value.
  13867. func (s *DescribeSnapshotSchedulesInput) SetMarker(v string) *DescribeSnapshotSchedulesInput {
  13868. s.Marker = &v
  13869. return s
  13870. }
  13871. // SetMaxRecords sets the MaxRecords field's value.
  13872. func (s *DescribeSnapshotSchedulesInput) SetMaxRecords(v int64) *DescribeSnapshotSchedulesInput {
  13873. s.MaxRecords = &v
  13874. return s
  13875. }
  13876. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  13877. func (s *DescribeSnapshotSchedulesInput) SetScheduleIdentifier(v string) *DescribeSnapshotSchedulesInput {
  13878. s.ScheduleIdentifier = &v
  13879. return s
  13880. }
  13881. // SetTagKeys sets the TagKeys field's value.
  13882. func (s *DescribeSnapshotSchedulesInput) SetTagKeys(v []*string) *DescribeSnapshotSchedulesInput {
  13883. s.TagKeys = v
  13884. return s
  13885. }
  13886. // SetTagValues sets the TagValues field's value.
  13887. func (s *DescribeSnapshotSchedulesInput) SetTagValues(v []*string) *DescribeSnapshotSchedulesInput {
  13888. s.TagValues = v
  13889. return s
  13890. }
  13891. type DescribeSnapshotSchedulesOutput struct {
  13892. _ struct{} `type:"structure"`
  13893. // A value that indicates the starting point for the next set of response records
  13894. // in a subsequent request. If a value is returned in a response, you can retrieve
  13895. // the next set of records by providing this returned marker value in the marker
  13896. // parameter and retrying the command. If the marker field is empty, all response
  13897. // records have been retrieved for the request.
  13898. Marker *string `type:"string"`
  13899. // A list of SnapshotSchedules.
  13900. SnapshotSchedules []*SnapshotSchedule `locationNameList:"SnapshotSchedule" type:"list"`
  13901. }
  13902. // String returns the string representation
  13903. func (s DescribeSnapshotSchedulesOutput) String() string {
  13904. return awsutil.Prettify(s)
  13905. }
  13906. // GoString returns the string representation
  13907. func (s DescribeSnapshotSchedulesOutput) GoString() string {
  13908. return s.String()
  13909. }
  13910. // SetMarker sets the Marker field's value.
  13911. func (s *DescribeSnapshotSchedulesOutput) SetMarker(v string) *DescribeSnapshotSchedulesOutput {
  13912. s.Marker = &v
  13913. return s
  13914. }
  13915. // SetSnapshotSchedules sets the SnapshotSchedules field's value.
  13916. func (s *DescribeSnapshotSchedulesOutput) SetSnapshotSchedules(v []*SnapshotSchedule) *DescribeSnapshotSchedulesOutput {
  13917. s.SnapshotSchedules = v
  13918. return s
  13919. }
  13920. type DescribeStorageInput struct {
  13921. _ struct{} `type:"structure"`
  13922. }
  13923. // String returns the string representation
  13924. func (s DescribeStorageInput) String() string {
  13925. return awsutil.Prettify(s)
  13926. }
  13927. // GoString returns the string representation
  13928. func (s DescribeStorageInput) GoString() string {
  13929. return s.String()
  13930. }
  13931. type DescribeStorageOutput struct {
  13932. _ struct{} `type:"structure"`
  13933. // The total amount of storage currently used for snapshots.
  13934. TotalBackupSizeInMegaBytes *float64 `type:"double"`
  13935. // The total amount of storage currently provisioned.
  13936. TotalProvisionedStorageInMegaBytes *float64 `type:"double"`
  13937. }
  13938. // String returns the string representation
  13939. func (s DescribeStorageOutput) String() string {
  13940. return awsutil.Prettify(s)
  13941. }
  13942. // GoString returns the string representation
  13943. func (s DescribeStorageOutput) GoString() string {
  13944. return s.String()
  13945. }
  13946. // SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value.
  13947. func (s *DescribeStorageOutput) SetTotalBackupSizeInMegaBytes(v float64) *DescribeStorageOutput {
  13948. s.TotalBackupSizeInMegaBytes = &v
  13949. return s
  13950. }
  13951. // SetTotalProvisionedStorageInMegaBytes sets the TotalProvisionedStorageInMegaBytes field's value.
  13952. func (s *DescribeStorageOutput) SetTotalProvisionedStorageInMegaBytes(v float64) *DescribeStorageOutput {
  13953. s.TotalProvisionedStorageInMegaBytes = &v
  13954. return s
  13955. }
  13956. type DescribeTableRestoreStatusInput struct {
  13957. _ struct{} `type:"structure"`
  13958. // The Amazon Redshift cluster that the table is being restored to.
  13959. ClusterIdentifier *string `type:"string"`
  13960. // An optional pagination token provided by a previous DescribeTableRestoreStatus
  13961. // request. If this parameter is specified, the response includes only records
  13962. // beyond the marker, up to the value specified by the MaxRecords parameter.
  13963. Marker *string `type:"string"`
  13964. // The maximum number of records to include in the response. If more records
  13965. // exist than the specified MaxRecords value, a pagination token called a marker
  13966. // is included in the response so that the remaining results can be retrieved.
  13967. MaxRecords *int64 `type:"integer"`
  13968. // The identifier of the table restore request to return status for. If you
  13969. // don't specify a TableRestoreRequestId value, then DescribeTableRestoreStatus
  13970. // returns the status of all in-progress table restore requests.
  13971. TableRestoreRequestId *string `type:"string"`
  13972. }
  13973. // String returns the string representation
  13974. func (s DescribeTableRestoreStatusInput) String() string {
  13975. return awsutil.Prettify(s)
  13976. }
  13977. // GoString returns the string representation
  13978. func (s DescribeTableRestoreStatusInput) GoString() string {
  13979. return s.String()
  13980. }
  13981. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  13982. func (s *DescribeTableRestoreStatusInput) SetClusterIdentifier(v string) *DescribeTableRestoreStatusInput {
  13983. s.ClusterIdentifier = &v
  13984. return s
  13985. }
  13986. // SetMarker sets the Marker field's value.
  13987. func (s *DescribeTableRestoreStatusInput) SetMarker(v string) *DescribeTableRestoreStatusInput {
  13988. s.Marker = &v
  13989. return s
  13990. }
  13991. // SetMaxRecords sets the MaxRecords field's value.
  13992. func (s *DescribeTableRestoreStatusInput) SetMaxRecords(v int64) *DescribeTableRestoreStatusInput {
  13993. s.MaxRecords = &v
  13994. return s
  13995. }
  13996. // SetTableRestoreRequestId sets the TableRestoreRequestId field's value.
  13997. func (s *DescribeTableRestoreStatusInput) SetTableRestoreRequestId(v string) *DescribeTableRestoreStatusInput {
  13998. s.TableRestoreRequestId = &v
  13999. return s
  14000. }
  14001. type DescribeTableRestoreStatusOutput struct {
  14002. _ struct{} `type:"structure"`
  14003. // A pagination token that can be used in a subsequent DescribeTableRestoreStatus
  14004. // request.
  14005. Marker *string `type:"string"`
  14006. // A list of status details for one or more table restore requests.
  14007. TableRestoreStatusDetails []*TableRestoreStatus `locationNameList:"TableRestoreStatus" type:"list"`
  14008. }
  14009. // String returns the string representation
  14010. func (s DescribeTableRestoreStatusOutput) String() string {
  14011. return awsutil.Prettify(s)
  14012. }
  14013. // GoString returns the string representation
  14014. func (s DescribeTableRestoreStatusOutput) GoString() string {
  14015. return s.String()
  14016. }
  14017. // SetMarker sets the Marker field's value.
  14018. func (s *DescribeTableRestoreStatusOutput) SetMarker(v string) *DescribeTableRestoreStatusOutput {
  14019. s.Marker = &v
  14020. return s
  14021. }
  14022. // SetTableRestoreStatusDetails sets the TableRestoreStatusDetails field's value.
  14023. func (s *DescribeTableRestoreStatusOutput) SetTableRestoreStatusDetails(v []*TableRestoreStatus) *DescribeTableRestoreStatusOutput {
  14024. s.TableRestoreStatusDetails = v
  14025. return s
  14026. }
  14027. type DescribeTagsInput struct {
  14028. _ struct{} `type:"structure"`
  14029. // A value that indicates the starting point for the next set of response records
  14030. // in a subsequent request. If a value is returned in a response, you can retrieve
  14031. // the next set of records by providing this returned marker value in the marker
  14032. // parameter and retrying the command. If the marker field is empty, all response
  14033. // records have been retrieved for the request.
  14034. Marker *string `type:"string"`
  14035. // The maximum number or response records to return in each call. If the number
  14036. // of remaining response records exceeds the specified MaxRecords value, a value
  14037. // is returned in a marker field of the response. You can retrieve the next
  14038. // set of records by retrying the command with the returned marker value.
  14039. MaxRecords *int64 `type:"integer"`
  14040. // The Amazon Resource Name (ARN) for which you want to describe the tag or
  14041. // tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.
  14042. ResourceName *string `type:"string"`
  14043. // The type of resource with which you want to view tags. Valid resource types
  14044. // are:
  14045. //
  14046. // * Cluster
  14047. //
  14048. // * CIDR/IP
  14049. //
  14050. // * EC2 security group
  14051. //
  14052. // * Snapshot
  14053. //
  14054. // * Cluster security group
  14055. //
  14056. // * Subnet group
  14057. //
  14058. // * HSM connection
  14059. //
  14060. // * HSM certificate
  14061. //
  14062. // * Parameter group
  14063. //
  14064. // * Snapshot copy grant
  14065. //
  14066. // For more information about Amazon Redshift resource types and constructing
  14067. // ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and
  14068. // Principals (http://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions)
  14069. // in the Amazon Redshift Cluster Management Guide.
  14070. ResourceType *string `type:"string"`
  14071. // A tag key or keys for which you want to return all matching resources that
  14072. // are associated with the specified key or keys. For example, suppose that
  14073. // you have resources tagged with keys called owner and environment. If you
  14074. // specify both of these tag keys in the request, Amazon Redshift returns a
  14075. // response with all resources that have either or both of these tag keys associated
  14076. // with them.
  14077. TagKeys []*string `locationNameList:"TagKey" type:"list"`
  14078. // A tag value or values for which you want to return all matching resources
  14079. // that are associated with the specified value or values. For example, suppose
  14080. // that you have resources tagged with values called admin and test. If you
  14081. // specify both of these tag values in the request, Amazon Redshift returns
  14082. // a response with all resources that have either or both of these tag values
  14083. // associated with them.
  14084. TagValues []*string `locationNameList:"TagValue" type:"list"`
  14085. }
  14086. // String returns the string representation
  14087. func (s DescribeTagsInput) String() string {
  14088. return awsutil.Prettify(s)
  14089. }
  14090. // GoString returns the string representation
  14091. func (s DescribeTagsInput) GoString() string {
  14092. return s.String()
  14093. }
  14094. // SetMarker sets the Marker field's value.
  14095. func (s *DescribeTagsInput) SetMarker(v string) *DescribeTagsInput {
  14096. s.Marker = &v
  14097. return s
  14098. }
  14099. // SetMaxRecords sets the MaxRecords field's value.
  14100. func (s *DescribeTagsInput) SetMaxRecords(v int64) *DescribeTagsInput {
  14101. s.MaxRecords = &v
  14102. return s
  14103. }
  14104. // SetResourceName sets the ResourceName field's value.
  14105. func (s *DescribeTagsInput) SetResourceName(v string) *DescribeTagsInput {
  14106. s.ResourceName = &v
  14107. return s
  14108. }
  14109. // SetResourceType sets the ResourceType field's value.
  14110. func (s *DescribeTagsInput) SetResourceType(v string) *DescribeTagsInput {
  14111. s.ResourceType = &v
  14112. return s
  14113. }
  14114. // SetTagKeys sets the TagKeys field's value.
  14115. func (s *DescribeTagsInput) SetTagKeys(v []*string) *DescribeTagsInput {
  14116. s.TagKeys = v
  14117. return s
  14118. }
  14119. // SetTagValues sets the TagValues field's value.
  14120. func (s *DescribeTagsInput) SetTagValues(v []*string) *DescribeTagsInput {
  14121. s.TagValues = v
  14122. return s
  14123. }
  14124. type DescribeTagsOutput struct {
  14125. _ struct{} `type:"structure"`
  14126. // A value that indicates the starting point for the next set of response records
  14127. // in a subsequent request. If a value is returned in a response, you can retrieve
  14128. // the next set of records by providing this returned marker value in the Marker
  14129. // parameter and retrying the command. If the Marker field is empty, all response
  14130. // records have been retrieved for the request.
  14131. Marker *string `type:"string"`
  14132. // A list of tags with their associated resources.
  14133. TaggedResources []*TaggedResource `locationNameList:"TaggedResource" type:"list"`
  14134. }
  14135. // String returns the string representation
  14136. func (s DescribeTagsOutput) String() string {
  14137. return awsutil.Prettify(s)
  14138. }
  14139. // GoString returns the string representation
  14140. func (s DescribeTagsOutput) GoString() string {
  14141. return s.String()
  14142. }
  14143. // SetMarker sets the Marker field's value.
  14144. func (s *DescribeTagsOutput) SetMarker(v string) *DescribeTagsOutput {
  14145. s.Marker = &v
  14146. return s
  14147. }
  14148. // SetTaggedResources sets the TaggedResources field's value.
  14149. func (s *DescribeTagsOutput) SetTaggedResources(v []*TaggedResource) *DescribeTagsOutput {
  14150. s.TaggedResources = v
  14151. return s
  14152. }
  14153. type DisableLoggingInput struct {
  14154. _ struct{} `type:"structure"`
  14155. // The identifier of the cluster on which logging is to be stopped.
  14156. //
  14157. // Example: examplecluster
  14158. //
  14159. // ClusterIdentifier is a required field
  14160. ClusterIdentifier *string `type:"string" required:"true"`
  14161. }
  14162. // String returns the string representation
  14163. func (s DisableLoggingInput) String() string {
  14164. return awsutil.Prettify(s)
  14165. }
  14166. // GoString returns the string representation
  14167. func (s DisableLoggingInput) GoString() string {
  14168. return s.String()
  14169. }
  14170. // Validate inspects the fields of the type to determine if they are valid.
  14171. func (s *DisableLoggingInput) Validate() error {
  14172. invalidParams := request.ErrInvalidParams{Context: "DisableLoggingInput"}
  14173. if s.ClusterIdentifier == nil {
  14174. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  14175. }
  14176. if invalidParams.Len() > 0 {
  14177. return invalidParams
  14178. }
  14179. return nil
  14180. }
  14181. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  14182. func (s *DisableLoggingInput) SetClusterIdentifier(v string) *DisableLoggingInput {
  14183. s.ClusterIdentifier = &v
  14184. return s
  14185. }
  14186. type DisableSnapshotCopyInput struct {
  14187. _ struct{} `type:"structure"`
  14188. // The unique identifier of the source cluster that you want to disable copying
  14189. // of snapshots to a destination region.
  14190. //
  14191. // Constraints: Must be the valid name of an existing cluster that has cross-region
  14192. // snapshot copy enabled.
  14193. //
  14194. // ClusterIdentifier is a required field
  14195. ClusterIdentifier *string `type:"string" required:"true"`
  14196. }
  14197. // String returns the string representation
  14198. func (s DisableSnapshotCopyInput) String() string {
  14199. return awsutil.Prettify(s)
  14200. }
  14201. // GoString returns the string representation
  14202. func (s DisableSnapshotCopyInput) GoString() string {
  14203. return s.String()
  14204. }
  14205. // Validate inspects the fields of the type to determine if they are valid.
  14206. func (s *DisableSnapshotCopyInput) Validate() error {
  14207. invalidParams := request.ErrInvalidParams{Context: "DisableSnapshotCopyInput"}
  14208. if s.ClusterIdentifier == nil {
  14209. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  14210. }
  14211. if invalidParams.Len() > 0 {
  14212. return invalidParams
  14213. }
  14214. return nil
  14215. }
  14216. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  14217. func (s *DisableSnapshotCopyInput) SetClusterIdentifier(v string) *DisableSnapshotCopyInput {
  14218. s.ClusterIdentifier = &v
  14219. return s
  14220. }
  14221. type DisableSnapshotCopyOutput struct {
  14222. _ struct{} `type:"structure"`
  14223. // Describes a cluster.
  14224. Cluster *Cluster `type:"structure"`
  14225. }
  14226. // String returns the string representation
  14227. func (s DisableSnapshotCopyOutput) String() string {
  14228. return awsutil.Prettify(s)
  14229. }
  14230. // GoString returns the string representation
  14231. func (s DisableSnapshotCopyOutput) GoString() string {
  14232. return s.String()
  14233. }
  14234. // SetCluster sets the Cluster field's value.
  14235. func (s *DisableSnapshotCopyOutput) SetCluster(v *Cluster) *DisableSnapshotCopyOutput {
  14236. s.Cluster = v
  14237. return s
  14238. }
  14239. // Describes an Amazon EC2 security group.
  14240. type EC2SecurityGroup struct {
  14241. _ struct{} `type:"structure"`
  14242. // The name of the EC2 Security Group.
  14243. EC2SecurityGroupName *string `type:"string"`
  14244. // The AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName
  14245. // field.
  14246. EC2SecurityGroupOwnerId *string `type:"string"`
  14247. // The status of the EC2 security group.
  14248. Status *string `type:"string"`
  14249. // The list of tags for the EC2 security group.
  14250. Tags []*Tag `locationNameList:"Tag" type:"list"`
  14251. }
  14252. // String returns the string representation
  14253. func (s EC2SecurityGroup) String() string {
  14254. return awsutil.Prettify(s)
  14255. }
  14256. // GoString returns the string representation
  14257. func (s EC2SecurityGroup) GoString() string {
  14258. return s.String()
  14259. }
  14260. // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
  14261. func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
  14262. s.EC2SecurityGroupName = &v
  14263. return s
  14264. }
  14265. // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
  14266. func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
  14267. s.EC2SecurityGroupOwnerId = &v
  14268. return s
  14269. }
  14270. // SetStatus sets the Status field's value.
  14271. func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
  14272. s.Status = &v
  14273. return s
  14274. }
  14275. // SetTags sets the Tags field's value.
  14276. func (s *EC2SecurityGroup) SetTags(v []*Tag) *EC2SecurityGroup {
  14277. s.Tags = v
  14278. return s
  14279. }
  14280. // Describes the status of the elastic IP (EIP) address.
  14281. type ElasticIpStatus struct {
  14282. _ struct{} `type:"structure"`
  14283. // The elastic IP (EIP) address for the cluster.
  14284. ElasticIp *string `type:"string"`
  14285. // The status of the elastic IP (EIP) address.
  14286. Status *string `type:"string"`
  14287. }
  14288. // String returns the string representation
  14289. func (s ElasticIpStatus) String() string {
  14290. return awsutil.Prettify(s)
  14291. }
  14292. // GoString returns the string representation
  14293. func (s ElasticIpStatus) GoString() string {
  14294. return s.String()
  14295. }
  14296. // SetElasticIp sets the ElasticIp field's value.
  14297. func (s *ElasticIpStatus) SetElasticIp(v string) *ElasticIpStatus {
  14298. s.ElasticIp = &v
  14299. return s
  14300. }
  14301. // SetStatus sets the Status field's value.
  14302. func (s *ElasticIpStatus) SetStatus(v string) *ElasticIpStatus {
  14303. s.Status = &v
  14304. return s
  14305. }
  14306. type EnableLoggingInput struct {
  14307. _ struct{} `type:"structure"`
  14308. // The name of an existing S3 bucket where the log files are to be stored.
  14309. //
  14310. // Constraints:
  14311. //
  14312. // * Must be in the same region as the cluster
  14313. //
  14314. // * The cluster must have read bucket and put object permissions
  14315. //
  14316. // BucketName is a required field
  14317. BucketName *string `type:"string" required:"true"`
  14318. // The identifier of the cluster on which logging is to be started.
  14319. //
  14320. // Example: examplecluster
  14321. //
  14322. // ClusterIdentifier is a required field
  14323. ClusterIdentifier *string `type:"string" required:"true"`
  14324. // The prefix applied to the log file names.
  14325. //
  14326. // Constraints:
  14327. //
  14328. // * Cannot exceed 512 characters
  14329. //
  14330. // * Cannot contain spaces( ), double quotes ("), single quotes ('), a backslash
  14331. // (\), or control characters. The hexadecimal codes for invalid characters
  14332. // are:
  14333. //
  14334. // x00 to x20
  14335. //
  14336. // x22
  14337. //
  14338. // x27
  14339. //
  14340. // x5c
  14341. //
  14342. // x7f or larger
  14343. S3KeyPrefix *string `type:"string"`
  14344. }
  14345. // String returns the string representation
  14346. func (s EnableLoggingInput) String() string {
  14347. return awsutil.Prettify(s)
  14348. }
  14349. // GoString returns the string representation
  14350. func (s EnableLoggingInput) GoString() string {
  14351. return s.String()
  14352. }
  14353. // Validate inspects the fields of the type to determine if they are valid.
  14354. func (s *EnableLoggingInput) Validate() error {
  14355. invalidParams := request.ErrInvalidParams{Context: "EnableLoggingInput"}
  14356. if s.BucketName == nil {
  14357. invalidParams.Add(request.NewErrParamRequired("BucketName"))
  14358. }
  14359. if s.ClusterIdentifier == nil {
  14360. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  14361. }
  14362. if invalidParams.Len() > 0 {
  14363. return invalidParams
  14364. }
  14365. return nil
  14366. }
  14367. // SetBucketName sets the BucketName field's value.
  14368. func (s *EnableLoggingInput) SetBucketName(v string) *EnableLoggingInput {
  14369. s.BucketName = &v
  14370. return s
  14371. }
  14372. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  14373. func (s *EnableLoggingInput) SetClusterIdentifier(v string) *EnableLoggingInput {
  14374. s.ClusterIdentifier = &v
  14375. return s
  14376. }
  14377. // SetS3KeyPrefix sets the S3KeyPrefix field's value.
  14378. func (s *EnableLoggingInput) SetS3KeyPrefix(v string) *EnableLoggingInput {
  14379. s.S3KeyPrefix = &v
  14380. return s
  14381. }
  14382. type EnableSnapshotCopyInput struct {
  14383. _ struct{} `type:"structure"`
  14384. // The unique identifier of the source cluster to copy snapshots from.
  14385. //
  14386. // Constraints: Must be the valid name of an existing cluster that does not
  14387. // already have cross-region snapshot copy enabled.
  14388. //
  14389. // ClusterIdentifier is a required field
  14390. ClusterIdentifier *string `type:"string" required:"true"`
  14391. // The destination AWS Region that you want to copy snapshots to.
  14392. //
  14393. // Constraints: Must be the name of a valid AWS Region. For more information,
  14394. // see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region)
  14395. // in the Amazon Web Services General Reference.
  14396. //
  14397. // DestinationRegion is a required field
  14398. DestinationRegion *string `type:"string" required:"true"`
  14399. // The number of days to retain newly copied snapshots in the destination AWS
  14400. // Region after they are copied from the source AWS Region. If the value is
  14401. // -1, the manual snapshot is retained indefinitely.
  14402. //
  14403. // The value must be either -1 or an integer between 1 and 3,653.
  14404. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  14405. // The number of days to retain automated snapshots in the destination region
  14406. // after they are copied from the source region.
  14407. //
  14408. // Default: 7.
  14409. //
  14410. // Constraints: Must be at least 1 and no more than 35.
  14411. RetentionPeriod *int64 `type:"integer"`
  14412. // The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted
  14413. // cluster are copied to the destination region.
  14414. SnapshotCopyGrantName *string `type:"string"`
  14415. }
  14416. // String returns the string representation
  14417. func (s EnableSnapshotCopyInput) String() string {
  14418. return awsutil.Prettify(s)
  14419. }
  14420. // GoString returns the string representation
  14421. func (s EnableSnapshotCopyInput) GoString() string {
  14422. return s.String()
  14423. }
  14424. // Validate inspects the fields of the type to determine if they are valid.
  14425. func (s *EnableSnapshotCopyInput) Validate() error {
  14426. invalidParams := request.ErrInvalidParams{Context: "EnableSnapshotCopyInput"}
  14427. if s.ClusterIdentifier == nil {
  14428. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  14429. }
  14430. if s.DestinationRegion == nil {
  14431. invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
  14432. }
  14433. if invalidParams.Len() > 0 {
  14434. return invalidParams
  14435. }
  14436. return nil
  14437. }
  14438. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  14439. func (s *EnableSnapshotCopyInput) SetClusterIdentifier(v string) *EnableSnapshotCopyInput {
  14440. s.ClusterIdentifier = &v
  14441. return s
  14442. }
  14443. // SetDestinationRegion sets the DestinationRegion field's value.
  14444. func (s *EnableSnapshotCopyInput) SetDestinationRegion(v string) *EnableSnapshotCopyInput {
  14445. s.DestinationRegion = &v
  14446. return s
  14447. }
  14448. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  14449. func (s *EnableSnapshotCopyInput) SetManualSnapshotRetentionPeriod(v int64) *EnableSnapshotCopyInput {
  14450. s.ManualSnapshotRetentionPeriod = &v
  14451. return s
  14452. }
  14453. // SetRetentionPeriod sets the RetentionPeriod field's value.
  14454. func (s *EnableSnapshotCopyInput) SetRetentionPeriod(v int64) *EnableSnapshotCopyInput {
  14455. s.RetentionPeriod = &v
  14456. return s
  14457. }
  14458. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  14459. func (s *EnableSnapshotCopyInput) SetSnapshotCopyGrantName(v string) *EnableSnapshotCopyInput {
  14460. s.SnapshotCopyGrantName = &v
  14461. return s
  14462. }
  14463. type EnableSnapshotCopyOutput struct {
  14464. _ struct{} `type:"structure"`
  14465. // Describes a cluster.
  14466. Cluster *Cluster `type:"structure"`
  14467. }
  14468. // String returns the string representation
  14469. func (s EnableSnapshotCopyOutput) String() string {
  14470. return awsutil.Prettify(s)
  14471. }
  14472. // GoString returns the string representation
  14473. func (s EnableSnapshotCopyOutput) GoString() string {
  14474. return s.String()
  14475. }
  14476. // SetCluster sets the Cluster field's value.
  14477. func (s *EnableSnapshotCopyOutput) SetCluster(v *Cluster) *EnableSnapshotCopyOutput {
  14478. s.Cluster = v
  14479. return s
  14480. }
  14481. // Describes a connection endpoint.
  14482. type Endpoint struct {
  14483. _ struct{} `type:"structure"`
  14484. // The DNS address of the Cluster.
  14485. Address *string `type:"string"`
  14486. // The port that the database engine is listening on.
  14487. Port *int64 `type:"integer"`
  14488. }
  14489. // String returns the string representation
  14490. func (s Endpoint) String() string {
  14491. return awsutil.Prettify(s)
  14492. }
  14493. // GoString returns the string representation
  14494. func (s Endpoint) GoString() string {
  14495. return s.String()
  14496. }
  14497. // SetAddress sets the Address field's value.
  14498. func (s *Endpoint) SetAddress(v string) *Endpoint {
  14499. s.Address = &v
  14500. return s
  14501. }
  14502. // SetPort sets the Port field's value.
  14503. func (s *Endpoint) SetPort(v int64) *Endpoint {
  14504. s.Port = &v
  14505. return s
  14506. }
  14507. // Describes an event.
  14508. type Event struct {
  14509. _ struct{} `type:"structure"`
  14510. // The date and time of the event.
  14511. Date *time.Time `type:"timestamp"`
  14512. // A list of the event categories.
  14513. //
  14514. // Values: Configuration, Management, Monitoring, Security
  14515. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  14516. // The identifier of the event.
  14517. EventId *string `type:"string"`
  14518. // The text of this event.
  14519. Message *string `type:"string"`
  14520. // The severity of the event.
  14521. //
  14522. // Values: ERROR, INFO
  14523. Severity *string `type:"string"`
  14524. // The identifier for the source of the event.
  14525. SourceIdentifier *string `type:"string"`
  14526. // The source type for this event.
  14527. SourceType *string `type:"string" enum:"SourceType"`
  14528. }
  14529. // String returns the string representation
  14530. func (s Event) String() string {
  14531. return awsutil.Prettify(s)
  14532. }
  14533. // GoString returns the string representation
  14534. func (s Event) GoString() string {
  14535. return s.String()
  14536. }
  14537. // SetDate sets the Date field's value.
  14538. func (s *Event) SetDate(v time.Time) *Event {
  14539. s.Date = &v
  14540. return s
  14541. }
  14542. // SetEventCategories sets the EventCategories field's value.
  14543. func (s *Event) SetEventCategories(v []*string) *Event {
  14544. s.EventCategories = v
  14545. return s
  14546. }
  14547. // SetEventId sets the EventId field's value.
  14548. func (s *Event) SetEventId(v string) *Event {
  14549. s.EventId = &v
  14550. return s
  14551. }
  14552. // SetMessage sets the Message field's value.
  14553. func (s *Event) SetMessage(v string) *Event {
  14554. s.Message = &v
  14555. return s
  14556. }
  14557. // SetSeverity sets the Severity field's value.
  14558. func (s *Event) SetSeverity(v string) *Event {
  14559. s.Severity = &v
  14560. return s
  14561. }
  14562. // SetSourceIdentifier sets the SourceIdentifier field's value.
  14563. func (s *Event) SetSourceIdentifier(v string) *Event {
  14564. s.SourceIdentifier = &v
  14565. return s
  14566. }
  14567. // SetSourceType sets the SourceType field's value.
  14568. func (s *Event) SetSourceType(v string) *Event {
  14569. s.SourceType = &v
  14570. return s
  14571. }
  14572. // Describes event categories.
  14573. type EventCategoriesMap struct {
  14574. _ struct{} `type:"structure"`
  14575. // The events in the event category.
  14576. Events []*EventInfoMap `locationNameList:"EventInfoMap" type:"list"`
  14577. // The source type, such as cluster or cluster-snapshot, that the returned categories
  14578. // belong to.
  14579. SourceType *string `type:"string"`
  14580. }
  14581. // String returns the string representation
  14582. func (s EventCategoriesMap) String() string {
  14583. return awsutil.Prettify(s)
  14584. }
  14585. // GoString returns the string representation
  14586. func (s EventCategoriesMap) GoString() string {
  14587. return s.String()
  14588. }
  14589. // SetEvents sets the Events field's value.
  14590. func (s *EventCategoriesMap) SetEvents(v []*EventInfoMap) *EventCategoriesMap {
  14591. s.Events = v
  14592. return s
  14593. }
  14594. // SetSourceType sets the SourceType field's value.
  14595. func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
  14596. s.SourceType = &v
  14597. return s
  14598. }
  14599. // Describes event information.
  14600. type EventInfoMap struct {
  14601. _ struct{} `type:"structure"`
  14602. // The category of an Amazon Redshift event.
  14603. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  14604. // The description of an Amazon Redshift event.
  14605. EventDescription *string `type:"string"`
  14606. // The identifier of an Amazon Redshift event.
  14607. EventId *string `type:"string"`
  14608. // The severity of the event.
  14609. //
  14610. // Values: ERROR, INFO
  14611. Severity *string `type:"string"`
  14612. }
  14613. // String returns the string representation
  14614. func (s EventInfoMap) String() string {
  14615. return awsutil.Prettify(s)
  14616. }
  14617. // GoString returns the string representation
  14618. func (s EventInfoMap) GoString() string {
  14619. return s.String()
  14620. }
  14621. // SetEventCategories sets the EventCategories field's value.
  14622. func (s *EventInfoMap) SetEventCategories(v []*string) *EventInfoMap {
  14623. s.EventCategories = v
  14624. return s
  14625. }
  14626. // SetEventDescription sets the EventDescription field's value.
  14627. func (s *EventInfoMap) SetEventDescription(v string) *EventInfoMap {
  14628. s.EventDescription = &v
  14629. return s
  14630. }
  14631. // SetEventId sets the EventId field's value.
  14632. func (s *EventInfoMap) SetEventId(v string) *EventInfoMap {
  14633. s.EventId = &v
  14634. return s
  14635. }
  14636. // SetSeverity sets the Severity field's value.
  14637. func (s *EventInfoMap) SetSeverity(v string) *EventInfoMap {
  14638. s.Severity = &v
  14639. return s
  14640. }
  14641. // Describes event subscriptions.
  14642. type EventSubscription struct {
  14643. _ struct{} `type:"structure"`
  14644. // The name of the Amazon Redshift event notification subscription.
  14645. CustSubscriptionId *string `type:"string"`
  14646. // The AWS customer account associated with the Amazon Redshift event notification
  14647. // subscription.
  14648. CustomerAwsId *string `type:"string"`
  14649. // A boolean value indicating whether the subscription is enabled; true indicates
  14650. // that the subscription is enabled.
  14651. Enabled *bool `type:"boolean"`
  14652. // The list of Amazon Redshift event categories specified in the event notification
  14653. // subscription.
  14654. //
  14655. // Values: Configuration, Management, Monitoring, Security
  14656. EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
  14657. // The event severity specified in the Amazon Redshift event notification subscription.
  14658. //
  14659. // Values: ERROR, INFO
  14660. Severity *string `type:"string"`
  14661. // The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
  14662. // notification subscription.
  14663. SnsTopicArn *string `type:"string"`
  14664. // A list of the sources that publish events to the Amazon Redshift event notification
  14665. // subscription.
  14666. SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
  14667. // The source type of the events returned the Amazon Redshift event notification,
  14668. // such as cluster, or cluster-snapshot.
  14669. SourceType *string `type:"string"`
  14670. // The status of the Amazon Redshift event notification subscription.
  14671. //
  14672. // Constraints:
  14673. //
  14674. // * Can be one of the following: active | no-permission | topic-not-exist
  14675. //
  14676. // * The status "no-permission" indicates that Amazon Redshift no longer
  14677. // has permission to post to the Amazon SNS topic. The status "topic-not-exist"
  14678. // indicates that the topic was deleted after the subscription was created.
  14679. Status *string `type:"string"`
  14680. // The date and time the Amazon Redshift event notification subscription was
  14681. // created.
  14682. SubscriptionCreationTime *time.Time `type:"timestamp"`
  14683. // The list of tags for the event subscription.
  14684. Tags []*Tag `locationNameList:"Tag" type:"list"`
  14685. }
  14686. // String returns the string representation
  14687. func (s EventSubscription) String() string {
  14688. return awsutil.Prettify(s)
  14689. }
  14690. // GoString returns the string representation
  14691. func (s EventSubscription) GoString() string {
  14692. return s.String()
  14693. }
  14694. // SetCustSubscriptionId sets the CustSubscriptionId field's value.
  14695. func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
  14696. s.CustSubscriptionId = &v
  14697. return s
  14698. }
  14699. // SetCustomerAwsId sets the CustomerAwsId field's value.
  14700. func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
  14701. s.CustomerAwsId = &v
  14702. return s
  14703. }
  14704. // SetEnabled sets the Enabled field's value.
  14705. func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
  14706. s.Enabled = &v
  14707. return s
  14708. }
  14709. // SetEventCategoriesList sets the EventCategoriesList field's value.
  14710. func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
  14711. s.EventCategoriesList = v
  14712. return s
  14713. }
  14714. // SetSeverity sets the Severity field's value.
  14715. func (s *EventSubscription) SetSeverity(v string) *EventSubscription {
  14716. s.Severity = &v
  14717. return s
  14718. }
  14719. // SetSnsTopicArn sets the SnsTopicArn field's value.
  14720. func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
  14721. s.SnsTopicArn = &v
  14722. return s
  14723. }
  14724. // SetSourceIdsList sets the SourceIdsList field's value.
  14725. func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
  14726. s.SourceIdsList = v
  14727. return s
  14728. }
  14729. // SetSourceType sets the SourceType field's value.
  14730. func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
  14731. s.SourceType = &v
  14732. return s
  14733. }
  14734. // SetStatus sets the Status field's value.
  14735. func (s *EventSubscription) SetStatus(v string) *EventSubscription {
  14736. s.Status = &v
  14737. return s
  14738. }
  14739. // SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
  14740. func (s *EventSubscription) SetSubscriptionCreationTime(v time.Time) *EventSubscription {
  14741. s.SubscriptionCreationTime = &v
  14742. return s
  14743. }
  14744. // SetTags sets the Tags field's value.
  14745. func (s *EventSubscription) SetTags(v []*Tag) *EventSubscription {
  14746. s.Tags = v
  14747. return s
  14748. }
  14749. // The request parameters to get cluster credentials.
  14750. type GetClusterCredentialsInput struct {
  14751. _ struct{} `type:"structure"`
  14752. // Create a database user with the name specified for the user named in DbUser
  14753. // if one does not exist.
  14754. AutoCreate *bool `type:"boolean"`
  14755. // The unique identifier of the cluster that contains the database for which
  14756. // your are requesting credentials. This parameter is case sensitive.
  14757. //
  14758. // ClusterIdentifier is a required field
  14759. ClusterIdentifier *string `type:"string" required:"true"`
  14760. // A list of the names of existing database groups that the user named in DbUser
  14761. // will join for the current session, in addition to any group memberships for
  14762. // an existing user. If not specified, a new user is added only to PUBLIC.
  14763. //
  14764. // Database group name constraints
  14765. //
  14766. // * Must be 1 to 64 alphanumeric characters or hyphens
  14767. //
  14768. // * Must contain only lowercase letters, numbers, underscore, plus sign,
  14769. // period (dot), at symbol (@), or hyphen.
  14770. //
  14771. // * First character must be a letter.
  14772. //
  14773. // * Must not contain a colon ( : ) or slash ( / ).
  14774. //
  14775. // * Cannot be a reserved word. A list of reserved words can be found in
  14776. // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  14777. // in the Amazon Redshift Database Developer Guide.
  14778. DbGroups []*string `locationNameList:"DbGroup" type:"list"`
  14779. // The name of a database that DbUser is authorized to log on to. If DbName
  14780. // is not specified, DbUser can log on to any existing database.
  14781. //
  14782. // Constraints:
  14783. //
  14784. // * Must be 1 to 64 alphanumeric characters or hyphens
  14785. //
  14786. // * Must contain only lowercase letters, numbers, underscore, plus sign,
  14787. // period (dot), at symbol (@), or hyphen.
  14788. //
  14789. // * First character must be a letter.
  14790. //
  14791. // * Must not contain a colon ( : ) or slash ( / ).
  14792. //
  14793. // * Cannot be a reserved word. A list of reserved words can be found in
  14794. // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  14795. // in the Amazon Redshift Database Developer Guide.
  14796. DbName *string `type:"string"`
  14797. // The name of a database user. If a user name matching DbUser exists in the
  14798. // database, the temporary user credentials have the same permissions as the
  14799. // existing user. If DbUser doesn't exist in the database and Autocreate is
  14800. // True, a new user is created using the value for DbUser with PUBLIC permissions.
  14801. // If a database user matching the value for DbUser doesn't exist and Autocreate
  14802. // is False, then the command succeeds but the connection attempt will fail
  14803. // because the user doesn't exist in the database.
  14804. //
  14805. // For more information, see CREATE USER (http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html)
  14806. // in the Amazon Redshift Database Developer Guide.
  14807. //
  14808. // Constraints:
  14809. //
  14810. // * Must be 1 to 64 alphanumeric characters or hyphens. The user name can't
  14811. // be PUBLIC.
  14812. //
  14813. // * Must contain only lowercase letters, numbers, underscore, plus sign,
  14814. // period (dot), at symbol (@), or hyphen.
  14815. //
  14816. // * First character must be a letter.
  14817. //
  14818. // * Must not contain a colon ( : ) or slash ( / ).
  14819. //
  14820. // * Cannot be a reserved word. A list of reserved words can be found in
  14821. // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
  14822. // in the Amazon Redshift Database Developer Guide.
  14823. //
  14824. // DbUser is a required field
  14825. DbUser *string `type:"string" required:"true"`
  14826. // The number of seconds until the returned temporary password expires.
  14827. //
  14828. // Constraint: minimum 900, maximum 3600.
  14829. //
  14830. // Default: 900
  14831. DurationSeconds *int64 `type:"integer"`
  14832. }
  14833. // String returns the string representation
  14834. func (s GetClusterCredentialsInput) String() string {
  14835. return awsutil.Prettify(s)
  14836. }
  14837. // GoString returns the string representation
  14838. func (s GetClusterCredentialsInput) GoString() string {
  14839. return s.String()
  14840. }
  14841. // Validate inspects the fields of the type to determine if they are valid.
  14842. func (s *GetClusterCredentialsInput) Validate() error {
  14843. invalidParams := request.ErrInvalidParams{Context: "GetClusterCredentialsInput"}
  14844. if s.ClusterIdentifier == nil {
  14845. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  14846. }
  14847. if s.DbUser == nil {
  14848. invalidParams.Add(request.NewErrParamRequired("DbUser"))
  14849. }
  14850. if invalidParams.Len() > 0 {
  14851. return invalidParams
  14852. }
  14853. return nil
  14854. }
  14855. // SetAutoCreate sets the AutoCreate field's value.
  14856. func (s *GetClusterCredentialsInput) SetAutoCreate(v bool) *GetClusterCredentialsInput {
  14857. s.AutoCreate = &v
  14858. return s
  14859. }
  14860. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  14861. func (s *GetClusterCredentialsInput) SetClusterIdentifier(v string) *GetClusterCredentialsInput {
  14862. s.ClusterIdentifier = &v
  14863. return s
  14864. }
  14865. // SetDbGroups sets the DbGroups field's value.
  14866. func (s *GetClusterCredentialsInput) SetDbGroups(v []*string) *GetClusterCredentialsInput {
  14867. s.DbGroups = v
  14868. return s
  14869. }
  14870. // SetDbName sets the DbName field's value.
  14871. func (s *GetClusterCredentialsInput) SetDbName(v string) *GetClusterCredentialsInput {
  14872. s.DbName = &v
  14873. return s
  14874. }
  14875. // SetDbUser sets the DbUser field's value.
  14876. func (s *GetClusterCredentialsInput) SetDbUser(v string) *GetClusterCredentialsInput {
  14877. s.DbUser = &v
  14878. return s
  14879. }
  14880. // SetDurationSeconds sets the DurationSeconds field's value.
  14881. func (s *GetClusterCredentialsInput) SetDurationSeconds(v int64) *GetClusterCredentialsInput {
  14882. s.DurationSeconds = &v
  14883. return s
  14884. }
  14885. // Temporary credentials with authorization to log on to an Amazon Redshift
  14886. // database.
  14887. type GetClusterCredentialsOutput struct {
  14888. _ struct{} `type:"structure"`
  14889. // A temporary password that authorizes the user name returned by DbUser to
  14890. // log on to the database DbName.
  14891. DbPassword *string `type:"string" sensitive:"true"`
  14892. // A database user name that is authorized to log on to the database DbName
  14893. // using the password DbPassword. If the specified DbUser exists in the database,
  14894. // the new user name has the same database privileges as the the user named
  14895. // in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter
  14896. // is specifed, DbUser is added to the listed groups for any sessions created
  14897. // using these credentials.
  14898. DbUser *string `type:"string"`
  14899. // The date and time the password in DbPassword expires.
  14900. Expiration *time.Time `type:"timestamp"`
  14901. }
  14902. // String returns the string representation
  14903. func (s GetClusterCredentialsOutput) String() string {
  14904. return awsutil.Prettify(s)
  14905. }
  14906. // GoString returns the string representation
  14907. func (s GetClusterCredentialsOutput) GoString() string {
  14908. return s.String()
  14909. }
  14910. // SetDbPassword sets the DbPassword field's value.
  14911. func (s *GetClusterCredentialsOutput) SetDbPassword(v string) *GetClusterCredentialsOutput {
  14912. s.DbPassword = &v
  14913. return s
  14914. }
  14915. // SetDbUser sets the DbUser field's value.
  14916. func (s *GetClusterCredentialsOutput) SetDbUser(v string) *GetClusterCredentialsOutput {
  14917. s.DbUser = &v
  14918. return s
  14919. }
  14920. // SetExpiration sets the Expiration field's value.
  14921. func (s *GetClusterCredentialsOutput) SetExpiration(v time.Time) *GetClusterCredentialsOutput {
  14922. s.Expiration = &v
  14923. return s
  14924. }
  14925. type GetReservedNodeExchangeOfferingsInput struct {
  14926. _ struct{} `type:"structure"`
  14927. // A value that indicates the starting point for the next set of ReservedNodeOfferings.
  14928. Marker *string `type:"string"`
  14929. // An integer setting the maximum number of ReservedNodeOfferings to retrieve.
  14930. MaxRecords *int64 `type:"integer"`
  14931. // A string representing the node identifier for the DC1 Reserved Node to be
  14932. // exchanged.
  14933. //
  14934. // ReservedNodeId is a required field
  14935. ReservedNodeId *string `type:"string" required:"true"`
  14936. }
  14937. // String returns the string representation
  14938. func (s GetReservedNodeExchangeOfferingsInput) String() string {
  14939. return awsutil.Prettify(s)
  14940. }
  14941. // GoString returns the string representation
  14942. func (s GetReservedNodeExchangeOfferingsInput) GoString() string {
  14943. return s.String()
  14944. }
  14945. // Validate inspects the fields of the type to determine if they are valid.
  14946. func (s *GetReservedNodeExchangeOfferingsInput) Validate() error {
  14947. invalidParams := request.ErrInvalidParams{Context: "GetReservedNodeExchangeOfferingsInput"}
  14948. if s.ReservedNodeId == nil {
  14949. invalidParams.Add(request.NewErrParamRequired("ReservedNodeId"))
  14950. }
  14951. if invalidParams.Len() > 0 {
  14952. return invalidParams
  14953. }
  14954. return nil
  14955. }
  14956. // SetMarker sets the Marker field's value.
  14957. func (s *GetReservedNodeExchangeOfferingsInput) SetMarker(v string) *GetReservedNodeExchangeOfferingsInput {
  14958. s.Marker = &v
  14959. return s
  14960. }
  14961. // SetMaxRecords sets the MaxRecords field's value.
  14962. func (s *GetReservedNodeExchangeOfferingsInput) SetMaxRecords(v int64) *GetReservedNodeExchangeOfferingsInput {
  14963. s.MaxRecords = &v
  14964. return s
  14965. }
  14966. // SetReservedNodeId sets the ReservedNodeId field's value.
  14967. func (s *GetReservedNodeExchangeOfferingsInput) SetReservedNodeId(v string) *GetReservedNodeExchangeOfferingsInput {
  14968. s.ReservedNodeId = &v
  14969. return s
  14970. }
  14971. type GetReservedNodeExchangeOfferingsOutput struct {
  14972. _ struct{} `type:"structure"`
  14973. // An optional parameter that specifies the starting point for returning a set
  14974. // of response records. When the results of a GetReservedNodeExchangeOfferings
  14975. // request exceed the value specified in MaxRecords, Amazon Redshift returns
  14976. // a value in the marker field of the response. You can retrieve the next set
  14977. // of response records by providing the returned marker value in the marker
  14978. // parameter and retrying the request.
  14979. Marker *string `type:"string"`
  14980. // Returns an array of ReservedNodeOffering objects.
  14981. ReservedNodeOfferings []*ReservedNodeOffering `locationNameList:"ReservedNodeOffering" type:"list"`
  14982. }
  14983. // String returns the string representation
  14984. func (s GetReservedNodeExchangeOfferingsOutput) String() string {
  14985. return awsutil.Prettify(s)
  14986. }
  14987. // GoString returns the string representation
  14988. func (s GetReservedNodeExchangeOfferingsOutput) GoString() string {
  14989. return s.String()
  14990. }
  14991. // SetMarker sets the Marker field's value.
  14992. func (s *GetReservedNodeExchangeOfferingsOutput) SetMarker(v string) *GetReservedNodeExchangeOfferingsOutput {
  14993. s.Marker = &v
  14994. return s
  14995. }
  14996. // SetReservedNodeOfferings sets the ReservedNodeOfferings field's value.
  14997. func (s *GetReservedNodeExchangeOfferingsOutput) SetReservedNodeOfferings(v []*ReservedNodeOffering) *GetReservedNodeExchangeOfferingsOutput {
  14998. s.ReservedNodeOfferings = v
  14999. return s
  15000. }
  15001. // Returns information about an HSM client certificate. The certificate is stored
  15002. // in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift
  15003. // cluster to encrypt data files.
  15004. type HsmClientCertificate struct {
  15005. _ struct{} `type:"structure"`
  15006. // The identifier of the HSM client certificate.
  15007. HsmClientCertificateIdentifier *string `type:"string"`
  15008. // The public key that the Amazon Redshift cluster will use to connect to the
  15009. // HSM. You must register the public key in the HSM.
  15010. HsmClientCertificatePublicKey *string `type:"string"`
  15011. // The list of tags for the HSM client certificate.
  15012. Tags []*Tag `locationNameList:"Tag" type:"list"`
  15013. }
  15014. // String returns the string representation
  15015. func (s HsmClientCertificate) String() string {
  15016. return awsutil.Prettify(s)
  15017. }
  15018. // GoString returns the string representation
  15019. func (s HsmClientCertificate) GoString() string {
  15020. return s.String()
  15021. }
  15022. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  15023. func (s *HsmClientCertificate) SetHsmClientCertificateIdentifier(v string) *HsmClientCertificate {
  15024. s.HsmClientCertificateIdentifier = &v
  15025. return s
  15026. }
  15027. // SetHsmClientCertificatePublicKey sets the HsmClientCertificatePublicKey field's value.
  15028. func (s *HsmClientCertificate) SetHsmClientCertificatePublicKey(v string) *HsmClientCertificate {
  15029. s.HsmClientCertificatePublicKey = &v
  15030. return s
  15031. }
  15032. // SetTags sets the Tags field's value.
  15033. func (s *HsmClientCertificate) SetTags(v []*Tag) *HsmClientCertificate {
  15034. s.Tags = v
  15035. return s
  15036. }
  15037. // Returns information about an HSM configuration, which is an object that describes
  15038. // to Amazon Redshift clusters the information they require to connect to an
  15039. // HSM where they can store database encryption keys.
  15040. type HsmConfiguration struct {
  15041. _ struct{} `type:"structure"`
  15042. // A text description of the HSM configuration.
  15043. Description *string `type:"string"`
  15044. // The name of the Amazon Redshift HSM configuration.
  15045. HsmConfigurationIdentifier *string `type:"string"`
  15046. // The IP address that the Amazon Redshift cluster must use to access the HSM.
  15047. HsmIpAddress *string `type:"string"`
  15048. // The name of the partition in the HSM where the Amazon Redshift clusters will
  15049. // store their database encryption keys.
  15050. HsmPartitionName *string `type:"string"`
  15051. // The list of tags for the HSM configuration.
  15052. Tags []*Tag `locationNameList:"Tag" type:"list"`
  15053. }
  15054. // String returns the string representation
  15055. func (s HsmConfiguration) String() string {
  15056. return awsutil.Prettify(s)
  15057. }
  15058. // GoString returns the string representation
  15059. func (s HsmConfiguration) GoString() string {
  15060. return s.String()
  15061. }
  15062. // SetDescription sets the Description field's value.
  15063. func (s *HsmConfiguration) SetDescription(v string) *HsmConfiguration {
  15064. s.Description = &v
  15065. return s
  15066. }
  15067. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  15068. func (s *HsmConfiguration) SetHsmConfigurationIdentifier(v string) *HsmConfiguration {
  15069. s.HsmConfigurationIdentifier = &v
  15070. return s
  15071. }
  15072. // SetHsmIpAddress sets the HsmIpAddress field's value.
  15073. func (s *HsmConfiguration) SetHsmIpAddress(v string) *HsmConfiguration {
  15074. s.HsmIpAddress = &v
  15075. return s
  15076. }
  15077. // SetHsmPartitionName sets the HsmPartitionName field's value.
  15078. func (s *HsmConfiguration) SetHsmPartitionName(v string) *HsmConfiguration {
  15079. s.HsmPartitionName = &v
  15080. return s
  15081. }
  15082. // SetTags sets the Tags field's value.
  15083. func (s *HsmConfiguration) SetTags(v []*Tag) *HsmConfiguration {
  15084. s.Tags = v
  15085. return s
  15086. }
  15087. // Describes the status of changes to HSM settings.
  15088. type HsmStatus struct {
  15089. _ struct{} `type:"structure"`
  15090. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  15091. // uses to retrieve the data encryption keys stored in an HSM.
  15092. HsmClientCertificateIdentifier *string `type:"string"`
  15093. // Specifies the name of the HSM configuration that contains the information
  15094. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  15095. HsmConfigurationIdentifier *string `type:"string"`
  15096. // Reports whether the Amazon Redshift cluster has finished applying any HSM
  15097. // settings changes specified in a modify cluster command.
  15098. //
  15099. // Values: active, applying
  15100. Status *string `type:"string"`
  15101. }
  15102. // String returns the string representation
  15103. func (s HsmStatus) String() string {
  15104. return awsutil.Prettify(s)
  15105. }
  15106. // GoString returns the string representation
  15107. func (s HsmStatus) GoString() string {
  15108. return s.String()
  15109. }
  15110. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  15111. func (s *HsmStatus) SetHsmClientCertificateIdentifier(v string) *HsmStatus {
  15112. s.HsmClientCertificateIdentifier = &v
  15113. return s
  15114. }
  15115. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  15116. func (s *HsmStatus) SetHsmConfigurationIdentifier(v string) *HsmStatus {
  15117. s.HsmConfigurationIdentifier = &v
  15118. return s
  15119. }
  15120. // SetStatus sets the Status field's value.
  15121. func (s *HsmStatus) SetStatus(v string) *HsmStatus {
  15122. s.Status = &v
  15123. return s
  15124. }
  15125. // Describes an IP range used in a security group.
  15126. type IPRange struct {
  15127. _ struct{} `type:"structure"`
  15128. // The IP range in Classless Inter-Domain Routing (CIDR) notation.
  15129. CIDRIP *string `type:"string"`
  15130. // The status of the IP range, for example, "authorized".
  15131. Status *string `type:"string"`
  15132. // The list of tags for the IP range.
  15133. Tags []*Tag `locationNameList:"Tag" type:"list"`
  15134. }
  15135. // String returns the string representation
  15136. func (s IPRange) String() string {
  15137. return awsutil.Prettify(s)
  15138. }
  15139. // GoString returns the string representation
  15140. func (s IPRange) GoString() string {
  15141. return s.String()
  15142. }
  15143. // SetCIDRIP sets the CIDRIP field's value.
  15144. func (s *IPRange) SetCIDRIP(v string) *IPRange {
  15145. s.CIDRIP = &v
  15146. return s
  15147. }
  15148. // SetStatus sets the Status field's value.
  15149. func (s *IPRange) SetStatus(v string) *IPRange {
  15150. s.Status = &v
  15151. return s
  15152. }
  15153. // SetTags sets the Tags field's value.
  15154. func (s *IPRange) SetTags(v []*Tag) *IPRange {
  15155. s.Tags = v
  15156. return s
  15157. }
  15158. // Describes the status of logging for a cluster.
  15159. type LoggingStatus struct {
  15160. _ struct{} `type:"structure"`
  15161. // The name of the S3 bucket where the log files are stored.
  15162. BucketName *string `type:"string"`
  15163. // The message indicating that logs failed to be delivered.
  15164. LastFailureMessage *string `type:"string"`
  15165. // The last time when logs failed to be delivered.
  15166. LastFailureTime *time.Time `type:"timestamp"`
  15167. // The last time that logs were delivered.
  15168. LastSuccessfulDeliveryTime *time.Time `type:"timestamp"`
  15169. // true if logging is on, false if logging is off.
  15170. LoggingEnabled *bool `type:"boolean"`
  15171. // The prefix applied to the log file names.
  15172. S3KeyPrefix *string `type:"string"`
  15173. }
  15174. // String returns the string representation
  15175. func (s LoggingStatus) String() string {
  15176. return awsutil.Prettify(s)
  15177. }
  15178. // GoString returns the string representation
  15179. func (s LoggingStatus) GoString() string {
  15180. return s.String()
  15181. }
  15182. // SetBucketName sets the BucketName field's value.
  15183. func (s *LoggingStatus) SetBucketName(v string) *LoggingStatus {
  15184. s.BucketName = &v
  15185. return s
  15186. }
  15187. // SetLastFailureMessage sets the LastFailureMessage field's value.
  15188. func (s *LoggingStatus) SetLastFailureMessage(v string) *LoggingStatus {
  15189. s.LastFailureMessage = &v
  15190. return s
  15191. }
  15192. // SetLastFailureTime sets the LastFailureTime field's value.
  15193. func (s *LoggingStatus) SetLastFailureTime(v time.Time) *LoggingStatus {
  15194. s.LastFailureTime = &v
  15195. return s
  15196. }
  15197. // SetLastSuccessfulDeliveryTime sets the LastSuccessfulDeliveryTime field's value.
  15198. func (s *LoggingStatus) SetLastSuccessfulDeliveryTime(v time.Time) *LoggingStatus {
  15199. s.LastSuccessfulDeliveryTime = &v
  15200. return s
  15201. }
  15202. // SetLoggingEnabled sets the LoggingEnabled field's value.
  15203. func (s *LoggingStatus) SetLoggingEnabled(v bool) *LoggingStatus {
  15204. s.LoggingEnabled = &v
  15205. return s
  15206. }
  15207. // SetS3KeyPrefix sets the S3KeyPrefix field's value.
  15208. func (s *LoggingStatus) SetS3KeyPrefix(v string) *LoggingStatus {
  15209. s.S3KeyPrefix = &v
  15210. return s
  15211. }
  15212. // Defines a maintenance track that determines which Amazon Redshift version
  15213. // to apply during a maintenance window. If the value for MaintenanceTrack is
  15214. // current, the cluster is updated to the most recently certified maintenance
  15215. // release. If the value is trailing, the cluster is updated to the previously
  15216. // certified maintenance release.
  15217. type MaintenanceTrack struct {
  15218. _ struct{} `type:"structure"`
  15219. // The version number for the cluster release.
  15220. DatabaseVersion *string `type:"string"`
  15221. // The name of the maintenance track. Possible values are current and trailing.
  15222. MaintenanceTrackName *string `type:"string"`
  15223. // An array of UpdateTarget objects to update with the maintenance track.
  15224. UpdateTargets []*UpdateTarget `locationNameList:"UpdateTarget" type:"list"`
  15225. }
  15226. // String returns the string representation
  15227. func (s MaintenanceTrack) String() string {
  15228. return awsutil.Prettify(s)
  15229. }
  15230. // GoString returns the string representation
  15231. func (s MaintenanceTrack) GoString() string {
  15232. return s.String()
  15233. }
  15234. // SetDatabaseVersion sets the DatabaseVersion field's value.
  15235. func (s *MaintenanceTrack) SetDatabaseVersion(v string) *MaintenanceTrack {
  15236. s.DatabaseVersion = &v
  15237. return s
  15238. }
  15239. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  15240. func (s *MaintenanceTrack) SetMaintenanceTrackName(v string) *MaintenanceTrack {
  15241. s.MaintenanceTrackName = &v
  15242. return s
  15243. }
  15244. // SetUpdateTargets sets the UpdateTargets field's value.
  15245. func (s *MaintenanceTrack) SetUpdateTargets(v []*UpdateTarget) *MaintenanceTrack {
  15246. s.UpdateTargets = v
  15247. return s
  15248. }
  15249. type ModifyClusterDbRevisionInput struct {
  15250. _ struct{} `type:"structure"`
  15251. // The unique identifier of a cluster whose database revision you want to modify.
  15252. //
  15253. // Example: examplecluster
  15254. //
  15255. // ClusterIdentifier is a required field
  15256. ClusterIdentifier *string `type:"string" required:"true"`
  15257. // The identifier of the database revision. You can retrieve this value from
  15258. // the response to the DescribeClusterDbRevisions request.
  15259. //
  15260. // RevisionTarget is a required field
  15261. RevisionTarget *string `type:"string" required:"true"`
  15262. }
  15263. // String returns the string representation
  15264. func (s ModifyClusterDbRevisionInput) String() string {
  15265. return awsutil.Prettify(s)
  15266. }
  15267. // GoString returns the string representation
  15268. func (s ModifyClusterDbRevisionInput) GoString() string {
  15269. return s.String()
  15270. }
  15271. // Validate inspects the fields of the type to determine if they are valid.
  15272. func (s *ModifyClusterDbRevisionInput) Validate() error {
  15273. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterDbRevisionInput"}
  15274. if s.ClusterIdentifier == nil {
  15275. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  15276. }
  15277. if s.RevisionTarget == nil {
  15278. invalidParams.Add(request.NewErrParamRequired("RevisionTarget"))
  15279. }
  15280. if invalidParams.Len() > 0 {
  15281. return invalidParams
  15282. }
  15283. return nil
  15284. }
  15285. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  15286. func (s *ModifyClusterDbRevisionInput) SetClusterIdentifier(v string) *ModifyClusterDbRevisionInput {
  15287. s.ClusterIdentifier = &v
  15288. return s
  15289. }
  15290. // SetRevisionTarget sets the RevisionTarget field's value.
  15291. func (s *ModifyClusterDbRevisionInput) SetRevisionTarget(v string) *ModifyClusterDbRevisionInput {
  15292. s.RevisionTarget = &v
  15293. return s
  15294. }
  15295. type ModifyClusterDbRevisionOutput struct {
  15296. _ struct{} `type:"structure"`
  15297. // Describes a cluster.
  15298. Cluster *Cluster `type:"structure"`
  15299. }
  15300. // String returns the string representation
  15301. func (s ModifyClusterDbRevisionOutput) String() string {
  15302. return awsutil.Prettify(s)
  15303. }
  15304. // GoString returns the string representation
  15305. func (s ModifyClusterDbRevisionOutput) GoString() string {
  15306. return s.String()
  15307. }
  15308. // SetCluster sets the Cluster field's value.
  15309. func (s *ModifyClusterDbRevisionOutput) SetCluster(v *Cluster) *ModifyClusterDbRevisionOutput {
  15310. s.Cluster = v
  15311. return s
  15312. }
  15313. type ModifyClusterIamRolesInput struct {
  15314. _ struct{} `type:"structure"`
  15315. // Zero or more IAM roles to associate with the cluster. The roles must be in
  15316. // their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
  15317. // with a single cluster in a single request.
  15318. AddIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  15319. // The unique identifier of the cluster for which you want to associate or disassociate
  15320. // IAM roles.
  15321. //
  15322. // ClusterIdentifier is a required field
  15323. ClusterIdentifier *string `type:"string" required:"true"`
  15324. // Zero or more IAM roles in ARN format to disassociate from the cluster. You
  15325. // can disassociate up to 10 IAM roles from a single cluster in a single request.
  15326. RemoveIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  15327. }
  15328. // String returns the string representation
  15329. func (s ModifyClusterIamRolesInput) String() string {
  15330. return awsutil.Prettify(s)
  15331. }
  15332. // GoString returns the string representation
  15333. func (s ModifyClusterIamRolesInput) GoString() string {
  15334. return s.String()
  15335. }
  15336. // Validate inspects the fields of the type to determine if they are valid.
  15337. func (s *ModifyClusterIamRolesInput) Validate() error {
  15338. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterIamRolesInput"}
  15339. if s.ClusterIdentifier == nil {
  15340. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  15341. }
  15342. if invalidParams.Len() > 0 {
  15343. return invalidParams
  15344. }
  15345. return nil
  15346. }
  15347. // SetAddIamRoles sets the AddIamRoles field's value.
  15348. func (s *ModifyClusterIamRolesInput) SetAddIamRoles(v []*string) *ModifyClusterIamRolesInput {
  15349. s.AddIamRoles = v
  15350. return s
  15351. }
  15352. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  15353. func (s *ModifyClusterIamRolesInput) SetClusterIdentifier(v string) *ModifyClusterIamRolesInput {
  15354. s.ClusterIdentifier = &v
  15355. return s
  15356. }
  15357. // SetRemoveIamRoles sets the RemoveIamRoles field's value.
  15358. func (s *ModifyClusterIamRolesInput) SetRemoveIamRoles(v []*string) *ModifyClusterIamRolesInput {
  15359. s.RemoveIamRoles = v
  15360. return s
  15361. }
  15362. type ModifyClusterIamRolesOutput struct {
  15363. _ struct{} `type:"structure"`
  15364. // Describes a cluster.
  15365. Cluster *Cluster `type:"structure"`
  15366. }
  15367. // String returns the string representation
  15368. func (s ModifyClusterIamRolesOutput) String() string {
  15369. return awsutil.Prettify(s)
  15370. }
  15371. // GoString returns the string representation
  15372. func (s ModifyClusterIamRolesOutput) GoString() string {
  15373. return s.String()
  15374. }
  15375. // SetCluster sets the Cluster field's value.
  15376. func (s *ModifyClusterIamRolesOutput) SetCluster(v *Cluster) *ModifyClusterIamRolesOutput {
  15377. s.Cluster = v
  15378. return s
  15379. }
  15380. type ModifyClusterInput struct {
  15381. _ struct{} `type:"structure"`
  15382. // If true, major version upgrades will be applied automatically to the cluster
  15383. // during the maintenance window.
  15384. //
  15385. // Default: false
  15386. AllowVersionUpgrade *bool `type:"boolean"`
  15387. // The number of days that automated snapshots are retained. If the value is
  15388. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  15389. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  15390. //
  15391. // If you decrease the automated snapshot retention period from its current
  15392. // value, existing automated snapshots that fall outside of the new retention
  15393. // period will be immediately deleted.
  15394. //
  15395. // Default: Uses existing setting.
  15396. //
  15397. // Constraints: Must be a value from 0 to 35.
  15398. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  15399. // The unique identifier of the cluster to be modified.
  15400. //
  15401. // Example: examplecluster
  15402. //
  15403. // ClusterIdentifier is a required field
  15404. ClusterIdentifier *string `type:"string" required:"true"`
  15405. // The name of the cluster parameter group to apply to this cluster. This change
  15406. // is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.
  15407. //
  15408. // Default: Uses existing setting.
  15409. //
  15410. // Constraints: The cluster parameter group must be in the same parameter group
  15411. // family that matches the cluster version.
  15412. ClusterParameterGroupName *string `type:"string"`
  15413. // A list of cluster security groups to be authorized on this cluster. This
  15414. // change is asynchronously applied as soon as possible.
  15415. //
  15416. // Security groups currently associated with the cluster, and not in the list
  15417. // of groups to apply, will be revoked from the cluster.
  15418. //
  15419. // Constraints:
  15420. //
  15421. // * Must be 1 to 255 alphanumeric characters or hyphens
  15422. //
  15423. // * First character must be a letter
  15424. //
  15425. // * Cannot end with a hyphen or contain two consecutive hyphens
  15426. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  15427. // The new cluster type.
  15428. //
  15429. // When you submit your cluster resize request, your existing cluster goes into
  15430. // a read-only mode. After Amazon Redshift provisions a new cluster based on
  15431. // your resize requirements, there will be outage for a period while the old
  15432. // cluster is deleted and your connection is switched to the new cluster. You
  15433. // can use DescribeResize to track the progress of the resize request.
  15434. //
  15435. // Valid Values: multi-node | single-node
  15436. ClusterType *string `type:"string"`
  15437. // The new version number of the Amazon Redshift engine to upgrade to.
  15438. //
  15439. // For major version upgrades, if a non-default cluster parameter group is currently
  15440. // in use, a new cluster parameter group in the cluster parameter group family
  15441. // for the new version must be specified. The new cluster parameter group can
  15442. // be the default for that cluster parameter group family. For more information
  15443. // about parameters and parameter groups, go to Amazon Redshift Parameter Groups
  15444. // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  15445. // in the Amazon Redshift Cluster Management Guide.
  15446. //
  15447. // Example: 1.0
  15448. ClusterVersion *string `type:"string"`
  15449. // The Elastic IP (EIP) address for the cluster.
  15450. //
  15451. // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
  15452. // through an Internet gateway. For more information about provisioning clusters
  15453. // 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)
  15454. // in the Amazon Redshift Cluster Management Guide.
  15455. ElasticIp *string `type:"string"`
  15456. // Indicates whether the cluster is encrypted. If the cluster is encrypted and
  15457. // you provide a value for the KmsKeyId parameter, we will encrypt the cluster
  15458. // with the provided KmsKeyId. If you don't provide a KmsKeyId, we will encrypt
  15459. // with the default key. In the China region we will use legacy encryption if
  15460. // you specify that the cluster is encrypted.
  15461. Encrypted *bool `type:"boolean"`
  15462. // An option that specifies whether to create the cluster with enhanced VPC
  15463. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  15464. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  15465. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  15466. // in the Amazon Redshift Cluster Management Guide.
  15467. //
  15468. // If this option is true, enhanced VPC routing is enabled.
  15469. //
  15470. // Default: false
  15471. EnhancedVpcRouting *bool `type:"boolean"`
  15472. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  15473. // uses to retrieve the data encryption keys stored in an HSM.
  15474. HsmClientCertificateIdentifier *string `type:"string"`
  15475. // Specifies the name of the HSM configuration that contains the information
  15476. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  15477. HsmConfigurationIdentifier *string `type:"string"`
  15478. // The AWS Key Management Service (KMS) key ID of the encryption key that you
  15479. // want to use to encrypt data in the cluster.
  15480. KmsKeyId *string `type:"string"`
  15481. // The name for the maintenance track that you want to assign for the cluster.
  15482. // This name change is asynchronous. The new track name stays in the PendingModifiedValues
  15483. // for the cluster until the next maintenance window. When the maintenance track
  15484. // changes, the cluster is switched to the latest cluster release available
  15485. // for the maintenance track. At this point, the maintenance track name is applied.
  15486. MaintenanceTrackName *string `type:"string"`
  15487. // The default for number of days that a newly created manual snapshot is retained.
  15488. // If the value is -1, the manual snapshot is retained indefinitely. This value
  15489. // doesn't retroactively change the retention periods of existing manual snapshots.
  15490. //
  15491. // The value must be either -1 or an integer between 1 and 3,653.
  15492. //
  15493. // The default value is -1.
  15494. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  15495. // The new password for the cluster master user. This change is asynchronously
  15496. // applied as soon as possible. Between the time of the request and the completion
  15497. // of the request, the MasterUserPassword element exists in the PendingModifiedValues
  15498. // element of the operation response.
  15499. //
  15500. // Operations never return the password, so this operation provides a way to
  15501. // regain access to the master user account for a cluster if the password is
  15502. // lost.
  15503. //
  15504. // Default: Uses existing setting.
  15505. //
  15506. // Constraints:
  15507. //
  15508. // * Must be between 8 and 64 characters in length.
  15509. //
  15510. // * Must contain at least one uppercase letter.
  15511. //
  15512. // * Must contain at least one lowercase letter.
  15513. //
  15514. // * Must contain one number.
  15515. //
  15516. // * Can be any printable ASCII character (ASCII code 33 to 126) except '
  15517. // (single quote), " (double quote), \, /, @, or space.
  15518. MasterUserPassword *string `type:"string"`
  15519. // The new identifier for the cluster.
  15520. //
  15521. // Constraints:
  15522. //
  15523. // * Must contain from 1 to 63 alphanumeric characters or hyphens.
  15524. //
  15525. // * Alphabetic characters must be lowercase.
  15526. //
  15527. // * First character must be a letter.
  15528. //
  15529. // * Cannot end with a hyphen or contain two consecutive hyphens.
  15530. //
  15531. // * Must be unique for all clusters within an AWS account.
  15532. //
  15533. // Example: examplecluster
  15534. NewClusterIdentifier *string `type:"string"`
  15535. // The new node type of the cluster. If you specify a new node type, you must
  15536. // also specify the number of nodes parameter.
  15537. //
  15538. // When you submit your request to resize a cluster, Amazon Redshift sets access
  15539. // permissions for the cluster to read-only. After Amazon Redshift provisions
  15540. // a new cluster according to your resize requirements, there will be a temporary
  15541. // outage while the old cluster is deleted and your connection is switched to
  15542. // the new cluster. When the new connection is complete, the original access
  15543. // permissions for the cluster are restored. You can use DescribeResize to track
  15544. // the progress of the resize request.
  15545. //
  15546. // Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large
  15547. // | dc2.8xlarge
  15548. NodeType *string `type:"string"`
  15549. // The new number of nodes of the cluster. If you specify a new number of nodes,
  15550. // you must also specify the node type parameter.
  15551. //
  15552. // When you submit your request to resize a cluster, Amazon Redshift sets access
  15553. // permissions for the cluster to read-only. After Amazon Redshift provisions
  15554. // a new cluster according to your resize requirements, there will be a temporary
  15555. // outage while the old cluster is deleted and your connection is switched to
  15556. // the new cluster. When the new connection is complete, the original access
  15557. // permissions for the cluster are restored. You can use DescribeResize to track
  15558. // the progress of the resize request.
  15559. //
  15560. // Valid Values: Integer greater than 0.
  15561. NumberOfNodes *int64 `type:"integer"`
  15562. // The weekly time range (in UTC) during which system maintenance can occur,
  15563. // if necessary. If system maintenance is necessary during the window, it may
  15564. // result in an outage.
  15565. //
  15566. // This maintenance window change is made immediately. If the new maintenance
  15567. // window indicates the current time, there must be at least 120 minutes between
  15568. // the current time and end of the window in order to ensure that pending changes
  15569. // are applied.
  15570. //
  15571. // Default: Uses existing setting.
  15572. //
  15573. // Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00.
  15574. //
  15575. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  15576. //
  15577. // Constraints: Must be at least 30 minutes.
  15578. PreferredMaintenanceWindow *string `type:"string"`
  15579. // If true, the cluster can be accessed from a public network. Only clusters
  15580. // in VPCs can be set to be publicly available.
  15581. PubliclyAccessible *bool `type:"boolean"`
  15582. // A list of virtual private cloud (VPC) security groups to be associated with
  15583. // the cluster. This change is asynchronously applied as soon as possible.
  15584. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  15585. }
  15586. // String returns the string representation
  15587. func (s ModifyClusterInput) String() string {
  15588. return awsutil.Prettify(s)
  15589. }
  15590. // GoString returns the string representation
  15591. func (s ModifyClusterInput) GoString() string {
  15592. return s.String()
  15593. }
  15594. // Validate inspects the fields of the type to determine if they are valid.
  15595. func (s *ModifyClusterInput) Validate() error {
  15596. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"}
  15597. if s.ClusterIdentifier == nil {
  15598. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  15599. }
  15600. if invalidParams.Len() > 0 {
  15601. return invalidParams
  15602. }
  15603. return nil
  15604. }
  15605. // SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
  15606. func (s *ModifyClusterInput) SetAllowVersionUpgrade(v bool) *ModifyClusterInput {
  15607. s.AllowVersionUpgrade = &v
  15608. return s
  15609. }
  15610. // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
  15611. func (s *ModifyClusterInput) SetAutomatedSnapshotRetentionPeriod(v int64) *ModifyClusterInput {
  15612. s.AutomatedSnapshotRetentionPeriod = &v
  15613. return s
  15614. }
  15615. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  15616. func (s *ModifyClusterInput) SetClusterIdentifier(v string) *ModifyClusterInput {
  15617. s.ClusterIdentifier = &v
  15618. return s
  15619. }
  15620. // SetClusterParameterGroupName sets the ClusterParameterGroupName field's value.
  15621. func (s *ModifyClusterInput) SetClusterParameterGroupName(v string) *ModifyClusterInput {
  15622. s.ClusterParameterGroupName = &v
  15623. return s
  15624. }
  15625. // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
  15626. func (s *ModifyClusterInput) SetClusterSecurityGroups(v []*string) *ModifyClusterInput {
  15627. s.ClusterSecurityGroups = v
  15628. return s
  15629. }
  15630. // SetClusterType sets the ClusterType field's value.
  15631. func (s *ModifyClusterInput) SetClusterType(v string) *ModifyClusterInput {
  15632. s.ClusterType = &v
  15633. return s
  15634. }
  15635. // SetClusterVersion sets the ClusterVersion field's value.
  15636. func (s *ModifyClusterInput) SetClusterVersion(v string) *ModifyClusterInput {
  15637. s.ClusterVersion = &v
  15638. return s
  15639. }
  15640. // SetElasticIp sets the ElasticIp field's value.
  15641. func (s *ModifyClusterInput) SetElasticIp(v string) *ModifyClusterInput {
  15642. s.ElasticIp = &v
  15643. return s
  15644. }
  15645. // SetEncrypted sets the Encrypted field's value.
  15646. func (s *ModifyClusterInput) SetEncrypted(v bool) *ModifyClusterInput {
  15647. s.Encrypted = &v
  15648. return s
  15649. }
  15650. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  15651. func (s *ModifyClusterInput) SetEnhancedVpcRouting(v bool) *ModifyClusterInput {
  15652. s.EnhancedVpcRouting = &v
  15653. return s
  15654. }
  15655. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  15656. func (s *ModifyClusterInput) SetHsmClientCertificateIdentifier(v string) *ModifyClusterInput {
  15657. s.HsmClientCertificateIdentifier = &v
  15658. return s
  15659. }
  15660. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  15661. func (s *ModifyClusterInput) SetHsmConfigurationIdentifier(v string) *ModifyClusterInput {
  15662. s.HsmConfigurationIdentifier = &v
  15663. return s
  15664. }
  15665. // SetKmsKeyId sets the KmsKeyId field's value.
  15666. func (s *ModifyClusterInput) SetKmsKeyId(v string) *ModifyClusterInput {
  15667. s.KmsKeyId = &v
  15668. return s
  15669. }
  15670. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  15671. func (s *ModifyClusterInput) SetMaintenanceTrackName(v string) *ModifyClusterInput {
  15672. s.MaintenanceTrackName = &v
  15673. return s
  15674. }
  15675. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  15676. func (s *ModifyClusterInput) SetManualSnapshotRetentionPeriod(v int64) *ModifyClusterInput {
  15677. s.ManualSnapshotRetentionPeriod = &v
  15678. return s
  15679. }
  15680. // SetMasterUserPassword sets the MasterUserPassword field's value.
  15681. func (s *ModifyClusterInput) SetMasterUserPassword(v string) *ModifyClusterInput {
  15682. s.MasterUserPassword = &v
  15683. return s
  15684. }
  15685. // SetNewClusterIdentifier sets the NewClusterIdentifier field's value.
  15686. func (s *ModifyClusterInput) SetNewClusterIdentifier(v string) *ModifyClusterInput {
  15687. s.NewClusterIdentifier = &v
  15688. return s
  15689. }
  15690. // SetNodeType sets the NodeType field's value.
  15691. func (s *ModifyClusterInput) SetNodeType(v string) *ModifyClusterInput {
  15692. s.NodeType = &v
  15693. return s
  15694. }
  15695. // SetNumberOfNodes sets the NumberOfNodes field's value.
  15696. func (s *ModifyClusterInput) SetNumberOfNodes(v int64) *ModifyClusterInput {
  15697. s.NumberOfNodes = &v
  15698. return s
  15699. }
  15700. // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  15701. func (s *ModifyClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyClusterInput {
  15702. s.PreferredMaintenanceWindow = &v
  15703. return s
  15704. }
  15705. // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  15706. func (s *ModifyClusterInput) SetPubliclyAccessible(v bool) *ModifyClusterInput {
  15707. s.PubliclyAccessible = &v
  15708. return s
  15709. }
  15710. // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  15711. func (s *ModifyClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyClusterInput {
  15712. s.VpcSecurityGroupIds = v
  15713. return s
  15714. }
  15715. type ModifyClusterMaintenanceInput struct {
  15716. _ struct{} `type:"structure"`
  15717. // A unique identifier for the cluster.
  15718. //
  15719. // ClusterIdentifier is a required field
  15720. ClusterIdentifier *string `type:"string" required:"true"`
  15721. // A boolean indicating whether to enable the deferred maintenance window.
  15722. DeferMaintenance *bool `type:"boolean"`
  15723. // An integer indicating the duration of the maintenance window in days. If
  15724. // you specify a duration, you can't specify an end time. The duration must
  15725. // be 14 days or less.
  15726. DeferMaintenanceDuration *int64 `type:"integer"`
  15727. // A timestamp indicating end time for the deferred maintenance window. If you
  15728. // specify an end time, you can't specify a duration.
  15729. DeferMaintenanceEndTime *time.Time `type:"timestamp"`
  15730. // A unique identifier for the deferred maintenance window.
  15731. DeferMaintenanceIdentifier *string `type:"string"`
  15732. // A timestamp indicating the start time for the deferred maintenance window.
  15733. DeferMaintenanceStartTime *time.Time `type:"timestamp"`
  15734. }
  15735. // String returns the string representation
  15736. func (s ModifyClusterMaintenanceInput) String() string {
  15737. return awsutil.Prettify(s)
  15738. }
  15739. // GoString returns the string representation
  15740. func (s ModifyClusterMaintenanceInput) GoString() string {
  15741. return s.String()
  15742. }
  15743. // Validate inspects the fields of the type to determine if they are valid.
  15744. func (s *ModifyClusterMaintenanceInput) Validate() error {
  15745. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterMaintenanceInput"}
  15746. if s.ClusterIdentifier == nil {
  15747. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  15748. }
  15749. if invalidParams.Len() > 0 {
  15750. return invalidParams
  15751. }
  15752. return nil
  15753. }
  15754. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  15755. func (s *ModifyClusterMaintenanceInput) SetClusterIdentifier(v string) *ModifyClusterMaintenanceInput {
  15756. s.ClusterIdentifier = &v
  15757. return s
  15758. }
  15759. // SetDeferMaintenance sets the DeferMaintenance field's value.
  15760. func (s *ModifyClusterMaintenanceInput) SetDeferMaintenance(v bool) *ModifyClusterMaintenanceInput {
  15761. s.DeferMaintenance = &v
  15762. return s
  15763. }
  15764. // SetDeferMaintenanceDuration sets the DeferMaintenanceDuration field's value.
  15765. func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceDuration(v int64) *ModifyClusterMaintenanceInput {
  15766. s.DeferMaintenanceDuration = &v
  15767. return s
  15768. }
  15769. // SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
  15770. func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceEndTime(v time.Time) *ModifyClusterMaintenanceInput {
  15771. s.DeferMaintenanceEndTime = &v
  15772. return s
  15773. }
  15774. // SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
  15775. func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceIdentifier(v string) *ModifyClusterMaintenanceInput {
  15776. s.DeferMaintenanceIdentifier = &v
  15777. return s
  15778. }
  15779. // SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
  15780. func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceStartTime(v time.Time) *ModifyClusterMaintenanceInput {
  15781. s.DeferMaintenanceStartTime = &v
  15782. return s
  15783. }
  15784. type ModifyClusterMaintenanceOutput struct {
  15785. _ struct{} `type:"structure"`
  15786. // Describes a cluster.
  15787. Cluster *Cluster `type:"structure"`
  15788. }
  15789. // String returns the string representation
  15790. func (s ModifyClusterMaintenanceOutput) String() string {
  15791. return awsutil.Prettify(s)
  15792. }
  15793. // GoString returns the string representation
  15794. func (s ModifyClusterMaintenanceOutput) GoString() string {
  15795. return s.String()
  15796. }
  15797. // SetCluster sets the Cluster field's value.
  15798. func (s *ModifyClusterMaintenanceOutput) SetCluster(v *Cluster) *ModifyClusterMaintenanceOutput {
  15799. s.Cluster = v
  15800. return s
  15801. }
  15802. type ModifyClusterOutput struct {
  15803. _ struct{} `type:"structure"`
  15804. // Describes a cluster.
  15805. Cluster *Cluster `type:"structure"`
  15806. }
  15807. // String returns the string representation
  15808. func (s ModifyClusterOutput) String() string {
  15809. return awsutil.Prettify(s)
  15810. }
  15811. // GoString returns the string representation
  15812. func (s ModifyClusterOutput) GoString() string {
  15813. return s.String()
  15814. }
  15815. // SetCluster sets the Cluster field's value.
  15816. func (s *ModifyClusterOutput) SetCluster(v *Cluster) *ModifyClusterOutput {
  15817. s.Cluster = v
  15818. return s
  15819. }
  15820. type ModifyClusterParameterGroupInput struct {
  15821. _ struct{} `type:"structure"`
  15822. // The name of the parameter group to be modified.
  15823. //
  15824. // ParameterGroupName is a required field
  15825. ParameterGroupName *string `type:"string" required:"true"`
  15826. // An array of parameters to be modified. A maximum of 20 parameters can be
  15827. // modified in a single request.
  15828. //
  15829. // For each parameter to be modified, you must supply at least the parameter
  15830. // name and parameter value; other name-value pairs of the parameter are optional.
  15831. //
  15832. // For the workload management (WLM) configuration, you must supply all the
  15833. // name-value pairs in the wlm_json_configuration parameter.
  15834. //
  15835. // Parameters is a required field
  15836. Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
  15837. }
  15838. // String returns the string representation
  15839. func (s ModifyClusterParameterGroupInput) String() string {
  15840. return awsutil.Prettify(s)
  15841. }
  15842. // GoString returns the string representation
  15843. func (s ModifyClusterParameterGroupInput) GoString() string {
  15844. return s.String()
  15845. }
  15846. // Validate inspects the fields of the type to determine if they are valid.
  15847. func (s *ModifyClusterParameterGroupInput) Validate() error {
  15848. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterParameterGroupInput"}
  15849. if s.ParameterGroupName == nil {
  15850. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  15851. }
  15852. if s.Parameters == nil {
  15853. invalidParams.Add(request.NewErrParamRequired("Parameters"))
  15854. }
  15855. if invalidParams.Len() > 0 {
  15856. return invalidParams
  15857. }
  15858. return nil
  15859. }
  15860. // SetParameterGroupName sets the ParameterGroupName field's value.
  15861. func (s *ModifyClusterParameterGroupInput) SetParameterGroupName(v string) *ModifyClusterParameterGroupInput {
  15862. s.ParameterGroupName = &v
  15863. return s
  15864. }
  15865. // SetParameters sets the Parameters field's value.
  15866. func (s *ModifyClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyClusterParameterGroupInput {
  15867. s.Parameters = v
  15868. return s
  15869. }
  15870. type ModifyClusterSnapshotInput struct {
  15871. _ struct{} `type:"structure"`
  15872. // A Boolean option to override an exception if the retention period has already
  15873. // passed.
  15874. Force *bool `type:"boolean"`
  15875. // The number of days that a manual snapshot is retained. If the value is -1,
  15876. // the manual snapshot is retained indefinitely.
  15877. //
  15878. // If the manual snapshot falls outside of the new retention period, you can
  15879. // specify the force option to immediately delete the snapshot.
  15880. //
  15881. // The value must be either -1 or an integer between 1 and 3,653.
  15882. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  15883. // The identifier of the snapshot whose setting you want to modify.
  15884. //
  15885. // SnapshotIdentifier is a required field
  15886. SnapshotIdentifier *string `type:"string" required:"true"`
  15887. }
  15888. // String returns the string representation
  15889. func (s ModifyClusterSnapshotInput) String() string {
  15890. return awsutil.Prettify(s)
  15891. }
  15892. // GoString returns the string representation
  15893. func (s ModifyClusterSnapshotInput) GoString() string {
  15894. return s.String()
  15895. }
  15896. // Validate inspects the fields of the type to determine if they are valid.
  15897. func (s *ModifyClusterSnapshotInput) Validate() error {
  15898. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSnapshotInput"}
  15899. if s.SnapshotIdentifier == nil {
  15900. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  15901. }
  15902. if invalidParams.Len() > 0 {
  15903. return invalidParams
  15904. }
  15905. return nil
  15906. }
  15907. // SetForce sets the Force field's value.
  15908. func (s *ModifyClusterSnapshotInput) SetForce(v bool) *ModifyClusterSnapshotInput {
  15909. s.Force = &v
  15910. return s
  15911. }
  15912. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  15913. func (s *ModifyClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *ModifyClusterSnapshotInput {
  15914. s.ManualSnapshotRetentionPeriod = &v
  15915. return s
  15916. }
  15917. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  15918. func (s *ModifyClusterSnapshotInput) SetSnapshotIdentifier(v string) *ModifyClusterSnapshotInput {
  15919. s.SnapshotIdentifier = &v
  15920. return s
  15921. }
  15922. type ModifyClusterSnapshotOutput struct {
  15923. _ struct{} `type:"structure"`
  15924. // Describes a snapshot.
  15925. Snapshot *Snapshot `type:"structure"`
  15926. }
  15927. // String returns the string representation
  15928. func (s ModifyClusterSnapshotOutput) String() string {
  15929. return awsutil.Prettify(s)
  15930. }
  15931. // GoString returns the string representation
  15932. func (s ModifyClusterSnapshotOutput) GoString() string {
  15933. return s.String()
  15934. }
  15935. // SetSnapshot sets the Snapshot field's value.
  15936. func (s *ModifyClusterSnapshotOutput) SetSnapshot(v *Snapshot) *ModifyClusterSnapshotOutput {
  15937. s.Snapshot = v
  15938. return s
  15939. }
  15940. type ModifyClusterSnapshotScheduleInput struct {
  15941. _ struct{} `type:"structure"`
  15942. // A unique identifier for the cluster whose snapshot schedule you want to modify.
  15943. //
  15944. // ClusterIdentifier is a required field
  15945. ClusterIdentifier *string `type:"string" required:"true"`
  15946. // A boolean to indicate whether to remove the assoiciation between the cluster
  15947. // and the schedule.
  15948. DisassociateSchedule *bool `type:"boolean"`
  15949. // A unique alphanumeric identifier for the schedule that you want to associate
  15950. // with the cluster.
  15951. ScheduleIdentifier *string `type:"string"`
  15952. }
  15953. // String returns the string representation
  15954. func (s ModifyClusterSnapshotScheduleInput) String() string {
  15955. return awsutil.Prettify(s)
  15956. }
  15957. // GoString returns the string representation
  15958. func (s ModifyClusterSnapshotScheduleInput) GoString() string {
  15959. return s.String()
  15960. }
  15961. // Validate inspects the fields of the type to determine if they are valid.
  15962. func (s *ModifyClusterSnapshotScheduleInput) Validate() error {
  15963. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSnapshotScheduleInput"}
  15964. if s.ClusterIdentifier == nil {
  15965. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  15966. }
  15967. if invalidParams.Len() > 0 {
  15968. return invalidParams
  15969. }
  15970. return nil
  15971. }
  15972. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  15973. func (s *ModifyClusterSnapshotScheduleInput) SetClusterIdentifier(v string) *ModifyClusterSnapshotScheduleInput {
  15974. s.ClusterIdentifier = &v
  15975. return s
  15976. }
  15977. // SetDisassociateSchedule sets the DisassociateSchedule field's value.
  15978. func (s *ModifyClusterSnapshotScheduleInput) SetDisassociateSchedule(v bool) *ModifyClusterSnapshotScheduleInput {
  15979. s.DisassociateSchedule = &v
  15980. return s
  15981. }
  15982. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  15983. func (s *ModifyClusterSnapshotScheduleInput) SetScheduleIdentifier(v string) *ModifyClusterSnapshotScheduleInput {
  15984. s.ScheduleIdentifier = &v
  15985. return s
  15986. }
  15987. type ModifyClusterSnapshotScheduleOutput struct {
  15988. _ struct{} `type:"structure"`
  15989. }
  15990. // String returns the string representation
  15991. func (s ModifyClusterSnapshotScheduleOutput) String() string {
  15992. return awsutil.Prettify(s)
  15993. }
  15994. // GoString returns the string representation
  15995. func (s ModifyClusterSnapshotScheduleOutput) GoString() string {
  15996. return s.String()
  15997. }
  15998. type ModifyClusterSubnetGroupInput struct {
  15999. _ struct{} `type:"structure"`
  16000. // The name of the subnet group to be modified.
  16001. //
  16002. // ClusterSubnetGroupName is a required field
  16003. ClusterSubnetGroupName *string `type:"string" required:"true"`
  16004. // A text description of the subnet group to be modified.
  16005. Description *string `type:"string"`
  16006. // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
  16007. // single request.
  16008. //
  16009. // SubnetIds is a required field
  16010. SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  16011. }
  16012. // String returns the string representation
  16013. func (s ModifyClusterSubnetGroupInput) String() string {
  16014. return awsutil.Prettify(s)
  16015. }
  16016. // GoString returns the string representation
  16017. func (s ModifyClusterSubnetGroupInput) GoString() string {
  16018. return s.String()
  16019. }
  16020. // Validate inspects the fields of the type to determine if they are valid.
  16021. func (s *ModifyClusterSubnetGroupInput) Validate() error {
  16022. invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSubnetGroupInput"}
  16023. if s.ClusterSubnetGroupName == nil {
  16024. invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName"))
  16025. }
  16026. if s.SubnetIds == nil {
  16027. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  16028. }
  16029. if invalidParams.Len() > 0 {
  16030. return invalidParams
  16031. }
  16032. return nil
  16033. }
  16034. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  16035. func (s *ModifyClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *ModifyClusterSubnetGroupInput {
  16036. s.ClusterSubnetGroupName = &v
  16037. return s
  16038. }
  16039. // SetDescription sets the Description field's value.
  16040. func (s *ModifyClusterSubnetGroupInput) SetDescription(v string) *ModifyClusterSubnetGroupInput {
  16041. s.Description = &v
  16042. return s
  16043. }
  16044. // SetSubnetIds sets the SubnetIds field's value.
  16045. func (s *ModifyClusterSubnetGroupInput) SetSubnetIds(v []*string) *ModifyClusterSubnetGroupInput {
  16046. s.SubnetIds = v
  16047. return s
  16048. }
  16049. type ModifyClusterSubnetGroupOutput struct {
  16050. _ struct{} `type:"structure"`
  16051. // Describes a subnet group.
  16052. ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"`
  16053. }
  16054. // String returns the string representation
  16055. func (s ModifyClusterSubnetGroupOutput) String() string {
  16056. return awsutil.Prettify(s)
  16057. }
  16058. // GoString returns the string representation
  16059. func (s ModifyClusterSubnetGroupOutput) GoString() string {
  16060. return s.String()
  16061. }
  16062. // SetClusterSubnetGroup sets the ClusterSubnetGroup field's value.
  16063. func (s *ModifyClusterSubnetGroupOutput) SetClusterSubnetGroup(v *ClusterSubnetGroup) *ModifyClusterSubnetGroupOutput {
  16064. s.ClusterSubnetGroup = v
  16065. return s
  16066. }
  16067. type ModifyEventSubscriptionInput struct {
  16068. _ struct{} `type:"structure"`
  16069. // A Boolean value indicating if the subscription is enabled. true indicates
  16070. // the subscription is enabled
  16071. Enabled *bool `type:"boolean"`
  16072. // Specifies the Amazon Redshift event categories to be published by the event
  16073. // notification subscription.
  16074. //
  16075. // Values: configuration, management, monitoring, security
  16076. EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  16077. // Specifies the Amazon Redshift event severity to be published by the event
  16078. // notification subscription.
  16079. //
  16080. // Values: ERROR, INFO
  16081. Severity *string `type:"string"`
  16082. // The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification
  16083. // subscription.
  16084. SnsTopicArn *string `type:"string"`
  16085. // A list of one or more identifiers of Amazon Redshift source objects. All
  16086. // of the objects must be of the same type as was specified in the source type
  16087. // parameter. The event subscription will return only events generated by the
  16088. // specified objects. If not specified, then events are returned for all objects
  16089. // within the source type specified.
  16090. //
  16091. // Example: my-cluster-1, my-cluster-2
  16092. //
  16093. // Example: my-snapshot-20131010
  16094. SourceIds []*string `locationNameList:"SourceId" type:"list"`
  16095. // The type of source that will be generating the events. For example, if you
  16096. // want to be notified of events generated by a cluster, you would set this
  16097. // parameter to cluster. If this value is not specified, events are returned
  16098. // for all Amazon Redshift objects in your AWS account. You must specify a source
  16099. // type in order to specify source IDs.
  16100. //
  16101. // Valid values: cluster, cluster-parameter-group, cluster-security-group, and
  16102. // cluster-snapshot.
  16103. SourceType *string `type:"string"`
  16104. // The name of the modified Amazon Redshift event notification subscription.
  16105. //
  16106. // SubscriptionName is a required field
  16107. SubscriptionName *string `type:"string" required:"true"`
  16108. }
  16109. // String returns the string representation
  16110. func (s ModifyEventSubscriptionInput) String() string {
  16111. return awsutil.Prettify(s)
  16112. }
  16113. // GoString returns the string representation
  16114. func (s ModifyEventSubscriptionInput) GoString() string {
  16115. return s.String()
  16116. }
  16117. // Validate inspects the fields of the type to determine if they are valid.
  16118. func (s *ModifyEventSubscriptionInput) Validate() error {
  16119. invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
  16120. if s.SubscriptionName == nil {
  16121. invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  16122. }
  16123. if invalidParams.Len() > 0 {
  16124. return invalidParams
  16125. }
  16126. return nil
  16127. }
  16128. // SetEnabled sets the Enabled field's value.
  16129. func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
  16130. s.Enabled = &v
  16131. return s
  16132. }
  16133. // SetEventCategories sets the EventCategories field's value.
  16134. func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
  16135. s.EventCategories = v
  16136. return s
  16137. }
  16138. // SetSeverity sets the Severity field's value.
  16139. func (s *ModifyEventSubscriptionInput) SetSeverity(v string) *ModifyEventSubscriptionInput {
  16140. s.Severity = &v
  16141. return s
  16142. }
  16143. // SetSnsTopicArn sets the SnsTopicArn field's value.
  16144. func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
  16145. s.SnsTopicArn = &v
  16146. return s
  16147. }
  16148. // SetSourceIds sets the SourceIds field's value.
  16149. func (s *ModifyEventSubscriptionInput) SetSourceIds(v []*string) *ModifyEventSubscriptionInput {
  16150. s.SourceIds = v
  16151. return s
  16152. }
  16153. // SetSourceType sets the SourceType field's value.
  16154. func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
  16155. s.SourceType = &v
  16156. return s
  16157. }
  16158. // SetSubscriptionName sets the SubscriptionName field's value.
  16159. func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
  16160. s.SubscriptionName = &v
  16161. return s
  16162. }
  16163. type ModifyEventSubscriptionOutput struct {
  16164. _ struct{} `type:"structure"`
  16165. // Describes event subscriptions.
  16166. EventSubscription *EventSubscription `type:"structure"`
  16167. }
  16168. // String returns the string representation
  16169. func (s ModifyEventSubscriptionOutput) String() string {
  16170. return awsutil.Prettify(s)
  16171. }
  16172. // GoString returns the string representation
  16173. func (s ModifyEventSubscriptionOutput) GoString() string {
  16174. return s.String()
  16175. }
  16176. // SetEventSubscription sets the EventSubscription field's value.
  16177. func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
  16178. s.EventSubscription = v
  16179. return s
  16180. }
  16181. type ModifySnapshotCopyRetentionPeriodInput struct {
  16182. _ struct{} `type:"structure"`
  16183. // The unique identifier of the cluster for which you want to change the retention
  16184. // period for either automated or manual snapshots that are copied to a destination
  16185. // AWS Region.
  16186. //
  16187. // Constraints: Must be the valid name of an existing cluster that has cross-region
  16188. // snapshot copy enabled.
  16189. //
  16190. // ClusterIdentifier is a required field
  16191. ClusterIdentifier *string `type:"string" required:"true"`
  16192. // Indicates whether to apply the snapshot retention period to newly copied
  16193. // manual snapshots instead of automated snapshots.
  16194. Manual *bool `type:"boolean"`
  16195. // The number of days to retain automated snapshots in the destination AWS Region
  16196. // after they are copied from the source AWS Region.
  16197. //
  16198. // By default, this only changes the retention period of copied automated snapshots.
  16199. //
  16200. // If you decrease the retention period for automated snapshots that are copied
  16201. // to a destination AWS Region, Amazon Redshift deletes any existing automated
  16202. // snapshots that were copied to the destination AWS Region and that fall outside
  16203. // of the new retention period.
  16204. //
  16205. // Constraints: Must be at least 1 and no more than 35 for automated snapshots.
  16206. //
  16207. // If you specify the manual option, only newly copied manual snapshots will
  16208. // have the new retention period.
  16209. //
  16210. // If you specify the value of -1 newly copied manual snapshots are retained
  16211. // indefinitely.
  16212. //
  16213. // Constraints: The number of days must be either -1 or an integer between 1
  16214. // and 3,653 for manual snapshots.
  16215. //
  16216. // RetentionPeriod is a required field
  16217. RetentionPeriod *int64 `type:"integer" required:"true"`
  16218. }
  16219. // String returns the string representation
  16220. func (s ModifySnapshotCopyRetentionPeriodInput) String() string {
  16221. return awsutil.Prettify(s)
  16222. }
  16223. // GoString returns the string representation
  16224. func (s ModifySnapshotCopyRetentionPeriodInput) GoString() string {
  16225. return s.String()
  16226. }
  16227. // Validate inspects the fields of the type to determine if they are valid.
  16228. func (s *ModifySnapshotCopyRetentionPeriodInput) Validate() error {
  16229. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotCopyRetentionPeriodInput"}
  16230. if s.ClusterIdentifier == nil {
  16231. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  16232. }
  16233. if s.RetentionPeriod == nil {
  16234. invalidParams.Add(request.NewErrParamRequired("RetentionPeriod"))
  16235. }
  16236. if invalidParams.Len() > 0 {
  16237. return invalidParams
  16238. }
  16239. return nil
  16240. }
  16241. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  16242. func (s *ModifySnapshotCopyRetentionPeriodInput) SetClusterIdentifier(v string) *ModifySnapshotCopyRetentionPeriodInput {
  16243. s.ClusterIdentifier = &v
  16244. return s
  16245. }
  16246. // SetManual sets the Manual field's value.
  16247. func (s *ModifySnapshotCopyRetentionPeriodInput) SetManual(v bool) *ModifySnapshotCopyRetentionPeriodInput {
  16248. s.Manual = &v
  16249. return s
  16250. }
  16251. // SetRetentionPeriod sets the RetentionPeriod field's value.
  16252. func (s *ModifySnapshotCopyRetentionPeriodInput) SetRetentionPeriod(v int64) *ModifySnapshotCopyRetentionPeriodInput {
  16253. s.RetentionPeriod = &v
  16254. return s
  16255. }
  16256. type ModifySnapshotCopyRetentionPeriodOutput struct {
  16257. _ struct{} `type:"structure"`
  16258. // Describes a cluster.
  16259. Cluster *Cluster `type:"structure"`
  16260. }
  16261. // String returns the string representation
  16262. func (s ModifySnapshotCopyRetentionPeriodOutput) String() string {
  16263. return awsutil.Prettify(s)
  16264. }
  16265. // GoString returns the string representation
  16266. func (s ModifySnapshotCopyRetentionPeriodOutput) GoString() string {
  16267. return s.String()
  16268. }
  16269. // SetCluster sets the Cluster field's value.
  16270. func (s *ModifySnapshotCopyRetentionPeriodOutput) SetCluster(v *Cluster) *ModifySnapshotCopyRetentionPeriodOutput {
  16271. s.Cluster = v
  16272. return s
  16273. }
  16274. type ModifySnapshotScheduleInput struct {
  16275. _ struct{} `type:"structure"`
  16276. // An updated list of schedule definitions. A schedule definition is made up
  16277. // of schedule expressions, for example, "cron(30 12 *)" or "rate(12 hours)".
  16278. //
  16279. // ScheduleDefinitions is a required field
  16280. ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list" required:"true"`
  16281. // A unique alphanumeric identifier of the schedule to modify.
  16282. //
  16283. // ScheduleIdentifier is a required field
  16284. ScheduleIdentifier *string `type:"string" required:"true"`
  16285. }
  16286. // String returns the string representation
  16287. func (s ModifySnapshotScheduleInput) String() string {
  16288. return awsutil.Prettify(s)
  16289. }
  16290. // GoString returns the string representation
  16291. func (s ModifySnapshotScheduleInput) GoString() string {
  16292. return s.String()
  16293. }
  16294. // Validate inspects the fields of the type to determine if they are valid.
  16295. func (s *ModifySnapshotScheduleInput) Validate() error {
  16296. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotScheduleInput"}
  16297. if s.ScheduleDefinitions == nil {
  16298. invalidParams.Add(request.NewErrParamRequired("ScheduleDefinitions"))
  16299. }
  16300. if s.ScheduleIdentifier == nil {
  16301. invalidParams.Add(request.NewErrParamRequired("ScheduleIdentifier"))
  16302. }
  16303. if invalidParams.Len() > 0 {
  16304. return invalidParams
  16305. }
  16306. return nil
  16307. }
  16308. // SetScheduleDefinitions sets the ScheduleDefinitions field's value.
  16309. func (s *ModifySnapshotScheduleInput) SetScheduleDefinitions(v []*string) *ModifySnapshotScheduleInput {
  16310. s.ScheduleDefinitions = v
  16311. return s
  16312. }
  16313. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  16314. func (s *ModifySnapshotScheduleInput) SetScheduleIdentifier(v string) *ModifySnapshotScheduleInput {
  16315. s.ScheduleIdentifier = &v
  16316. return s
  16317. }
  16318. // Describes a snapshot schedule. You can set a regular interval for creating
  16319. // snapshots of a cluster. You can also schedule snapshots for specific dates.
  16320. type ModifySnapshotScheduleOutput struct {
  16321. _ struct{} `type:"structure"`
  16322. AssociatedClusterCount *int64 `type:"integer"`
  16323. AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"`
  16324. NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"`
  16325. // A list of ScheduleDefinitions
  16326. ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"`
  16327. // The description of the schedule.
  16328. ScheduleDescription *string `type:"string"`
  16329. // A unique identifier for the schedule.
  16330. ScheduleIdentifier *string `type:"string"`
  16331. // An optional set of tags describing the schedule.
  16332. Tags []*Tag `locationNameList:"Tag" type:"list"`
  16333. }
  16334. // String returns the string representation
  16335. func (s ModifySnapshotScheduleOutput) String() string {
  16336. return awsutil.Prettify(s)
  16337. }
  16338. // GoString returns the string representation
  16339. func (s ModifySnapshotScheduleOutput) GoString() string {
  16340. return s.String()
  16341. }
  16342. // SetAssociatedClusterCount sets the AssociatedClusterCount field's value.
  16343. func (s *ModifySnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *ModifySnapshotScheduleOutput {
  16344. s.AssociatedClusterCount = &v
  16345. return s
  16346. }
  16347. // SetAssociatedClusters sets the AssociatedClusters field's value.
  16348. func (s *ModifySnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *ModifySnapshotScheduleOutput {
  16349. s.AssociatedClusters = v
  16350. return s
  16351. }
  16352. // SetNextInvocations sets the NextInvocations field's value.
  16353. func (s *ModifySnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *ModifySnapshotScheduleOutput {
  16354. s.NextInvocations = v
  16355. return s
  16356. }
  16357. // SetScheduleDefinitions sets the ScheduleDefinitions field's value.
  16358. func (s *ModifySnapshotScheduleOutput) SetScheduleDefinitions(v []*string) *ModifySnapshotScheduleOutput {
  16359. s.ScheduleDefinitions = v
  16360. return s
  16361. }
  16362. // SetScheduleDescription sets the ScheduleDescription field's value.
  16363. func (s *ModifySnapshotScheduleOutput) SetScheduleDescription(v string) *ModifySnapshotScheduleOutput {
  16364. s.ScheduleDescription = &v
  16365. return s
  16366. }
  16367. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  16368. func (s *ModifySnapshotScheduleOutput) SetScheduleIdentifier(v string) *ModifySnapshotScheduleOutput {
  16369. s.ScheduleIdentifier = &v
  16370. return s
  16371. }
  16372. // SetTags sets the Tags field's value.
  16373. func (s *ModifySnapshotScheduleOutput) SetTags(v []*Tag) *ModifySnapshotScheduleOutput {
  16374. s.Tags = v
  16375. return s
  16376. }
  16377. // Describes an orderable cluster option.
  16378. type OrderableClusterOption struct {
  16379. _ struct{} `type:"structure"`
  16380. // A list of availability zones for the orderable cluster.
  16381. AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
  16382. // The cluster type, for example multi-node.
  16383. ClusterType *string `type:"string"`
  16384. // The version of the orderable cluster.
  16385. ClusterVersion *string `type:"string"`
  16386. // The node type for the orderable cluster.
  16387. NodeType *string `type:"string"`
  16388. }
  16389. // String returns the string representation
  16390. func (s OrderableClusterOption) String() string {
  16391. return awsutil.Prettify(s)
  16392. }
  16393. // GoString returns the string representation
  16394. func (s OrderableClusterOption) GoString() string {
  16395. return s.String()
  16396. }
  16397. // SetAvailabilityZones sets the AvailabilityZones field's value.
  16398. func (s *OrderableClusterOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableClusterOption {
  16399. s.AvailabilityZones = v
  16400. return s
  16401. }
  16402. // SetClusterType sets the ClusterType field's value.
  16403. func (s *OrderableClusterOption) SetClusterType(v string) *OrderableClusterOption {
  16404. s.ClusterType = &v
  16405. return s
  16406. }
  16407. // SetClusterVersion sets the ClusterVersion field's value.
  16408. func (s *OrderableClusterOption) SetClusterVersion(v string) *OrderableClusterOption {
  16409. s.ClusterVersion = &v
  16410. return s
  16411. }
  16412. // SetNodeType sets the NodeType field's value.
  16413. func (s *OrderableClusterOption) SetNodeType(v string) *OrderableClusterOption {
  16414. s.NodeType = &v
  16415. return s
  16416. }
  16417. // Describes a parameter in a cluster parameter group.
  16418. type Parameter struct {
  16419. _ struct{} `type:"structure"`
  16420. // The valid range of values for the parameter.
  16421. AllowedValues *string `type:"string"`
  16422. // Specifies how to apply the WLM configuration parameter. Some properties can
  16423. // be applied dynamically, while other properties require that any associated
  16424. // clusters be rebooted for the configuration changes to be applied. For more
  16425. // information about parameters and parameter groups, go to Amazon Redshift
  16426. // Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
  16427. // in the Amazon Redshift Cluster Management Guide.
  16428. ApplyType *string `type:"string" enum:"ParameterApplyType"`
  16429. // The data type of the parameter.
  16430. DataType *string `type:"string"`
  16431. // A description of the parameter.
  16432. Description *string `type:"string"`
  16433. // If true, the parameter can be modified. Some parameters have security or
  16434. // operational implications that prevent them from being changed.
  16435. IsModifiable *bool `type:"boolean"`
  16436. // The earliest engine version to which the parameter can apply.
  16437. MinimumEngineVersion *string `type:"string"`
  16438. // The name of the parameter.
  16439. ParameterName *string `type:"string"`
  16440. // The value of the parameter.
  16441. ParameterValue *string `type:"string"`
  16442. // The source of the parameter value, such as "engine-default" or "user".
  16443. Source *string `type:"string"`
  16444. }
  16445. // String returns the string representation
  16446. func (s Parameter) String() string {
  16447. return awsutil.Prettify(s)
  16448. }
  16449. // GoString returns the string representation
  16450. func (s Parameter) GoString() string {
  16451. return s.String()
  16452. }
  16453. // SetAllowedValues sets the AllowedValues field's value.
  16454. func (s *Parameter) SetAllowedValues(v string) *Parameter {
  16455. s.AllowedValues = &v
  16456. return s
  16457. }
  16458. // SetApplyType sets the ApplyType field's value.
  16459. func (s *Parameter) SetApplyType(v string) *Parameter {
  16460. s.ApplyType = &v
  16461. return s
  16462. }
  16463. // SetDataType sets the DataType field's value.
  16464. func (s *Parameter) SetDataType(v string) *Parameter {
  16465. s.DataType = &v
  16466. return s
  16467. }
  16468. // SetDescription sets the Description field's value.
  16469. func (s *Parameter) SetDescription(v string) *Parameter {
  16470. s.Description = &v
  16471. return s
  16472. }
  16473. // SetIsModifiable sets the IsModifiable field's value.
  16474. func (s *Parameter) SetIsModifiable(v bool) *Parameter {
  16475. s.IsModifiable = &v
  16476. return s
  16477. }
  16478. // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
  16479. func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
  16480. s.MinimumEngineVersion = &v
  16481. return s
  16482. }
  16483. // SetParameterName sets the ParameterName field's value.
  16484. func (s *Parameter) SetParameterName(v string) *Parameter {
  16485. s.ParameterName = &v
  16486. return s
  16487. }
  16488. // SetParameterValue sets the ParameterValue field's value.
  16489. func (s *Parameter) SetParameterValue(v string) *Parameter {
  16490. s.ParameterValue = &v
  16491. return s
  16492. }
  16493. // SetSource sets the Source field's value.
  16494. func (s *Parameter) SetSource(v string) *Parameter {
  16495. s.Source = &v
  16496. return s
  16497. }
  16498. // Describes cluster attributes that are in a pending state. A change to one
  16499. // or more the attributes was requested and is in progress or will be applied.
  16500. type PendingModifiedValues struct {
  16501. _ struct{} `type:"structure"`
  16502. // The pending or in-progress change of the automated snapshot retention period.
  16503. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  16504. // The pending or in-progress change of the new identifier for the cluster.
  16505. ClusterIdentifier *string `type:"string"`
  16506. // The pending or in-progress change of the cluster type.
  16507. ClusterType *string `type:"string"`
  16508. // The pending or in-progress change of the service version.
  16509. ClusterVersion *string `type:"string"`
  16510. // The encryption type for a cluster. Possible values are: KMS and None. For
  16511. // the China region the possible values are None, and Legacy.
  16512. EncryptionType *string `type:"string"`
  16513. // An option that specifies whether to create the cluster with enhanced VPC
  16514. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  16515. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  16516. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  16517. // in the Amazon Redshift Cluster Management Guide.
  16518. //
  16519. // If this option is true, enhanced VPC routing is enabled.
  16520. //
  16521. // Default: false
  16522. EnhancedVpcRouting *bool `type:"boolean"`
  16523. // The name of the maintenance track that the cluster will change to during
  16524. // the next maintenance window.
  16525. MaintenanceTrackName *string `type:"string"`
  16526. // The pending or in-progress change of the master user password for the cluster.
  16527. MasterUserPassword *string `type:"string"`
  16528. // The pending or in-progress change of the cluster's node type.
  16529. NodeType *string `type:"string"`
  16530. // The pending or in-progress change of the number of nodes in the cluster.
  16531. NumberOfNodes *int64 `type:"integer"`
  16532. // The pending or in-progress change of the ability to connect to the cluster
  16533. // from the public network.
  16534. PubliclyAccessible *bool `type:"boolean"`
  16535. }
  16536. // String returns the string representation
  16537. func (s PendingModifiedValues) String() string {
  16538. return awsutil.Prettify(s)
  16539. }
  16540. // GoString returns the string representation
  16541. func (s PendingModifiedValues) GoString() string {
  16542. return s.String()
  16543. }
  16544. // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
  16545. func (s *PendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *PendingModifiedValues {
  16546. s.AutomatedSnapshotRetentionPeriod = &v
  16547. return s
  16548. }
  16549. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  16550. func (s *PendingModifiedValues) SetClusterIdentifier(v string) *PendingModifiedValues {
  16551. s.ClusterIdentifier = &v
  16552. return s
  16553. }
  16554. // SetClusterType sets the ClusterType field's value.
  16555. func (s *PendingModifiedValues) SetClusterType(v string) *PendingModifiedValues {
  16556. s.ClusterType = &v
  16557. return s
  16558. }
  16559. // SetClusterVersion sets the ClusterVersion field's value.
  16560. func (s *PendingModifiedValues) SetClusterVersion(v string) *PendingModifiedValues {
  16561. s.ClusterVersion = &v
  16562. return s
  16563. }
  16564. // SetEncryptionType sets the EncryptionType field's value.
  16565. func (s *PendingModifiedValues) SetEncryptionType(v string) *PendingModifiedValues {
  16566. s.EncryptionType = &v
  16567. return s
  16568. }
  16569. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  16570. func (s *PendingModifiedValues) SetEnhancedVpcRouting(v bool) *PendingModifiedValues {
  16571. s.EnhancedVpcRouting = &v
  16572. return s
  16573. }
  16574. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  16575. func (s *PendingModifiedValues) SetMaintenanceTrackName(v string) *PendingModifiedValues {
  16576. s.MaintenanceTrackName = &v
  16577. return s
  16578. }
  16579. // SetMasterUserPassword sets the MasterUserPassword field's value.
  16580. func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
  16581. s.MasterUserPassword = &v
  16582. return s
  16583. }
  16584. // SetNodeType sets the NodeType field's value.
  16585. func (s *PendingModifiedValues) SetNodeType(v string) *PendingModifiedValues {
  16586. s.NodeType = &v
  16587. return s
  16588. }
  16589. // SetNumberOfNodes sets the NumberOfNodes field's value.
  16590. func (s *PendingModifiedValues) SetNumberOfNodes(v int64) *PendingModifiedValues {
  16591. s.NumberOfNodes = &v
  16592. return s
  16593. }
  16594. // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  16595. func (s *PendingModifiedValues) SetPubliclyAccessible(v bool) *PendingModifiedValues {
  16596. s.PubliclyAccessible = &v
  16597. return s
  16598. }
  16599. type PurchaseReservedNodeOfferingInput struct {
  16600. _ struct{} `type:"structure"`
  16601. // The number of reserved nodes that you want to purchase.
  16602. //
  16603. // Default: 1
  16604. NodeCount *int64 `type:"integer"`
  16605. // The unique identifier of the reserved node offering you want to purchase.
  16606. //
  16607. // ReservedNodeOfferingId is a required field
  16608. ReservedNodeOfferingId *string `type:"string" required:"true"`
  16609. }
  16610. // String returns the string representation
  16611. func (s PurchaseReservedNodeOfferingInput) String() string {
  16612. return awsutil.Prettify(s)
  16613. }
  16614. // GoString returns the string representation
  16615. func (s PurchaseReservedNodeOfferingInput) GoString() string {
  16616. return s.String()
  16617. }
  16618. // Validate inspects the fields of the type to determine if they are valid.
  16619. func (s *PurchaseReservedNodeOfferingInput) Validate() error {
  16620. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedNodeOfferingInput"}
  16621. if s.ReservedNodeOfferingId == nil {
  16622. invalidParams.Add(request.NewErrParamRequired("ReservedNodeOfferingId"))
  16623. }
  16624. if invalidParams.Len() > 0 {
  16625. return invalidParams
  16626. }
  16627. return nil
  16628. }
  16629. // SetNodeCount sets the NodeCount field's value.
  16630. func (s *PurchaseReservedNodeOfferingInput) SetNodeCount(v int64) *PurchaseReservedNodeOfferingInput {
  16631. s.NodeCount = &v
  16632. return s
  16633. }
  16634. // SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value.
  16635. func (s *PurchaseReservedNodeOfferingInput) SetReservedNodeOfferingId(v string) *PurchaseReservedNodeOfferingInput {
  16636. s.ReservedNodeOfferingId = &v
  16637. return s
  16638. }
  16639. type PurchaseReservedNodeOfferingOutput struct {
  16640. _ struct{} `type:"structure"`
  16641. // Describes a reserved node. You can call the DescribeReservedNodeOfferings
  16642. // API to obtain the available reserved node offerings.
  16643. ReservedNode *ReservedNode `type:"structure"`
  16644. }
  16645. // String returns the string representation
  16646. func (s PurchaseReservedNodeOfferingOutput) String() string {
  16647. return awsutil.Prettify(s)
  16648. }
  16649. // GoString returns the string representation
  16650. func (s PurchaseReservedNodeOfferingOutput) GoString() string {
  16651. return s.String()
  16652. }
  16653. // SetReservedNode sets the ReservedNode field's value.
  16654. func (s *PurchaseReservedNodeOfferingOutput) SetReservedNode(v *ReservedNode) *PurchaseReservedNodeOfferingOutput {
  16655. s.ReservedNode = v
  16656. return s
  16657. }
  16658. type RebootClusterInput struct {
  16659. _ struct{} `type:"structure"`
  16660. // The cluster identifier.
  16661. //
  16662. // ClusterIdentifier is a required field
  16663. ClusterIdentifier *string `type:"string" required:"true"`
  16664. }
  16665. // String returns the string representation
  16666. func (s RebootClusterInput) String() string {
  16667. return awsutil.Prettify(s)
  16668. }
  16669. // GoString returns the string representation
  16670. func (s RebootClusterInput) GoString() string {
  16671. return s.String()
  16672. }
  16673. // Validate inspects the fields of the type to determine if they are valid.
  16674. func (s *RebootClusterInput) Validate() error {
  16675. invalidParams := request.ErrInvalidParams{Context: "RebootClusterInput"}
  16676. if s.ClusterIdentifier == nil {
  16677. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  16678. }
  16679. if invalidParams.Len() > 0 {
  16680. return invalidParams
  16681. }
  16682. return nil
  16683. }
  16684. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  16685. func (s *RebootClusterInput) SetClusterIdentifier(v string) *RebootClusterInput {
  16686. s.ClusterIdentifier = &v
  16687. return s
  16688. }
  16689. type RebootClusterOutput struct {
  16690. _ struct{} `type:"structure"`
  16691. // Describes a cluster.
  16692. Cluster *Cluster `type:"structure"`
  16693. }
  16694. // String returns the string representation
  16695. func (s RebootClusterOutput) String() string {
  16696. return awsutil.Prettify(s)
  16697. }
  16698. // GoString returns the string representation
  16699. func (s RebootClusterOutput) GoString() string {
  16700. return s.String()
  16701. }
  16702. // SetCluster sets the Cluster field's value.
  16703. func (s *RebootClusterOutput) SetCluster(v *Cluster) *RebootClusterOutput {
  16704. s.Cluster = v
  16705. return s
  16706. }
  16707. // Describes a recurring charge.
  16708. type RecurringCharge struct {
  16709. _ struct{} `type:"structure"`
  16710. // The amount charged per the period of time specified by the recurring charge
  16711. // frequency.
  16712. RecurringChargeAmount *float64 `type:"double"`
  16713. // The frequency at which the recurring charge amount is applied.
  16714. RecurringChargeFrequency *string `type:"string"`
  16715. }
  16716. // String returns the string representation
  16717. func (s RecurringCharge) String() string {
  16718. return awsutil.Prettify(s)
  16719. }
  16720. // GoString returns the string representation
  16721. func (s RecurringCharge) GoString() string {
  16722. return s.String()
  16723. }
  16724. // SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
  16725. func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
  16726. s.RecurringChargeAmount = &v
  16727. return s
  16728. }
  16729. // SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
  16730. func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
  16731. s.RecurringChargeFrequency = &v
  16732. return s
  16733. }
  16734. // Describes a reserved node. You can call the DescribeReservedNodeOfferings
  16735. // API to obtain the available reserved node offerings.
  16736. type ReservedNode struct {
  16737. _ struct{} `type:"structure"`
  16738. // The currency code for the reserved cluster.
  16739. CurrencyCode *string `type:"string"`
  16740. // The duration of the node reservation in seconds.
  16741. Duration *int64 `type:"integer"`
  16742. // The fixed cost Amazon Redshift charges you for this reserved node.
  16743. FixedPrice *float64 `type:"double"`
  16744. // The number of reserved compute nodes.
  16745. NodeCount *int64 `type:"integer"`
  16746. // The node type of the reserved node.
  16747. NodeType *string `type:"string"`
  16748. // The anticipated utilization of the reserved node, as defined in the reserved
  16749. // node offering.
  16750. OfferingType *string `type:"string"`
  16751. // The recurring charges for the reserved node.
  16752. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  16753. // The unique identifier for the reservation.
  16754. ReservedNodeId *string `type:"string"`
  16755. // The identifier for the reserved node offering.
  16756. ReservedNodeOfferingId *string `type:"string"`
  16757. ReservedNodeOfferingType *string `type:"string" enum:"ReservedNodeOfferingType"`
  16758. // The time the reservation started. You purchase a reserved node offering for
  16759. // a duration. This is the start time of that duration.
  16760. StartTime *time.Time `type:"timestamp"`
  16761. // The state of the reserved compute node.
  16762. //
  16763. // Possible Values:
  16764. //
  16765. // * pending-payment-This reserved node has recently been purchased, and
  16766. // the sale has been approved, but payment has not yet been confirmed.
  16767. //
  16768. // * active-This reserved node is owned by the caller and is available for
  16769. // use.
  16770. //
  16771. // * payment-failed-Payment failed for the purchase attempt.
  16772. //
  16773. // * retired-The reserved node is no longer available.
  16774. //
  16775. // * exchanging-The owner is exchanging the reserved node for another reserved
  16776. // node.
  16777. State *string `type:"string"`
  16778. // The hourly rate Amazon Redshift charges you for this reserved node.
  16779. UsagePrice *float64 `type:"double"`
  16780. }
  16781. // String returns the string representation
  16782. func (s ReservedNode) String() string {
  16783. return awsutil.Prettify(s)
  16784. }
  16785. // GoString returns the string representation
  16786. func (s ReservedNode) GoString() string {
  16787. return s.String()
  16788. }
  16789. // SetCurrencyCode sets the CurrencyCode field's value.
  16790. func (s *ReservedNode) SetCurrencyCode(v string) *ReservedNode {
  16791. s.CurrencyCode = &v
  16792. return s
  16793. }
  16794. // SetDuration sets the Duration field's value.
  16795. func (s *ReservedNode) SetDuration(v int64) *ReservedNode {
  16796. s.Duration = &v
  16797. return s
  16798. }
  16799. // SetFixedPrice sets the FixedPrice field's value.
  16800. func (s *ReservedNode) SetFixedPrice(v float64) *ReservedNode {
  16801. s.FixedPrice = &v
  16802. return s
  16803. }
  16804. // SetNodeCount sets the NodeCount field's value.
  16805. func (s *ReservedNode) SetNodeCount(v int64) *ReservedNode {
  16806. s.NodeCount = &v
  16807. return s
  16808. }
  16809. // SetNodeType sets the NodeType field's value.
  16810. func (s *ReservedNode) SetNodeType(v string) *ReservedNode {
  16811. s.NodeType = &v
  16812. return s
  16813. }
  16814. // SetOfferingType sets the OfferingType field's value.
  16815. func (s *ReservedNode) SetOfferingType(v string) *ReservedNode {
  16816. s.OfferingType = &v
  16817. return s
  16818. }
  16819. // SetRecurringCharges sets the RecurringCharges field's value.
  16820. func (s *ReservedNode) SetRecurringCharges(v []*RecurringCharge) *ReservedNode {
  16821. s.RecurringCharges = v
  16822. return s
  16823. }
  16824. // SetReservedNodeId sets the ReservedNodeId field's value.
  16825. func (s *ReservedNode) SetReservedNodeId(v string) *ReservedNode {
  16826. s.ReservedNodeId = &v
  16827. return s
  16828. }
  16829. // SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value.
  16830. func (s *ReservedNode) SetReservedNodeOfferingId(v string) *ReservedNode {
  16831. s.ReservedNodeOfferingId = &v
  16832. return s
  16833. }
  16834. // SetReservedNodeOfferingType sets the ReservedNodeOfferingType field's value.
  16835. func (s *ReservedNode) SetReservedNodeOfferingType(v string) *ReservedNode {
  16836. s.ReservedNodeOfferingType = &v
  16837. return s
  16838. }
  16839. // SetStartTime sets the StartTime field's value.
  16840. func (s *ReservedNode) SetStartTime(v time.Time) *ReservedNode {
  16841. s.StartTime = &v
  16842. return s
  16843. }
  16844. // SetState sets the State field's value.
  16845. func (s *ReservedNode) SetState(v string) *ReservedNode {
  16846. s.State = &v
  16847. return s
  16848. }
  16849. // SetUsagePrice sets the UsagePrice field's value.
  16850. func (s *ReservedNode) SetUsagePrice(v float64) *ReservedNode {
  16851. s.UsagePrice = &v
  16852. return s
  16853. }
  16854. // Describes a reserved node offering.
  16855. type ReservedNodeOffering struct {
  16856. _ struct{} `type:"structure"`
  16857. // The currency code for the compute nodes offering.
  16858. CurrencyCode *string `type:"string"`
  16859. // The duration, in seconds, for which the offering will reserve the node.
  16860. Duration *int64 `type:"integer"`
  16861. // The upfront fixed charge you will pay to purchase the specific reserved node
  16862. // offering.
  16863. FixedPrice *float64 `type:"double"`
  16864. // The node type offered by the reserved node offering.
  16865. NodeType *string `type:"string"`
  16866. // The anticipated utilization of the reserved node, as defined in the reserved
  16867. // node offering.
  16868. OfferingType *string `type:"string"`
  16869. // The charge to your account regardless of whether you are creating any clusters
  16870. // using the node offering. Recurring charges are only in effect for heavy-utilization
  16871. // reserved nodes.
  16872. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
  16873. // The offering identifier.
  16874. ReservedNodeOfferingId *string `type:"string"`
  16875. ReservedNodeOfferingType *string `type:"string" enum:"ReservedNodeOfferingType"`
  16876. // The rate you are charged for each hour the cluster that is using the offering
  16877. // is running.
  16878. UsagePrice *float64 `type:"double"`
  16879. }
  16880. // String returns the string representation
  16881. func (s ReservedNodeOffering) String() string {
  16882. return awsutil.Prettify(s)
  16883. }
  16884. // GoString returns the string representation
  16885. func (s ReservedNodeOffering) GoString() string {
  16886. return s.String()
  16887. }
  16888. // SetCurrencyCode sets the CurrencyCode field's value.
  16889. func (s *ReservedNodeOffering) SetCurrencyCode(v string) *ReservedNodeOffering {
  16890. s.CurrencyCode = &v
  16891. return s
  16892. }
  16893. // SetDuration sets the Duration field's value.
  16894. func (s *ReservedNodeOffering) SetDuration(v int64) *ReservedNodeOffering {
  16895. s.Duration = &v
  16896. return s
  16897. }
  16898. // SetFixedPrice sets the FixedPrice field's value.
  16899. func (s *ReservedNodeOffering) SetFixedPrice(v float64) *ReservedNodeOffering {
  16900. s.FixedPrice = &v
  16901. return s
  16902. }
  16903. // SetNodeType sets the NodeType field's value.
  16904. func (s *ReservedNodeOffering) SetNodeType(v string) *ReservedNodeOffering {
  16905. s.NodeType = &v
  16906. return s
  16907. }
  16908. // SetOfferingType sets the OfferingType field's value.
  16909. func (s *ReservedNodeOffering) SetOfferingType(v string) *ReservedNodeOffering {
  16910. s.OfferingType = &v
  16911. return s
  16912. }
  16913. // SetRecurringCharges sets the RecurringCharges field's value.
  16914. func (s *ReservedNodeOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedNodeOffering {
  16915. s.RecurringCharges = v
  16916. return s
  16917. }
  16918. // SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value.
  16919. func (s *ReservedNodeOffering) SetReservedNodeOfferingId(v string) *ReservedNodeOffering {
  16920. s.ReservedNodeOfferingId = &v
  16921. return s
  16922. }
  16923. // SetReservedNodeOfferingType sets the ReservedNodeOfferingType field's value.
  16924. func (s *ReservedNodeOffering) SetReservedNodeOfferingType(v string) *ReservedNodeOffering {
  16925. s.ReservedNodeOfferingType = &v
  16926. return s
  16927. }
  16928. // SetUsagePrice sets the UsagePrice field's value.
  16929. func (s *ReservedNodeOffering) SetUsagePrice(v float64) *ReservedNodeOffering {
  16930. s.UsagePrice = &v
  16931. return s
  16932. }
  16933. type ResetClusterParameterGroupInput struct {
  16934. _ struct{} `type:"structure"`
  16935. // The name of the cluster parameter group to be reset.
  16936. //
  16937. // ParameterGroupName is a required field
  16938. ParameterGroupName *string `type:"string" required:"true"`
  16939. // An array of names of parameters to be reset. If ResetAllParameters option
  16940. // is not used, then at least one parameter name must be supplied.
  16941. //
  16942. // Constraints: A maximum of 20 parameters can be reset in a single request.
  16943. Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  16944. // If true, all parameters in the specified parameter group will be reset to
  16945. // their default values.
  16946. //
  16947. // Default: true
  16948. ResetAllParameters *bool `type:"boolean"`
  16949. }
  16950. // String returns the string representation
  16951. func (s ResetClusterParameterGroupInput) String() string {
  16952. return awsutil.Prettify(s)
  16953. }
  16954. // GoString returns the string representation
  16955. func (s ResetClusterParameterGroupInput) GoString() string {
  16956. return s.String()
  16957. }
  16958. // Validate inspects the fields of the type to determine if they are valid.
  16959. func (s *ResetClusterParameterGroupInput) Validate() error {
  16960. invalidParams := request.ErrInvalidParams{Context: "ResetClusterParameterGroupInput"}
  16961. if s.ParameterGroupName == nil {
  16962. invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  16963. }
  16964. if invalidParams.Len() > 0 {
  16965. return invalidParams
  16966. }
  16967. return nil
  16968. }
  16969. // SetParameterGroupName sets the ParameterGroupName field's value.
  16970. func (s *ResetClusterParameterGroupInput) SetParameterGroupName(v string) *ResetClusterParameterGroupInput {
  16971. s.ParameterGroupName = &v
  16972. return s
  16973. }
  16974. // SetParameters sets the Parameters field's value.
  16975. func (s *ResetClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetClusterParameterGroupInput {
  16976. s.Parameters = v
  16977. return s
  16978. }
  16979. // SetResetAllParameters sets the ResetAllParameters field's value.
  16980. func (s *ResetClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetClusterParameterGroupInput {
  16981. s.ResetAllParameters = &v
  16982. return s
  16983. }
  16984. type ResizeClusterInput struct {
  16985. _ struct{} `type:"structure"`
  16986. // A boolean value indicating whether the resize operation is using the classic
  16987. // resize process. If you don't provide this parameter or set the value to false,
  16988. // the resize type is elastic.
  16989. Classic *bool `type:"boolean"`
  16990. // The unique identifier for the cluster to resize.
  16991. //
  16992. // ClusterIdentifier is a required field
  16993. ClusterIdentifier *string `type:"string" required:"true"`
  16994. // The new cluster type for the specified cluster.
  16995. ClusterType *string `type:"string"`
  16996. // The new node type for the nodes you are adding.
  16997. NodeType *string `type:"string"`
  16998. // The new number of nodes for the cluster.
  16999. //
  17000. // NumberOfNodes is a required field
  17001. NumberOfNodes *int64 `type:"integer" required:"true"`
  17002. }
  17003. // String returns the string representation
  17004. func (s ResizeClusterInput) String() string {
  17005. return awsutil.Prettify(s)
  17006. }
  17007. // GoString returns the string representation
  17008. func (s ResizeClusterInput) GoString() string {
  17009. return s.String()
  17010. }
  17011. // Validate inspects the fields of the type to determine if they are valid.
  17012. func (s *ResizeClusterInput) Validate() error {
  17013. invalidParams := request.ErrInvalidParams{Context: "ResizeClusterInput"}
  17014. if s.ClusterIdentifier == nil {
  17015. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  17016. }
  17017. if s.NumberOfNodes == nil {
  17018. invalidParams.Add(request.NewErrParamRequired("NumberOfNodes"))
  17019. }
  17020. if invalidParams.Len() > 0 {
  17021. return invalidParams
  17022. }
  17023. return nil
  17024. }
  17025. // SetClassic sets the Classic field's value.
  17026. func (s *ResizeClusterInput) SetClassic(v bool) *ResizeClusterInput {
  17027. s.Classic = &v
  17028. return s
  17029. }
  17030. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  17031. func (s *ResizeClusterInput) SetClusterIdentifier(v string) *ResizeClusterInput {
  17032. s.ClusterIdentifier = &v
  17033. return s
  17034. }
  17035. // SetClusterType sets the ClusterType field's value.
  17036. func (s *ResizeClusterInput) SetClusterType(v string) *ResizeClusterInput {
  17037. s.ClusterType = &v
  17038. return s
  17039. }
  17040. // SetNodeType sets the NodeType field's value.
  17041. func (s *ResizeClusterInput) SetNodeType(v string) *ResizeClusterInput {
  17042. s.NodeType = &v
  17043. return s
  17044. }
  17045. // SetNumberOfNodes sets the NumberOfNodes field's value.
  17046. func (s *ResizeClusterInput) SetNumberOfNodes(v int64) *ResizeClusterInput {
  17047. s.NumberOfNodes = &v
  17048. return s
  17049. }
  17050. type ResizeClusterOutput struct {
  17051. _ struct{} `type:"structure"`
  17052. // Describes a cluster.
  17053. Cluster *Cluster `type:"structure"`
  17054. }
  17055. // String returns the string representation
  17056. func (s ResizeClusterOutput) String() string {
  17057. return awsutil.Prettify(s)
  17058. }
  17059. // GoString returns the string representation
  17060. func (s ResizeClusterOutput) GoString() string {
  17061. return s.String()
  17062. }
  17063. // SetCluster sets the Cluster field's value.
  17064. func (s *ResizeClusterOutput) SetCluster(v *Cluster) *ResizeClusterOutput {
  17065. s.Cluster = v
  17066. return s
  17067. }
  17068. // Describes a resize operation.
  17069. type ResizeInfo struct {
  17070. _ struct{} `type:"structure"`
  17071. // A boolean value indicating if the resize operation can be cancelled.
  17072. AllowCancelResize *bool `type:"boolean"`
  17073. // Returns the value ClassicResize.
  17074. ResizeType *string `type:"string"`
  17075. }
  17076. // String returns the string representation
  17077. func (s ResizeInfo) String() string {
  17078. return awsutil.Prettify(s)
  17079. }
  17080. // GoString returns the string representation
  17081. func (s ResizeInfo) GoString() string {
  17082. return s.String()
  17083. }
  17084. // SetAllowCancelResize sets the AllowCancelResize field's value.
  17085. func (s *ResizeInfo) SetAllowCancelResize(v bool) *ResizeInfo {
  17086. s.AllowCancelResize = &v
  17087. return s
  17088. }
  17089. // SetResizeType sets the ResizeType field's value.
  17090. func (s *ResizeInfo) SetResizeType(v string) *ResizeInfo {
  17091. s.ResizeType = &v
  17092. return s
  17093. }
  17094. type RestoreFromClusterSnapshotInput struct {
  17095. _ struct{} `type:"structure"`
  17096. // Reserved.
  17097. AdditionalInfo *string `type:"string"`
  17098. // If true, major version upgrades can be applied during the maintenance window
  17099. // to the Amazon Redshift engine that is running on the cluster.
  17100. //
  17101. // Default: true
  17102. AllowVersionUpgrade *bool `type:"boolean"`
  17103. // The number of days that automated snapshots are retained. If the value is
  17104. // 0, automated snapshots are disabled. Even if automated snapshots are disabled,
  17105. // you can still create manual snapshots when you want with CreateClusterSnapshot.
  17106. //
  17107. // Default: The value selected for the cluster from which the snapshot was taken.
  17108. //
  17109. // Constraints: Must be a value from 0 to 35.
  17110. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
  17111. // The Amazon EC2 Availability Zone in which to restore the cluster.
  17112. //
  17113. // Default: A random, system-chosen Availability Zone.
  17114. //
  17115. // Example: us-east-1a
  17116. AvailabilityZone *string `type:"string"`
  17117. // The identifier of the cluster that will be created from restoring the snapshot.
  17118. //
  17119. // Constraints:
  17120. //
  17121. // * Must contain from 1 to 63 alphanumeric characters or hyphens.
  17122. //
  17123. // * Alphabetic characters must be lowercase.
  17124. //
  17125. // * First character must be a letter.
  17126. //
  17127. // * Cannot end with a hyphen or contain two consecutive hyphens.
  17128. //
  17129. // * Must be unique for all clusters within an AWS account.
  17130. //
  17131. // ClusterIdentifier is a required field
  17132. ClusterIdentifier *string `type:"string" required:"true"`
  17133. // The name of the parameter group to be associated with this cluster.
  17134. //
  17135. // Default: The default Amazon Redshift cluster parameter group. For information
  17136. // about the default parameter group, go to Working with Amazon Redshift Parameter
  17137. // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html).
  17138. //
  17139. // Constraints:
  17140. //
  17141. // * Must be 1 to 255 alphanumeric characters or hyphens.
  17142. //
  17143. // * First character must be a letter.
  17144. //
  17145. // * Cannot end with a hyphen or contain two consecutive hyphens.
  17146. ClusterParameterGroupName *string `type:"string"`
  17147. // A list of security groups to be associated with this cluster.
  17148. //
  17149. // Default: The default cluster security group for Amazon Redshift.
  17150. //
  17151. // Cluster security groups only apply to clusters outside of VPCs.
  17152. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"`
  17153. // The name of the subnet group where you want to cluster restored.
  17154. //
  17155. // A snapshot of cluster in VPC can be restored only in VPC. Therefore, you
  17156. // must provide subnet group name where you want the cluster restored.
  17157. ClusterSubnetGroupName *string `type:"string"`
  17158. // The elastic IP (EIP) address for the cluster.
  17159. ElasticIp *string `type:"string"`
  17160. // An option that specifies whether to create the cluster with enhanced VPC
  17161. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  17162. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  17163. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  17164. // in the Amazon Redshift Cluster Management Guide.
  17165. //
  17166. // If this option is true, enhanced VPC routing is enabled.
  17167. //
  17168. // Default: false
  17169. EnhancedVpcRouting *bool `type:"boolean"`
  17170. // Specifies the name of the HSM client certificate the Amazon Redshift cluster
  17171. // uses to retrieve the data encryption keys stored in an HSM.
  17172. HsmClientCertificateIdentifier *string `type:"string"`
  17173. // Specifies the name of the HSM configuration that contains the information
  17174. // the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
  17175. HsmConfigurationIdentifier *string `type:"string"`
  17176. // A list of AWS Identity and Access Management (IAM) roles that can be used
  17177. // by the cluster to access other AWS services. You must supply the IAM roles
  17178. // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
  17179. // in a single request.
  17180. //
  17181. // A cluster can have up to 10 IAM roles associated at any time.
  17182. IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
  17183. // The AWS Key Management Service (KMS) key ID of the encryption key that you
  17184. // want to use to encrypt data in the cluster that you restore from a shared
  17185. // snapshot.
  17186. KmsKeyId *string `type:"string"`
  17187. // The name of the maintenance track for the restored cluster. When you take
  17188. // a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster.
  17189. // The snapshot might be on a different track than the cluster that was the
  17190. // source for the snapshot. For example, suppose that you take a snapshot of
  17191. // a cluster that is on the current track and then change the cluster to be
  17192. // on the trailing track. In this case, the snapshot and the source cluster
  17193. // are on different tracks.
  17194. MaintenanceTrackName *string `type:"string"`
  17195. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  17196. // The node type that the restored cluster will be provisioned with.
  17197. //
  17198. // Default: The node type of the cluster from which the snapshot was taken.
  17199. // You can modify this if you are using any DS node type. In that case, you
  17200. // can choose to restore into another DS node type of the same size. For example,
  17201. // you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge.
  17202. // If you have a DC instance type, you must restore into that same instance
  17203. // type and size. In other words, you can only restore a dc1.large instance
  17204. // type into another dc1.large instance type or dc2.large instance type. You
  17205. // can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlareg
  17206. // cluster, then resize to a dc2.8large cluster. For more information about
  17207. // node types, see About Clusters and Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes)
  17208. // in the Amazon Redshift Cluster Management Guide.
  17209. NodeType *string `type:"string"`
  17210. // The AWS customer account used to create or copy the snapshot. Required if
  17211. // you are restoring a snapshot you do not own, optional if you own the snapshot.
  17212. OwnerAccount *string `type:"string"`
  17213. // The port number on which the cluster accepts connections.
  17214. //
  17215. // Default: The same port as the original cluster.
  17216. //
  17217. // Constraints: Must be between 1115 and 65535.
  17218. Port *int64 `type:"integer"`
  17219. // The weekly time range (in UTC) during which automated cluster maintenance
  17220. // can occur.
  17221. //
  17222. // Format: ddd:hh24:mi-ddd:hh24:mi
  17223. //
  17224. // Default: The value selected for the cluster from which the snapshot was taken.
  17225. // For more information about the time blocks for each region, see Maintenance
  17226. // Windows (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
  17227. // in Amazon Redshift Cluster Management Guide.
  17228. //
  17229. // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  17230. //
  17231. // Constraints: Minimum 30-minute window.
  17232. PreferredMaintenanceWindow *string `type:"string"`
  17233. // If true, the cluster can be accessed from a public network.
  17234. PubliclyAccessible *bool `type:"boolean"`
  17235. // The name of the cluster the source snapshot was created from. This parameter
  17236. // is required if your IAM user has a policy containing a snapshot resource
  17237. // element that specifies anything other than * for the cluster name.
  17238. SnapshotClusterIdentifier *string `type:"string"`
  17239. // The name of the snapshot from which to create the new cluster. This parameter
  17240. // isn't case sensitive.
  17241. //
  17242. // Example: my-snapshot-id
  17243. //
  17244. // SnapshotIdentifier is a required field
  17245. SnapshotIdentifier *string `type:"string" required:"true"`
  17246. // A unique identifier for the snapshot schedule.
  17247. SnapshotScheduleIdentifier *string `type:"string"`
  17248. // A list of Virtual Private Cloud (VPC) security groups to be associated with
  17249. // the cluster.
  17250. //
  17251. // Default: The default VPC security group is associated with the cluster.
  17252. //
  17253. // VPC security groups only apply to clusters in VPCs.
  17254. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  17255. }
  17256. // String returns the string representation
  17257. func (s RestoreFromClusterSnapshotInput) String() string {
  17258. return awsutil.Prettify(s)
  17259. }
  17260. // GoString returns the string representation
  17261. func (s RestoreFromClusterSnapshotInput) GoString() string {
  17262. return s.String()
  17263. }
  17264. // Validate inspects the fields of the type to determine if they are valid.
  17265. func (s *RestoreFromClusterSnapshotInput) Validate() error {
  17266. invalidParams := request.ErrInvalidParams{Context: "RestoreFromClusterSnapshotInput"}
  17267. if s.ClusterIdentifier == nil {
  17268. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  17269. }
  17270. if s.SnapshotIdentifier == nil {
  17271. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  17272. }
  17273. if invalidParams.Len() > 0 {
  17274. return invalidParams
  17275. }
  17276. return nil
  17277. }
  17278. // SetAdditionalInfo sets the AdditionalInfo field's value.
  17279. func (s *RestoreFromClusterSnapshotInput) SetAdditionalInfo(v string) *RestoreFromClusterSnapshotInput {
  17280. s.AdditionalInfo = &v
  17281. return s
  17282. }
  17283. // SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
  17284. func (s *RestoreFromClusterSnapshotInput) SetAllowVersionUpgrade(v bool) *RestoreFromClusterSnapshotInput {
  17285. s.AllowVersionUpgrade = &v
  17286. return s
  17287. }
  17288. // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
  17289. func (s *RestoreFromClusterSnapshotInput) SetAutomatedSnapshotRetentionPeriod(v int64) *RestoreFromClusterSnapshotInput {
  17290. s.AutomatedSnapshotRetentionPeriod = &v
  17291. return s
  17292. }
  17293. // SetAvailabilityZone sets the AvailabilityZone field's value.
  17294. func (s *RestoreFromClusterSnapshotInput) SetAvailabilityZone(v string) *RestoreFromClusterSnapshotInput {
  17295. s.AvailabilityZone = &v
  17296. return s
  17297. }
  17298. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  17299. func (s *RestoreFromClusterSnapshotInput) SetClusterIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17300. s.ClusterIdentifier = &v
  17301. return s
  17302. }
  17303. // SetClusterParameterGroupName sets the ClusterParameterGroupName field's value.
  17304. func (s *RestoreFromClusterSnapshotInput) SetClusterParameterGroupName(v string) *RestoreFromClusterSnapshotInput {
  17305. s.ClusterParameterGroupName = &v
  17306. return s
  17307. }
  17308. // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
  17309. func (s *RestoreFromClusterSnapshotInput) SetClusterSecurityGroups(v []*string) *RestoreFromClusterSnapshotInput {
  17310. s.ClusterSecurityGroups = v
  17311. return s
  17312. }
  17313. // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
  17314. func (s *RestoreFromClusterSnapshotInput) SetClusterSubnetGroupName(v string) *RestoreFromClusterSnapshotInput {
  17315. s.ClusterSubnetGroupName = &v
  17316. return s
  17317. }
  17318. // SetElasticIp sets the ElasticIp field's value.
  17319. func (s *RestoreFromClusterSnapshotInput) SetElasticIp(v string) *RestoreFromClusterSnapshotInput {
  17320. s.ElasticIp = &v
  17321. return s
  17322. }
  17323. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  17324. func (s *RestoreFromClusterSnapshotInput) SetEnhancedVpcRouting(v bool) *RestoreFromClusterSnapshotInput {
  17325. s.EnhancedVpcRouting = &v
  17326. return s
  17327. }
  17328. // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
  17329. func (s *RestoreFromClusterSnapshotInput) SetHsmClientCertificateIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17330. s.HsmClientCertificateIdentifier = &v
  17331. return s
  17332. }
  17333. // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
  17334. func (s *RestoreFromClusterSnapshotInput) SetHsmConfigurationIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17335. s.HsmConfigurationIdentifier = &v
  17336. return s
  17337. }
  17338. // SetIamRoles sets the IamRoles field's value.
  17339. func (s *RestoreFromClusterSnapshotInput) SetIamRoles(v []*string) *RestoreFromClusterSnapshotInput {
  17340. s.IamRoles = v
  17341. return s
  17342. }
  17343. // SetKmsKeyId sets the KmsKeyId field's value.
  17344. func (s *RestoreFromClusterSnapshotInput) SetKmsKeyId(v string) *RestoreFromClusterSnapshotInput {
  17345. s.KmsKeyId = &v
  17346. return s
  17347. }
  17348. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  17349. func (s *RestoreFromClusterSnapshotInput) SetMaintenanceTrackName(v string) *RestoreFromClusterSnapshotInput {
  17350. s.MaintenanceTrackName = &v
  17351. return s
  17352. }
  17353. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  17354. func (s *RestoreFromClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *RestoreFromClusterSnapshotInput {
  17355. s.ManualSnapshotRetentionPeriod = &v
  17356. return s
  17357. }
  17358. // SetNodeType sets the NodeType field's value.
  17359. func (s *RestoreFromClusterSnapshotInput) SetNodeType(v string) *RestoreFromClusterSnapshotInput {
  17360. s.NodeType = &v
  17361. return s
  17362. }
  17363. // SetOwnerAccount sets the OwnerAccount field's value.
  17364. func (s *RestoreFromClusterSnapshotInput) SetOwnerAccount(v string) *RestoreFromClusterSnapshotInput {
  17365. s.OwnerAccount = &v
  17366. return s
  17367. }
  17368. // SetPort sets the Port field's value.
  17369. func (s *RestoreFromClusterSnapshotInput) SetPort(v int64) *RestoreFromClusterSnapshotInput {
  17370. s.Port = &v
  17371. return s
  17372. }
  17373. // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  17374. func (s *RestoreFromClusterSnapshotInput) SetPreferredMaintenanceWindow(v string) *RestoreFromClusterSnapshotInput {
  17375. s.PreferredMaintenanceWindow = &v
  17376. return s
  17377. }
  17378. // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  17379. func (s *RestoreFromClusterSnapshotInput) SetPubliclyAccessible(v bool) *RestoreFromClusterSnapshotInput {
  17380. s.PubliclyAccessible = &v
  17381. return s
  17382. }
  17383. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  17384. func (s *RestoreFromClusterSnapshotInput) SetSnapshotClusterIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17385. s.SnapshotClusterIdentifier = &v
  17386. return s
  17387. }
  17388. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  17389. func (s *RestoreFromClusterSnapshotInput) SetSnapshotIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17390. s.SnapshotIdentifier = &v
  17391. return s
  17392. }
  17393. // SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
  17394. func (s *RestoreFromClusterSnapshotInput) SetSnapshotScheduleIdentifier(v string) *RestoreFromClusterSnapshotInput {
  17395. s.SnapshotScheduleIdentifier = &v
  17396. return s
  17397. }
  17398. // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  17399. func (s *RestoreFromClusterSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreFromClusterSnapshotInput {
  17400. s.VpcSecurityGroupIds = v
  17401. return s
  17402. }
  17403. type RestoreFromClusterSnapshotOutput struct {
  17404. _ struct{} `type:"structure"`
  17405. // Describes a cluster.
  17406. Cluster *Cluster `type:"structure"`
  17407. }
  17408. // String returns the string representation
  17409. func (s RestoreFromClusterSnapshotOutput) String() string {
  17410. return awsutil.Prettify(s)
  17411. }
  17412. // GoString returns the string representation
  17413. func (s RestoreFromClusterSnapshotOutput) GoString() string {
  17414. return s.String()
  17415. }
  17416. // SetCluster sets the Cluster field's value.
  17417. func (s *RestoreFromClusterSnapshotOutput) SetCluster(v *Cluster) *RestoreFromClusterSnapshotOutput {
  17418. s.Cluster = v
  17419. return s
  17420. }
  17421. // Describes the status of a cluster restore action. Returns null if the cluster
  17422. // was not created by restoring a snapshot.
  17423. type RestoreStatus struct {
  17424. _ struct{} `type:"structure"`
  17425. // The number of megabytes per second being transferred from the backup storage.
  17426. // Returns the average rate for a completed backup.
  17427. CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
  17428. // The amount of time an in-progress restore has been running, or the amount
  17429. // of time it took a completed restore to finish.
  17430. ElapsedTimeInSeconds *int64 `type:"long"`
  17431. // The estimate of the time remaining before the restore will complete. Returns
  17432. // 0 for a completed restore.
  17433. EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
  17434. // The number of megabytes that have been transferred from snapshot storage.
  17435. ProgressInMegaBytes *int64 `type:"long"`
  17436. // The size of the set of snapshot data used to restore the cluster.
  17437. SnapshotSizeInMegaBytes *int64 `type:"long"`
  17438. // The status of the restore action. Returns starting, restoring, completed,
  17439. // or failed.
  17440. Status *string `type:"string"`
  17441. }
  17442. // String returns the string representation
  17443. func (s RestoreStatus) String() string {
  17444. return awsutil.Prettify(s)
  17445. }
  17446. // GoString returns the string representation
  17447. func (s RestoreStatus) GoString() string {
  17448. return s.String()
  17449. }
  17450. // SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
  17451. func (s *RestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *RestoreStatus {
  17452. s.CurrentRestoreRateInMegaBytesPerSecond = &v
  17453. return s
  17454. }
  17455. // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
  17456. func (s *RestoreStatus) SetElapsedTimeInSeconds(v int64) *RestoreStatus {
  17457. s.ElapsedTimeInSeconds = &v
  17458. return s
  17459. }
  17460. // SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
  17461. func (s *RestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *RestoreStatus {
  17462. s.EstimatedTimeToCompletionInSeconds = &v
  17463. return s
  17464. }
  17465. // SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
  17466. func (s *RestoreStatus) SetProgressInMegaBytes(v int64) *RestoreStatus {
  17467. s.ProgressInMegaBytes = &v
  17468. return s
  17469. }
  17470. // SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
  17471. func (s *RestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *RestoreStatus {
  17472. s.SnapshotSizeInMegaBytes = &v
  17473. return s
  17474. }
  17475. // SetStatus sets the Status field's value.
  17476. func (s *RestoreStatus) SetStatus(v string) *RestoreStatus {
  17477. s.Status = &v
  17478. return s
  17479. }
  17480. type RestoreTableFromClusterSnapshotInput struct {
  17481. _ struct{} `type:"structure"`
  17482. // The identifier of the Amazon Redshift cluster to restore the table to.
  17483. //
  17484. // ClusterIdentifier is a required field
  17485. ClusterIdentifier *string `type:"string" required:"true"`
  17486. // The name of the table to create as a result of the current request.
  17487. //
  17488. // NewTableName is a required field
  17489. NewTableName *string `type:"string" required:"true"`
  17490. // The identifier of the snapshot to restore the table from. This snapshot must
  17491. // have been created from the Amazon Redshift cluster specified by the ClusterIdentifier
  17492. // parameter.
  17493. //
  17494. // SnapshotIdentifier is a required field
  17495. SnapshotIdentifier *string `type:"string" required:"true"`
  17496. // The name of the source database that contains the table to restore from.
  17497. //
  17498. // SourceDatabaseName is a required field
  17499. SourceDatabaseName *string `type:"string" required:"true"`
  17500. // The name of the source schema that contains the table to restore from. If
  17501. // you do not specify a SourceSchemaName value, the default is public.
  17502. SourceSchemaName *string `type:"string"`
  17503. // The name of the source table to restore from.
  17504. //
  17505. // SourceTableName is a required field
  17506. SourceTableName *string `type:"string" required:"true"`
  17507. // The name of the database to restore the table to.
  17508. TargetDatabaseName *string `type:"string"`
  17509. // The name of the schema to restore the table to.
  17510. TargetSchemaName *string `type:"string"`
  17511. }
  17512. // String returns the string representation
  17513. func (s RestoreTableFromClusterSnapshotInput) String() string {
  17514. return awsutil.Prettify(s)
  17515. }
  17516. // GoString returns the string representation
  17517. func (s RestoreTableFromClusterSnapshotInput) GoString() string {
  17518. return s.String()
  17519. }
  17520. // Validate inspects the fields of the type to determine if they are valid.
  17521. func (s *RestoreTableFromClusterSnapshotInput) Validate() error {
  17522. invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromClusterSnapshotInput"}
  17523. if s.ClusterIdentifier == nil {
  17524. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  17525. }
  17526. if s.NewTableName == nil {
  17527. invalidParams.Add(request.NewErrParamRequired("NewTableName"))
  17528. }
  17529. if s.SnapshotIdentifier == nil {
  17530. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  17531. }
  17532. if s.SourceDatabaseName == nil {
  17533. invalidParams.Add(request.NewErrParamRequired("SourceDatabaseName"))
  17534. }
  17535. if s.SourceTableName == nil {
  17536. invalidParams.Add(request.NewErrParamRequired("SourceTableName"))
  17537. }
  17538. if invalidParams.Len() > 0 {
  17539. return invalidParams
  17540. }
  17541. return nil
  17542. }
  17543. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  17544. func (s *RestoreTableFromClusterSnapshotInput) SetClusterIdentifier(v string) *RestoreTableFromClusterSnapshotInput {
  17545. s.ClusterIdentifier = &v
  17546. return s
  17547. }
  17548. // SetNewTableName sets the NewTableName field's value.
  17549. func (s *RestoreTableFromClusterSnapshotInput) SetNewTableName(v string) *RestoreTableFromClusterSnapshotInput {
  17550. s.NewTableName = &v
  17551. return s
  17552. }
  17553. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  17554. func (s *RestoreTableFromClusterSnapshotInput) SetSnapshotIdentifier(v string) *RestoreTableFromClusterSnapshotInput {
  17555. s.SnapshotIdentifier = &v
  17556. return s
  17557. }
  17558. // SetSourceDatabaseName sets the SourceDatabaseName field's value.
  17559. func (s *RestoreTableFromClusterSnapshotInput) SetSourceDatabaseName(v string) *RestoreTableFromClusterSnapshotInput {
  17560. s.SourceDatabaseName = &v
  17561. return s
  17562. }
  17563. // SetSourceSchemaName sets the SourceSchemaName field's value.
  17564. func (s *RestoreTableFromClusterSnapshotInput) SetSourceSchemaName(v string) *RestoreTableFromClusterSnapshotInput {
  17565. s.SourceSchemaName = &v
  17566. return s
  17567. }
  17568. // SetSourceTableName sets the SourceTableName field's value.
  17569. func (s *RestoreTableFromClusterSnapshotInput) SetSourceTableName(v string) *RestoreTableFromClusterSnapshotInput {
  17570. s.SourceTableName = &v
  17571. return s
  17572. }
  17573. // SetTargetDatabaseName sets the TargetDatabaseName field's value.
  17574. func (s *RestoreTableFromClusterSnapshotInput) SetTargetDatabaseName(v string) *RestoreTableFromClusterSnapshotInput {
  17575. s.TargetDatabaseName = &v
  17576. return s
  17577. }
  17578. // SetTargetSchemaName sets the TargetSchemaName field's value.
  17579. func (s *RestoreTableFromClusterSnapshotInput) SetTargetSchemaName(v string) *RestoreTableFromClusterSnapshotInput {
  17580. s.TargetSchemaName = &v
  17581. return s
  17582. }
  17583. type RestoreTableFromClusterSnapshotOutput struct {
  17584. _ struct{} `type:"structure"`
  17585. // Describes the status of a RestoreTableFromClusterSnapshot operation.
  17586. TableRestoreStatus *TableRestoreStatus `type:"structure"`
  17587. }
  17588. // String returns the string representation
  17589. func (s RestoreTableFromClusterSnapshotOutput) String() string {
  17590. return awsutil.Prettify(s)
  17591. }
  17592. // GoString returns the string representation
  17593. func (s RestoreTableFromClusterSnapshotOutput) GoString() string {
  17594. return s.String()
  17595. }
  17596. // SetTableRestoreStatus sets the TableRestoreStatus field's value.
  17597. func (s *RestoreTableFromClusterSnapshotOutput) SetTableRestoreStatus(v *TableRestoreStatus) *RestoreTableFromClusterSnapshotOutput {
  17598. s.TableRestoreStatus = v
  17599. return s
  17600. }
  17601. // Describes a RevisionTarget.
  17602. type RevisionTarget struct {
  17603. _ struct{} `type:"structure"`
  17604. // A unique string that identifies the version to update the cluster to. You
  17605. // can use this value in ModifyClusterDbRevision.
  17606. DatabaseRevision *string `type:"string"`
  17607. // The date on which the database revision was released.
  17608. DatabaseRevisionReleaseDate *time.Time `type:"timestamp"`
  17609. // A string that describes the changes and features that will be applied to
  17610. // the cluster when it is updated to the corresponding ClusterDbRevision.
  17611. Description *string `type:"string"`
  17612. }
  17613. // String returns the string representation
  17614. func (s RevisionTarget) String() string {
  17615. return awsutil.Prettify(s)
  17616. }
  17617. // GoString returns the string representation
  17618. func (s RevisionTarget) GoString() string {
  17619. return s.String()
  17620. }
  17621. // SetDatabaseRevision sets the DatabaseRevision field's value.
  17622. func (s *RevisionTarget) SetDatabaseRevision(v string) *RevisionTarget {
  17623. s.DatabaseRevision = &v
  17624. return s
  17625. }
  17626. // SetDatabaseRevisionReleaseDate sets the DatabaseRevisionReleaseDate field's value.
  17627. func (s *RevisionTarget) SetDatabaseRevisionReleaseDate(v time.Time) *RevisionTarget {
  17628. s.DatabaseRevisionReleaseDate = &v
  17629. return s
  17630. }
  17631. // SetDescription sets the Description field's value.
  17632. func (s *RevisionTarget) SetDescription(v string) *RevisionTarget {
  17633. s.Description = &v
  17634. return s
  17635. }
  17636. type RevokeClusterSecurityGroupIngressInput struct {
  17637. _ struct{} `type:"structure"`
  17638. // The IP range for which to revoke access. This range must be a valid Classless
  17639. // Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified,
  17640. // EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided.
  17641. CIDRIP *string `type:"string"`
  17642. // The name of the security Group from which to revoke the ingress rule.
  17643. //
  17644. // ClusterSecurityGroupName is a required field
  17645. ClusterSecurityGroupName *string `type:"string" required:"true"`
  17646. // The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName
  17647. // is specified, EC2SecurityGroupOwnerId must also be provided and CIDRIP cannot
  17648. // be provided.
  17649. EC2SecurityGroupName *string `type:"string"`
  17650. // The AWS account number of the owner of the security group specified in the
  17651. // EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable
  17652. // value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must
  17653. // also be provided. and CIDRIP cannot be provided.
  17654. //
  17655. // Example: 111122223333
  17656. EC2SecurityGroupOwnerId *string `type:"string"`
  17657. }
  17658. // String returns the string representation
  17659. func (s RevokeClusterSecurityGroupIngressInput) String() string {
  17660. return awsutil.Prettify(s)
  17661. }
  17662. // GoString returns the string representation
  17663. func (s RevokeClusterSecurityGroupIngressInput) GoString() string {
  17664. return s.String()
  17665. }
  17666. // Validate inspects the fields of the type to determine if they are valid.
  17667. func (s *RevokeClusterSecurityGroupIngressInput) Validate() error {
  17668. invalidParams := request.ErrInvalidParams{Context: "RevokeClusterSecurityGroupIngressInput"}
  17669. if s.ClusterSecurityGroupName == nil {
  17670. invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName"))
  17671. }
  17672. if invalidParams.Len() > 0 {
  17673. return invalidParams
  17674. }
  17675. return nil
  17676. }
  17677. // SetCIDRIP sets the CIDRIP field's value.
  17678. func (s *RevokeClusterSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeClusterSecurityGroupIngressInput {
  17679. s.CIDRIP = &v
  17680. return s
  17681. }
  17682. // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
  17683. func (s *RevokeClusterSecurityGroupIngressInput) SetClusterSecurityGroupName(v string) *RevokeClusterSecurityGroupIngressInput {
  17684. s.ClusterSecurityGroupName = &v
  17685. return s
  17686. }
  17687. // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
  17688. func (s *RevokeClusterSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeClusterSecurityGroupIngressInput {
  17689. s.EC2SecurityGroupName = &v
  17690. return s
  17691. }
  17692. // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
  17693. func (s *RevokeClusterSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeClusterSecurityGroupIngressInput {
  17694. s.EC2SecurityGroupOwnerId = &v
  17695. return s
  17696. }
  17697. type RevokeClusterSecurityGroupIngressOutput struct {
  17698. _ struct{} `type:"structure"`
  17699. // Describes a security group.
  17700. ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"`
  17701. }
  17702. // String returns the string representation
  17703. func (s RevokeClusterSecurityGroupIngressOutput) String() string {
  17704. return awsutil.Prettify(s)
  17705. }
  17706. // GoString returns the string representation
  17707. func (s RevokeClusterSecurityGroupIngressOutput) GoString() string {
  17708. return s.String()
  17709. }
  17710. // SetClusterSecurityGroup sets the ClusterSecurityGroup field's value.
  17711. func (s *RevokeClusterSecurityGroupIngressOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *RevokeClusterSecurityGroupIngressOutput {
  17712. s.ClusterSecurityGroup = v
  17713. return s
  17714. }
  17715. type RevokeSnapshotAccessInput struct {
  17716. _ struct{} `type:"structure"`
  17717. // The identifier of the AWS customer account that can no longer restore the
  17718. // specified snapshot.
  17719. //
  17720. // AccountWithRestoreAccess is a required field
  17721. AccountWithRestoreAccess *string `type:"string" required:"true"`
  17722. // The identifier of the cluster the snapshot was created from. This parameter
  17723. // is required if your IAM user has a policy containing a snapshot resource
  17724. // element that specifies anything other than * for the cluster name.
  17725. SnapshotClusterIdentifier *string `type:"string"`
  17726. // The identifier of the snapshot that the account can no longer access.
  17727. //
  17728. // SnapshotIdentifier is a required field
  17729. SnapshotIdentifier *string `type:"string" required:"true"`
  17730. }
  17731. // String returns the string representation
  17732. func (s RevokeSnapshotAccessInput) String() string {
  17733. return awsutil.Prettify(s)
  17734. }
  17735. // GoString returns the string representation
  17736. func (s RevokeSnapshotAccessInput) GoString() string {
  17737. return s.String()
  17738. }
  17739. // Validate inspects the fields of the type to determine if they are valid.
  17740. func (s *RevokeSnapshotAccessInput) Validate() error {
  17741. invalidParams := request.ErrInvalidParams{Context: "RevokeSnapshotAccessInput"}
  17742. if s.AccountWithRestoreAccess == nil {
  17743. invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess"))
  17744. }
  17745. if s.SnapshotIdentifier == nil {
  17746. invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
  17747. }
  17748. if invalidParams.Len() > 0 {
  17749. return invalidParams
  17750. }
  17751. return nil
  17752. }
  17753. // SetAccountWithRestoreAccess sets the AccountWithRestoreAccess field's value.
  17754. func (s *RevokeSnapshotAccessInput) SetAccountWithRestoreAccess(v string) *RevokeSnapshotAccessInput {
  17755. s.AccountWithRestoreAccess = &v
  17756. return s
  17757. }
  17758. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  17759. func (s *RevokeSnapshotAccessInput) SetSnapshotClusterIdentifier(v string) *RevokeSnapshotAccessInput {
  17760. s.SnapshotClusterIdentifier = &v
  17761. return s
  17762. }
  17763. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  17764. func (s *RevokeSnapshotAccessInput) SetSnapshotIdentifier(v string) *RevokeSnapshotAccessInput {
  17765. s.SnapshotIdentifier = &v
  17766. return s
  17767. }
  17768. type RevokeSnapshotAccessOutput struct {
  17769. _ struct{} `type:"structure"`
  17770. // Describes a snapshot.
  17771. Snapshot *Snapshot `type:"structure"`
  17772. }
  17773. // String returns the string representation
  17774. func (s RevokeSnapshotAccessOutput) String() string {
  17775. return awsutil.Prettify(s)
  17776. }
  17777. // GoString returns the string representation
  17778. func (s RevokeSnapshotAccessOutput) GoString() string {
  17779. return s.String()
  17780. }
  17781. // SetSnapshot sets the Snapshot field's value.
  17782. func (s *RevokeSnapshotAccessOutput) SetSnapshot(v *Snapshot) *RevokeSnapshotAccessOutput {
  17783. s.Snapshot = v
  17784. return s
  17785. }
  17786. type RotateEncryptionKeyInput struct {
  17787. _ struct{} `type:"structure"`
  17788. // The unique identifier of the cluster that you want to rotate the encryption
  17789. // keys for.
  17790. //
  17791. // Constraints: Must be the name of valid cluster that has encryption enabled.
  17792. //
  17793. // ClusterIdentifier is a required field
  17794. ClusterIdentifier *string `type:"string" required:"true"`
  17795. }
  17796. // String returns the string representation
  17797. func (s RotateEncryptionKeyInput) String() string {
  17798. return awsutil.Prettify(s)
  17799. }
  17800. // GoString returns the string representation
  17801. func (s RotateEncryptionKeyInput) GoString() string {
  17802. return s.String()
  17803. }
  17804. // Validate inspects the fields of the type to determine if they are valid.
  17805. func (s *RotateEncryptionKeyInput) Validate() error {
  17806. invalidParams := request.ErrInvalidParams{Context: "RotateEncryptionKeyInput"}
  17807. if s.ClusterIdentifier == nil {
  17808. invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
  17809. }
  17810. if invalidParams.Len() > 0 {
  17811. return invalidParams
  17812. }
  17813. return nil
  17814. }
  17815. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  17816. func (s *RotateEncryptionKeyInput) SetClusterIdentifier(v string) *RotateEncryptionKeyInput {
  17817. s.ClusterIdentifier = &v
  17818. return s
  17819. }
  17820. type RotateEncryptionKeyOutput struct {
  17821. _ struct{} `type:"structure"`
  17822. // Describes a cluster.
  17823. Cluster *Cluster `type:"structure"`
  17824. }
  17825. // String returns the string representation
  17826. func (s RotateEncryptionKeyOutput) String() string {
  17827. return awsutil.Prettify(s)
  17828. }
  17829. // GoString returns the string representation
  17830. func (s RotateEncryptionKeyOutput) GoString() string {
  17831. return s.String()
  17832. }
  17833. // SetCluster sets the Cluster field's value.
  17834. func (s *RotateEncryptionKeyOutput) SetCluster(v *Cluster) *RotateEncryptionKeyOutput {
  17835. s.Cluster = v
  17836. return s
  17837. }
  17838. // Describes a snapshot.
  17839. type Snapshot struct {
  17840. _ struct{} `type:"structure"`
  17841. // A list of the AWS customer accounts authorized to restore the snapshot. Returns
  17842. // null if no accounts are authorized. Visible only to the snapshot owner.
  17843. AccountsWithRestoreAccess []*AccountWithRestoreAccess `locationNameList:"AccountWithRestoreAccess" type:"list"`
  17844. // The size of the incremental backup.
  17845. ActualIncrementalBackupSizeInMegaBytes *float64 `type:"double"`
  17846. // The Availability Zone in which the cluster was created.
  17847. AvailabilityZone *string `type:"string"`
  17848. // The number of megabytes that have been transferred to the snapshot backup.
  17849. BackupProgressInMegaBytes *float64 `type:"double"`
  17850. // The time (UTC) when the cluster was originally created.
  17851. ClusterCreateTime *time.Time `type:"timestamp"`
  17852. // The identifier of the cluster for which the snapshot was taken.
  17853. ClusterIdentifier *string `type:"string"`
  17854. // The version ID of the Amazon Redshift engine that is running on the cluster.
  17855. ClusterVersion *string `type:"string"`
  17856. // The number of megabytes per second being transferred to the snapshot backup.
  17857. // Returns 0 for a completed backup.
  17858. CurrentBackupRateInMegaBytesPerSecond *float64 `type:"double"`
  17859. // The name of the database that was created when the cluster was created.
  17860. DBName *string `type:"string"`
  17861. // The amount of time an in-progress snapshot backup has been running, or the
  17862. // amount of time it took a completed backup to finish.
  17863. ElapsedTimeInSeconds *int64 `type:"long"`
  17864. // If true, the data in the snapshot is encrypted at rest.
  17865. Encrypted *bool `type:"boolean"`
  17866. // A boolean that indicates whether the snapshot data is encrypted using the
  17867. // HSM keys of the source cluster. true indicates that the data is encrypted
  17868. // using HSM keys.
  17869. EncryptedWithHSM *bool `type:"boolean"`
  17870. // An option that specifies whether to create the cluster with enhanced VPC
  17871. // routing enabled. To create a cluster that uses enhanced VPC routing, the
  17872. // cluster must be in a VPC. For more information, see Enhanced VPC Routing
  17873. // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
  17874. // in the Amazon Redshift Cluster Management Guide.
  17875. //
  17876. // If this option is true, enhanced VPC routing is enabled.
  17877. //
  17878. // Default: false
  17879. EnhancedVpcRouting *bool `type:"boolean"`
  17880. // The estimate of the time remaining before the snapshot backup will complete.
  17881. // Returns 0 for a completed backup.
  17882. EstimatedSecondsToCompletion *int64 `type:"long"`
  17883. // The AWS Key Management Service (KMS) key ID of the encryption key that was
  17884. // used to encrypt data in the cluster from which the snapshot was taken.
  17885. KmsKeyId *string `type:"string"`
  17886. // The name of the maintenance track for the snapshot.
  17887. MaintenanceTrackName *string `type:"string"`
  17888. // The number of days until a manual snapshot will pass its retention period.
  17889. ManualSnapshotRemainingDays *int64 `type:"integer"`
  17890. // The number of days that a manual snapshot is retained. If the value is -1,
  17891. // the manual snapshot is retained indefinitely.
  17892. //
  17893. // The value must be either -1 or an integer between 1 and 3,653.
  17894. ManualSnapshotRetentionPeriod *int64 `type:"integer"`
  17895. // The master user name for the cluster.
  17896. MasterUsername *string `type:"string"`
  17897. // The node type of the nodes in the cluster.
  17898. NodeType *string `type:"string"`
  17899. // The number of nodes in the cluster.
  17900. NumberOfNodes *int64 `type:"integer"`
  17901. // For manual snapshots, the AWS customer account used to create or copy the
  17902. // snapshot. For automatic snapshots, the owner of the cluster. The owner can
  17903. // perform all snapshot actions, such as sharing a manual snapshot.
  17904. OwnerAccount *string `type:"string"`
  17905. // The port that the cluster is listening on.
  17906. Port *int64 `type:"integer"`
  17907. // The list of node types that this cluster snapshot is able to restore into.
  17908. RestorableNodeTypes []*string `locationNameList:"NodeType" type:"list"`
  17909. // The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot
  17910. // contains a copy of the cluster data as of this exact time.
  17911. SnapshotCreateTime *time.Time `type:"timestamp"`
  17912. // The snapshot identifier that is provided in the request.
  17913. SnapshotIdentifier *string `type:"string"`
  17914. // A timestamp representing the start of the retention period for the snapshot.
  17915. SnapshotRetentionStartTime *time.Time `type:"timestamp"`
  17916. // The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot
  17917. // are of type "manual".
  17918. SnapshotType *string `type:"string"`
  17919. // The source region from which the snapshot was copied.
  17920. SourceRegion *string `type:"string"`
  17921. // The snapshot status. The value of the status depends on the API operation
  17922. // used:
  17923. //
  17924. // * CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
  17925. //
  17926. //
  17927. // * DescribeClusterSnapshots returns status as "creating", "available",
  17928. // "final snapshot", or "failed".
  17929. //
  17930. // * DeleteClusterSnapshot returns status as "deleted".
  17931. Status *string `type:"string"`
  17932. // The list of tags for the cluster snapshot.
  17933. Tags []*Tag `locationNameList:"Tag" type:"list"`
  17934. // The size of the complete set of backup data that would be used to restore
  17935. // the cluster.
  17936. TotalBackupSizeInMegaBytes *float64 `type:"double"`
  17937. // The VPC identifier of the cluster if the snapshot is from a cluster in a
  17938. // VPC. Otherwise, this field is not in the output.
  17939. VpcId *string `type:"string"`
  17940. }
  17941. // String returns the string representation
  17942. func (s Snapshot) String() string {
  17943. return awsutil.Prettify(s)
  17944. }
  17945. // GoString returns the string representation
  17946. func (s Snapshot) GoString() string {
  17947. return s.String()
  17948. }
  17949. // SetAccountsWithRestoreAccess sets the AccountsWithRestoreAccess field's value.
  17950. func (s *Snapshot) SetAccountsWithRestoreAccess(v []*AccountWithRestoreAccess) *Snapshot {
  17951. s.AccountsWithRestoreAccess = v
  17952. return s
  17953. }
  17954. // SetActualIncrementalBackupSizeInMegaBytes sets the ActualIncrementalBackupSizeInMegaBytes field's value.
  17955. func (s *Snapshot) SetActualIncrementalBackupSizeInMegaBytes(v float64) *Snapshot {
  17956. s.ActualIncrementalBackupSizeInMegaBytes = &v
  17957. return s
  17958. }
  17959. // SetAvailabilityZone sets the AvailabilityZone field's value.
  17960. func (s *Snapshot) SetAvailabilityZone(v string) *Snapshot {
  17961. s.AvailabilityZone = &v
  17962. return s
  17963. }
  17964. // SetBackupProgressInMegaBytes sets the BackupProgressInMegaBytes field's value.
  17965. func (s *Snapshot) SetBackupProgressInMegaBytes(v float64) *Snapshot {
  17966. s.BackupProgressInMegaBytes = &v
  17967. return s
  17968. }
  17969. // SetClusterCreateTime sets the ClusterCreateTime field's value.
  17970. func (s *Snapshot) SetClusterCreateTime(v time.Time) *Snapshot {
  17971. s.ClusterCreateTime = &v
  17972. return s
  17973. }
  17974. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  17975. func (s *Snapshot) SetClusterIdentifier(v string) *Snapshot {
  17976. s.ClusterIdentifier = &v
  17977. return s
  17978. }
  17979. // SetClusterVersion sets the ClusterVersion field's value.
  17980. func (s *Snapshot) SetClusterVersion(v string) *Snapshot {
  17981. s.ClusterVersion = &v
  17982. return s
  17983. }
  17984. // SetCurrentBackupRateInMegaBytesPerSecond sets the CurrentBackupRateInMegaBytesPerSecond field's value.
  17985. func (s *Snapshot) SetCurrentBackupRateInMegaBytesPerSecond(v float64) *Snapshot {
  17986. s.CurrentBackupRateInMegaBytesPerSecond = &v
  17987. return s
  17988. }
  17989. // SetDBName sets the DBName field's value.
  17990. func (s *Snapshot) SetDBName(v string) *Snapshot {
  17991. s.DBName = &v
  17992. return s
  17993. }
  17994. // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
  17995. func (s *Snapshot) SetElapsedTimeInSeconds(v int64) *Snapshot {
  17996. s.ElapsedTimeInSeconds = &v
  17997. return s
  17998. }
  17999. // SetEncrypted sets the Encrypted field's value.
  18000. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  18001. s.Encrypted = &v
  18002. return s
  18003. }
  18004. // SetEncryptedWithHSM sets the EncryptedWithHSM field's value.
  18005. func (s *Snapshot) SetEncryptedWithHSM(v bool) *Snapshot {
  18006. s.EncryptedWithHSM = &v
  18007. return s
  18008. }
  18009. // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
  18010. func (s *Snapshot) SetEnhancedVpcRouting(v bool) *Snapshot {
  18011. s.EnhancedVpcRouting = &v
  18012. return s
  18013. }
  18014. // SetEstimatedSecondsToCompletion sets the EstimatedSecondsToCompletion field's value.
  18015. func (s *Snapshot) SetEstimatedSecondsToCompletion(v int64) *Snapshot {
  18016. s.EstimatedSecondsToCompletion = &v
  18017. return s
  18018. }
  18019. // SetKmsKeyId sets the KmsKeyId field's value.
  18020. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  18021. s.KmsKeyId = &v
  18022. return s
  18023. }
  18024. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  18025. func (s *Snapshot) SetMaintenanceTrackName(v string) *Snapshot {
  18026. s.MaintenanceTrackName = &v
  18027. return s
  18028. }
  18029. // SetManualSnapshotRemainingDays sets the ManualSnapshotRemainingDays field's value.
  18030. func (s *Snapshot) SetManualSnapshotRemainingDays(v int64) *Snapshot {
  18031. s.ManualSnapshotRemainingDays = &v
  18032. return s
  18033. }
  18034. // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
  18035. func (s *Snapshot) SetManualSnapshotRetentionPeriod(v int64) *Snapshot {
  18036. s.ManualSnapshotRetentionPeriod = &v
  18037. return s
  18038. }
  18039. // SetMasterUsername sets the MasterUsername field's value.
  18040. func (s *Snapshot) SetMasterUsername(v string) *Snapshot {
  18041. s.MasterUsername = &v
  18042. return s
  18043. }
  18044. // SetNodeType sets the NodeType field's value.
  18045. func (s *Snapshot) SetNodeType(v string) *Snapshot {
  18046. s.NodeType = &v
  18047. return s
  18048. }
  18049. // SetNumberOfNodes sets the NumberOfNodes field's value.
  18050. func (s *Snapshot) SetNumberOfNodes(v int64) *Snapshot {
  18051. s.NumberOfNodes = &v
  18052. return s
  18053. }
  18054. // SetOwnerAccount sets the OwnerAccount field's value.
  18055. func (s *Snapshot) SetOwnerAccount(v string) *Snapshot {
  18056. s.OwnerAccount = &v
  18057. return s
  18058. }
  18059. // SetPort sets the Port field's value.
  18060. func (s *Snapshot) SetPort(v int64) *Snapshot {
  18061. s.Port = &v
  18062. return s
  18063. }
  18064. // SetRestorableNodeTypes sets the RestorableNodeTypes field's value.
  18065. func (s *Snapshot) SetRestorableNodeTypes(v []*string) *Snapshot {
  18066. s.RestorableNodeTypes = v
  18067. return s
  18068. }
  18069. // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
  18070. func (s *Snapshot) SetSnapshotCreateTime(v time.Time) *Snapshot {
  18071. s.SnapshotCreateTime = &v
  18072. return s
  18073. }
  18074. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  18075. func (s *Snapshot) SetSnapshotIdentifier(v string) *Snapshot {
  18076. s.SnapshotIdentifier = &v
  18077. return s
  18078. }
  18079. // SetSnapshotRetentionStartTime sets the SnapshotRetentionStartTime field's value.
  18080. func (s *Snapshot) SetSnapshotRetentionStartTime(v time.Time) *Snapshot {
  18081. s.SnapshotRetentionStartTime = &v
  18082. return s
  18083. }
  18084. // SetSnapshotType sets the SnapshotType field's value.
  18085. func (s *Snapshot) SetSnapshotType(v string) *Snapshot {
  18086. s.SnapshotType = &v
  18087. return s
  18088. }
  18089. // SetSourceRegion sets the SourceRegion field's value.
  18090. func (s *Snapshot) SetSourceRegion(v string) *Snapshot {
  18091. s.SourceRegion = &v
  18092. return s
  18093. }
  18094. // SetStatus sets the Status field's value.
  18095. func (s *Snapshot) SetStatus(v string) *Snapshot {
  18096. s.Status = &v
  18097. return s
  18098. }
  18099. // SetTags sets the Tags field's value.
  18100. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  18101. s.Tags = v
  18102. return s
  18103. }
  18104. // SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value.
  18105. func (s *Snapshot) SetTotalBackupSizeInMegaBytes(v float64) *Snapshot {
  18106. s.TotalBackupSizeInMegaBytes = &v
  18107. return s
  18108. }
  18109. // SetVpcId sets the VpcId field's value.
  18110. func (s *Snapshot) SetVpcId(v string) *Snapshot {
  18111. s.VpcId = &v
  18112. return s
  18113. }
  18114. // The snapshot copy grant that grants Amazon Redshift permission to encrypt
  18115. // copied snapshots with the specified customer master key (CMK) from AWS KMS
  18116. // in the destination region.
  18117. //
  18118. // For more information about managing snapshot copy grants, go to Amazon Redshift
  18119. // Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
  18120. // in the Amazon Redshift Cluster Management Guide.
  18121. type SnapshotCopyGrant struct {
  18122. _ struct{} `type:"structure"`
  18123. // The unique identifier of the customer master key (CMK) in AWS KMS to which
  18124. // Amazon Redshift is granted permission.
  18125. KmsKeyId *string `type:"string"`
  18126. // The name of the snapshot copy grant.
  18127. SnapshotCopyGrantName *string `type:"string"`
  18128. // A list of tag instances.
  18129. Tags []*Tag `locationNameList:"Tag" type:"list"`
  18130. }
  18131. // String returns the string representation
  18132. func (s SnapshotCopyGrant) String() string {
  18133. return awsutil.Prettify(s)
  18134. }
  18135. // GoString returns the string representation
  18136. func (s SnapshotCopyGrant) GoString() string {
  18137. return s.String()
  18138. }
  18139. // SetKmsKeyId sets the KmsKeyId field's value.
  18140. func (s *SnapshotCopyGrant) SetKmsKeyId(v string) *SnapshotCopyGrant {
  18141. s.KmsKeyId = &v
  18142. return s
  18143. }
  18144. // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
  18145. func (s *SnapshotCopyGrant) SetSnapshotCopyGrantName(v string) *SnapshotCopyGrant {
  18146. s.SnapshotCopyGrantName = &v
  18147. return s
  18148. }
  18149. // SetTags sets the Tags field's value.
  18150. func (s *SnapshotCopyGrant) SetTags(v []*Tag) *SnapshotCopyGrant {
  18151. s.Tags = v
  18152. return s
  18153. }
  18154. // Describes the errors returned by a snapshot.
  18155. type SnapshotErrorMessage struct {
  18156. _ struct{} `type:"structure"`
  18157. // The failure code for the error.
  18158. FailureCode *string `type:"string"`
  18159. // The text message describing the error.
  18160. FailureReason *string `type:"string"`
  18161. // A unique identifier for the cluster.
  18162. SnapshotClusterIdentifier *string `type:"string"`
  18163. // A unique identifier for the snapshot returning the error.
  18164. SnapshotIdentifier *string `type:"string"`
  18165. }
  18166. // String returns the string representation
  18167. func (s SnapshotErrorMessage) String() string {
  18168. return awsutil.Prettify(s)
  18169. }
  18170. // GoString returns the string representation
  18171. func (s SnapshotErrorMessage) GoString() string {
  18172. return s.String()
  18173. }
  18174. // SetFailureCode sets the FailureCode field's value.
  18175. func (s *SnapshotErrorMessage) SetFailureCode(v string) *SnapshotErrorMessage {
  18176. s.FailureCode = &v
  18177. return s
  18178. }
  18179. // SetFailureReason sets the FailureReason field's value.
  18180. func (s *SnapshotErrorMessage) SetFailureReason(v string) *SnapshotErrorMessage {
  18181. s.FailureReason = &v
  18182. return s
  18183. }
  18184. // SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value.
  18185. func (s *SnapshotErrorMessage) SetSnapshotClusterIdentifier(v string) *SnapshotErrorMessage {
  18186. s.SnapshotClusterIdentifier = &v
  18187. return s
  18188. }
  18189. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  18190. func (s *SnapshotErrorMessage) SetSnapshotIdentifier(v string) *SnapshotErrorMessage {
  18191. s.SnapshotIdentifier = &v
  18192. return s
  18193. }
  18194. // Describes a snapshot schedule. You can set a regular interval for creating
  18195. // snapshots of a cluster. You can also schedule snapshots for specific dates.
  18196. type SnapshotSchedule struct {
  18197. _ struct{} `type:"structure"`
  18198. AssociatedClusterCount *int64 `type:"integer"`
  18199. AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"`
  18200. NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"`
  18201. // A list of ScheduleDefinitions
  18202. ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"`
  18203. // The description of the schedule.
  18204. ScheduleDescription *string `type:"string"`
  18205. // A unique identifier for the schedule.
  18206. ScheduleIdentifier *string `type:"string"`
  18207. // An optional set of tags describing the schedule.
  18208. Tags []*Tag `locationNameList:"Tag" type:"list"`
  18209. }
  18210. // String returns the string representation
  18211. func (s SnapshotSchedule) String() string {
  18212. return awsutil.Prettify(s)
  18213. }
  18214. // GoString returns the string representation
  18215. func (s SnapshotSchedule) GoString() string {
  18216. return s.String()
  18217. }
  18218. // SetAssociatedClusterCount sets the AssociatedClusterCount field's value.
  18219. func (s *SnapshotSchedule) SetAssociatedClusterCount(v int64) *SnapshotSchedule {
  18220. s.AssociatedClusterCount = &v
  18221. return s
  18222. }
  18223. // SetAssociatedClusters sets the AssociatedClusters field's value.
  18224. func (s *SnapshotSchedule) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *SnapshotSchedule {
  18225. s.AssociatedClusters = v
  18226. return s
  18227. }
  18228. // SetNextInvocations sets the NextInvocations field's value.
  18229. func (s *SnapshotSchedule) SetNextInvocations(v []*time.Time) *SnapshotSchedule {
  18230. s.NextInvocations = v
  18231. return s
  18232. }
  18233. // SetScheduleDefinitions sets the ScheduleDefinitions field's value.
  18234. func (s *SnapshotSchedule) SetScheduleDefinitions(v []*string) *SnapshotSchedule {
  18235. s.ScheduleDefinitions = v
  18236. return s
  18237. }
  18238. // SetScheduleDescription sets the ScheduleDescription field's value.
  18239. func (s *SnapshotSchedule) SetScheduleDescription(v string) *SnapshotSchedule {
  18240. s.ScheduleDescription = &v
  18241. return s
  18242. }
  18243. // SetScheduleIdentifier sets the ScheduleIdentifier field's value.
  18244. func (s *SnapshotSchedule) SetScheduleIdentifier(v string) *SnapshotSchedule {
  18245. s.ScheduleIdentifier = &v
  18246. return s
  18247. }
  18248. // SetTags sets the Tags field's value.
  18249. func (s *SnapshotSchedule) SetTags(v []*Tag) *SnapshotSchedule {
  18250. s.Tags = v
  18251. return s
  18252. }
  18253. // Describes a sorting entity
  18254. type SnapshotSortingEntity struct {
  18255. _ struct{} `type:"structure"`
  18256. // The category for sorting the snapshots.
  18257. //
  18258. // Attribute is a required field
  18259. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeToSortBy"`
  18260. // The order for listing the attributes.
  18261. SortOrder *string `type:"string" enum:"SortByOrder"`
  18262. }
  18263. // String returns the string representation
  18264. func (s SnapshotSortingEntity) String() string {
  18265. return awsutil.Prettify(s)
  18266. }
  18267. // GoString returns the string representation
  18268. func (s SnapshotSortingEntity) GoString() string {
  18269. return s.String()
  18270. }
  18271. // Validate inspects the fields of the type to determine if they are valid.
  18272. func (s *SnapshotSortingEntity) Validate() error {
  18273. invalidParams := request.ErrInvalidParams{Context: "SnapshotSortingEntity"}
  18274. if s.Attribute == nil {
  18275. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  18276. }
  18277. if invalidParams.Len() > 0 {
  18278. return invalidParams
  18279. }
  18280. return nil
  18281. }
  18282. // SetAttribute sets the Attribute field's value.
  18283. func (s *SnapshotSortingEntity) SetAttribute(v string) *SnapshotSortingEntity {
  18284. s.Attribute = &v
  18285. return s
  18286. }
  18287. // SetSortOrder sets the SortOrder field's value.
  18288. func (s *SnapshotSortingEntity) SetSortOrder(v string) *SnapshotSortingEntity {
  18289. s.SortOrder = &v
  18290. return s
  18291. }
  18292. // Describes a subnet.
  18293. type Subnet struct {
  18294. _ struct{} `type:"structure"`
  18295. // Describes an availability zone.
  18296. SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
  18297. // The identifier of the subnet.
  18298. SubnetIdentifier *string `type:"string"`
  18299. // The status of the subnet.
  18300. SubnetStatus *string `type:"string"`
  18301. }
  18302. // String returns the string representation
  18303. func (s Subnet) String() string {
  18304. return awsutil.Prettify(s)
  18305. }
  18306. // GoString returns the string representation
  18307. func (s Subnet) GoString() string {
  18308. return s.String()
  18309. }
  18310. // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
  18311. func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
  18312. s.SubnetAvailabilityZone = v
  18313. return s
  18314. }
  18315. // SetSubnetIdentifier sets the SubnetIdentifier field's value.
  18316. func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
  18317. s.SubnetIdentifier = &v
  18318. return s
  18319. }
  18320. // SetSubnetStatus sets the SubnetStatus field's value.
  18321. func (s *Subnet) SetSubnetStatus(v string) *Subnet {
  18322. s.SubnetStatus = &v
  18323. return s
  18324. }
  18325. // Describes the operations that are allowed on a maintenance track.
  18326. type SupportedOperation struct {
  18327. _ struct{} `type:"structure"`
  18328. // A list of the supported operations.
  18329. OperationName *string `type:"string"`
  18330. }
  18331. // String returns the string representation
  18332. func (s SupportedOperation) String() string {
  18333. return awsutil.Prettify(s)
  18334. }
  18335. // GoString returns the string representation
  18336. func (s SupportedOperation) GoString() string {
  18337. return s.String()
  18338. }
  18339. // SetOperationName sets the OperationName field's value.
  18340. func (s *SupportedOperation) SetOperationName(v string) *SupportedOperation {
  18341. s.OperationName = &v
  18342. return s
  18343. }
  18344. // A list of supported platforms for orderable clusters.
  18345. type SupportedPlatform struct {
  18346. _ struct{} `type:"structure"`
  18347. Name *string `type:"string"`
  18348. }
  18349. // String returns the string representation
  18350. func (s SupportedPlatform) String() string {
  18351. return awsutil.Prettify(s)
  18352. }
  18353. // GoString returns the string representation
  18354. func (s SupportedPlatform) GoString() string {
  18355. return s.String()
  18356. }
  18357. // SetName sets the Name field's value.
  18358. func (s *SupportedPlatform) SetName(v string) *SupportedPlatform {
  18359. s.Name = &v
  18360. return s
  18361. }
  18362. // Describes the status of a RestoreTableFromClusterSnapshot operation.
  18363. type TableRestoreStatus struct {
  18364. _ struct{} `type:"structure"`
  18365. // The identifier of the Amazon Redshift cluster that the table is being restored
  18366. // to.
  18367. ClusterIdentifier *string `type:"string"`
  18368. // A description of the status of the table restore request. Status values include
  18369. // SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.
  18370. Message *string `type:"string"`
  18371. // The name of the table to create as a result of the table restore request.
  18372. NewTableName *string `type:"string"`
  18373. // The amount of data restored to the new table so far, in megabytes (MB).
  18374. ProgressInMegaBytes *int64 `type:"long"`
  18375. // The time that the table restore request was made, in Universal Coordinated
  18376. // Time (UTC).
  18377. RequestTime *time.Time `type:"timestamp"`
  18378. // The identifier of the snapshot that the table is being restored from.
  18379. SnapshotIdentifier *string `type:"string"`
  18380. // The name of the source database that contains the table being restored.
  18381. SourceDatabaseName *string `type:"string"`
  18382. // The name of the source schema that contains the table being restored.
  18383. SourceSchemaName *string `type:"string"`
  18384. // The name of the source table being restored.
  18385. SourceTableName *string `type:"string"`
  18386. // A value that describes the current state of the table restore request.
  18387. //
  18388. // Valid Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS
  18389. Status *string `type:"string" enum:"TableRestoreStatusType"`
  18390. // The unique identifier for the table restore request.
  18391. TableRestoreRequestId *string `type:"string"`
  18392. // The name of the database to restore the table to.
  18393. TargetDatabaseName *string `type:"string"`
  18394. // The name of the schema to restore the table to.
  18395. TargetSchemaName *string `type:"string"`
  18396. // The total amount of data to restore to the new table, in megabytes (MB).
  18397. TotalDataInMegaBytes *int64 `type:"long"`
  18398. }
  18399. // String returns the string representation
  18400. func (s TableRestoreStatus) String() string {
  18401. return awsutil.Prettify(s)
  18402. }
  18403. // GoString returns the string representation
  18404. func (s TableRestoreStatus) GoString() string {
  18405. return s.String()
  18406. }
  18407. // SetClusterIdentifier sets the ClusterIdentifier field's value.
  18408. func (s *TableRestoreStatus) SetClusterIdentifier(v string) *TableRestoreStatus {
  18409. s.ClusterIdentifier = &v
  18410. return s
  18411. }
  18412. // SetMessage sets the Message field's value.
  18413. func (s *TableRestoreStatus) SetMessage(v string) *TableRestoreStatus {
  18414. s.Message = &v
  18415. return s
  18416. }
  18417. // SetNewTableName sets the NewTableName field's value.
  18418. func (s *TableRestoreStatus) SetNewTableName(v string) *TableRestoreStatus {
  18419. s.NewTableName = &v
  18420. return s
  18421. }
  18422. // SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
  18423. func (s *TableRestoreStatus) SetProgressInMegaBytes(v int64) *TableRestoreStatus {
  18424. s.ProgressInMegaBytes = &v
  18425. return s
  18426. }
  18427. // SetRequestTime sets the RequestTime field's value.
  18428. func (s *TableRestoreStatus) SetRequestTime(v time.Time) *TableRestoreStatus {
  18429. s.RequestTime = &v
  18430. return s
  18431. }
  18432. // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
  18433. func (s *TableRestoreStatus) SetSnapshotIdentifier(v string) *TableRestoreStatus {
  18434. s.SnapshotIdentifier = &v
  18435. return s
  18436. }
  18437. // SetSourceDatabaseName sets the SourceDatabaseName field's value.
  18438. func (s *TableRestoreStatus) SetSourceDatabaseName(v string) *TableRestoreStatus {
  18439. s.SourceDatabaseName = &v
  18440. return s
  18441. }
  18442. // SetSourceSchemaName sets the SourceSchemaName field's value.
  18443. func (s *TableRestoreStatus) SetSourceSchemaName(v string) *TableRestoreStatus {
  18444. s.SourceSchemaName = &v
  18445. return s
  18446. }
  18447. // SetSourceTableName sets the SourceTableName field's value.
  18448. func (s *TableRestoreStatus) SetSourceTableName(v string) *TableRestoreStatus {
  18449. s.SourceTableName = &v
  18450. return s
  18451. }
  18452. // SetStatus sets the Status field's value.
  18453. func (s *TableRestoreStatus) SetStatus(v string) *TableRestoreStatus {
  18454. s.Status = &v
  18455. return s
  18456. }
  18457. // SetTableRestoreRequestId sets the TableRestoreRequestId field's value.
  18458. func (s *TableRestoreStatus) SetTableRestoreRequestId(v string) *TableRestoreStatus {
  18459. s.TableRestoreRequestId = &v
  18460. return s
  18461. }
  18462. // SetTargetDatabaseName sets the TargetDatabaseName field's value.
  18463. func (s *TableRestoreStatus) SetTargetDatabaseName(v string) *TableRestoreStatus {
  18464. s.TargetDatabaseName = &v
  18465. return s
  18466. }
  18467. // SetTargetSchemaName sets the TargetSchemaName field's value.
  18468. func (s *TableRestoreStatus) SetTargetSchemaName(v string) *TableRestoreStatus {
  18469. s.TargetSchemaName = &v
  18470. return s
  18471. }
  18472. // SetTotalDataInMegaBytes sets the TotalDataInMegaBytes field's value.
  18473. func (s *TableRestoreStatus) SetTotalDataInMegaBytes(v int64) *TableRestoreStatus {
  18474. s.TotalDataInMegaBytes = &v
  18475. return s
  18476. }
  18477. // A tag consisting of a name/value pair for a resource.
  18478. type Tag struct {
  18479. _ struct{} `type:"structure"`
  18480. // The key, or name, for the resource tag.
  18481. Key *string `type:"string"`
  18482. // The value for the resource tag.
  18483. Value *string `type:"string"`
  18484. }
  18485. // String returns the string representation
  18486. func (s Tag) String() string {
  18487. return awsutil.Prettify(s)
  18488. }
  18489. // GoString returns the string representation
  18490. func (s Tag) GoString() string {
  18491. return s.String()
  18492. }
  18493. // SetKey sets the Key field's value.
  18494. func (s *Tag) SetKey(v string) *Tag {
  18495. s.Key = &v
  18496. return s
  18497. }
  18498. // SetValue sets the Value field's value.
  18499. func (s *Tag) SetValue(v string) *Tag {
  18500. s.Value = &v
  18501. return s
  18502. }
  18503. // A tag and its associated resource.
  18504. type TaggedResource struct {
  18505. _ struct{} `type:"structure"`
  18506. // The Amazon Resource Name (ARN) with which the tag is associated, for example:
  18507. // arn:aws:redshift:us-east-1:123456789:cluster:t1.
  18508. ResourceName *string `type:"string"`
  18509. // The type of resource with which the tag is associated. Valid resource types
  18510. // are:
  18511. //
  18512. // * Cluster
  18513. //
  18514. // * CIDR/IP
  18515. //
  18516. // * EC2 security group
  18517. //
  18518. // * Snapshot
  18519. //
  18520. // * Cluster security group
  18521. //
  18522. // * Subnet group
  18523. //
  18524. // * HSM connection
  18525. //
  18526. // * HSM certificate
  18527. //
  18528. // * Parameter group
  18529. //
  18530. // For more information about Amazon Redshift resource types and constructing
  18531. // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (http://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions)
  18532. // in the Amazon Redshift Cluster Management Guide.
  18533. ResourceType *string `type:"string"`
  18534. // The tag for the resource.
  18535. Tag *Tag `type:"structure"`
  18536. }
  18537. // String returns the string representation
  18538. func (s TaggedResource) String() string {
  18539. return awsutil.Prettify(s)
  18540. }
  18541. // GoString returns the string representation
  18542. func (s TaggedResource) GoString() string {
  18543. return s.String()
  18544. }
  18545. // SetResourceName sets the ResourceName field's value.
  18546. func (s *TaggedResource) SetResourceName(v string) *TaggedResource {
  18547. s.ResourceName = &v
  18548. return s
  18549. }
  18550. // SetResourceType sets the ResourceType field's value.
  18551. func (s *TaggedResource) SetResourceType(v string) *TaggedResource {
  18552. s.ResourceType = &v
  18553. return s
  18554. }
  18555. // SetTag sets the Tag field's value.
  18556. func (s *TaggedResource) SetTag(v *Tag) *TaggedResource {
  18557. s.Tag = v
  18558. return s
  18559. }
  18560. // A maintenance track that you can switch the current track to.
  18561. type UpdateTarget struct {
  18562. _ struct{} `type:"structure"`
  18563. // The cluster version for the new maintenance track.
  18564. DatabaseVersion *string `type:"string"`
  18565. // The name of the new maintenance track.
  18566. MaintenanceTrackName *string `type:"string"`
  18567. // A list of operations supported by the maintenance track.
  18568. SupportedOperations []*SupportedOperation `locationNameList:"SupportedOperation" type:"list"`
  18569. }
  18570. // String returns the string representation
  18571. func (s UpdateTarget) String() string {
  18572. return awsutil.Prettify(s)
  18573. }
  18574. // GoString returns the string representation
  18575. func (s UpdateTarget) GoString() string {
  18576. return s.String()
  18577. }
  18578. // SetDatabaseVersion sets the DatabaseVersion field's value.
  18579. func (s *UpdateTarget) SetDatabaseVersion(v string) *UpdateTarget {
  18580. s.DatabaseVersion = &v
  18581. return s
  18582. }
  18583. // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
  18584. func (s *UpdateTarget) SetMaintenanceTrackName(v string) *UpdateTarget {
  18585. s.MaintenanceTrackName = &v
  18586. return s
  18587. }
  18588. // SetSupportedOperations sets the SupportedOperations field's value.
  18589. func (s *UpdateTarget) SetSupportedOperations(v []*SupportedOperation) *UpdateTarget {
  18590. s.SupportedOperations = v
  18591. return s
  18592. }
  18593. // Describes the members of a VPC security group.
  18594. type VpcSecurityGroupMembership struct {
  18595. _ struct{} `type:"structure"`
  18596. // The status of the VPC security group.
  18597. Status *string `type:"string"`
  18598. // The identifier of the VPC security group.
  18599. VpcSecurityGroupId *string `type:"string"`
  18600. }
  18601. // String returns the string representation
  18602. func (s VpcSecurityGroupMembership) String() string {
  18603. return awsutil.Prettify(s)
  18604. }
  18605. // GoString returns the string representation
  18606. func (s VpcSecurityGroupMembership) GoString() string {
  18607. return s.String()
  18608. }
  18609. // SetStatus sets the Status field's value.
  18610. func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
  18611. s.Status = &v
  18612. return s
  18613. }
  18614. // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
  18615. func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
  18616. s.VpcSecurityGroupId = &v
  18617. return s
  18618. }
  18619. const (
  18620. // ParameterApplyTypeStatic is a ParameterApplyType enum value
  18621. ParameterApplyTypeStatic = "static"
  18622. // ParameterApplyTypeDynamic is a ParameterApplyType enum value
  18623. ParameterApplyTypeDynamic = "dynamic"
  18624. )
  18625. const (
  18626. // ReservedNodeOfferingTypeRegular is a ReservedNodeOfferingType enum value
  18627. ReservedNodeOfferingTypeRegular = "Regular"
  18628. // ReservedNodeOfferingTypeUpgradable is a ReservedNodeOfferingType enum value
  18629. ReservedNodeOfferingTypeUpgradable = "Upgradable"
  18630. )
  18631. const (
  18632. // ScheduleStateModifying is a ScheduleState enum value
  18633. ScheduleStateModifying = "MODIFYING"
  18634. // ScheduleStateActive is a ScheduleState enum value
  18635. ScheduleStateActive = "ACTIVE"
  18636. // ScheduleStateFailed is a ScheduleState enum value
  18637. ScheduleStateFailed = "FAILED"
  18638. )
  18639. const (
  18640. // SnapshotAttributeToSortBySourceType is a SnapshotAttributeToSortBy enum value
  18641. SnapshotAttributeToSortBySourceType = "SOURCE_TYPE"
  18642. // SnapshotAttributeToSortByTotalSize is a SnapshotAttributeToSortBy enum value
  18643. SnapshotAttributeToSortByTotalSize = "TOTAL_SIZE"
  18644. // SnapshotAttributeToSortByCreateTime is a SnapshotAttributeToSortBy enum value
  18645. SnapshotAttributeToSortByCreateTime = "CREATE_TIME"
  18646. )
  18647. const (
  18648. // SortByOrderAsc is a SortByOrder enum value
  18649. SortByOrderAsc = "ASC"
  18650. // SortByOrderDesc is a SortByOrder enum value
  18651. SortByOrderDesc = "DESC"
  18652. )
  18653. const (
  18654. // SourceTypeCluster is a SourceType enum value
  18655. SourceTypeCluster = "cluster"
  18656. // SourceTypeClusterParameterGroup is a SourceType enum value
  18657. SourceTypeClusterParameterGroup = "cluster-parameter-group"
  18658. // SourceTypeClusterSecurityGroup is a SourceType enum value
  18659. SourceTypeClusterSecurityGroup = "cluster-security-group"
  18660. // SourceTypeClusterSnapshot is a SourceType enum value
  18661. SourceTypeClusterSnapshot = "cluster-snapshot"
  18662. )
  18663. const (
  18664. // TableRestoreStatusTypePending is a TableRestoreStatusType enum value
  18665. TableRestoreStatusTypePending = "PENDING"
  18666. // TableRestoreStatusTypeInProgress is a TableRestoreStatusType enum value
  18667. TableRestoreStatusTypeInProgress = "IN_PROGRESS"
  18668. // TableRestoreStatusTypeSucceeded is a TableRestoreStatusType enum value
  18669. TableRestoreStatusTypeSucceeded = "SUCCEEDED"
  18670. // TableRestoreStatusTypeFailed is a TableRestoreStatusType enum value
  18671. TableRestoreStatusTypeFailed = "FAILED"
  18672. // TableRestoreStatusTypeCanceled is a TableRestoreStatusType enum value
  18673. TableRestoreStatusTypeCanceled = "CANCELED"
  18674. )