api.go 498 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package cloudformation
  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 opCancelUpdateStack = "CancelUpdateStack"
  13. // CancelUpdateStackRequest generates a "aws/request.Request" representing the
  14. // client's request for the CancelUpdateStack 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 CancelUpdateStack for more information on using the CancelUpdateStack
  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 CancelUpdateStackRequest method.
  29. // req, resp := client.CancelUpdateStackRequest(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/cloudformation-2010-05-15/CancelUpdateStack
  37. func (c *CloudFormation) CancelUpdateStackRequest(input *CancelUpdateStackInput) (req *request.Request, output *CancelUpdateStackOutput) {
  38. op := &request.Operation{
  39. Name: opCancelUpdateStack,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &CancelUpdateStackInput{}
  45. }
  46. output = &CancelUpdateStackOutput{}
  47. req = c.newRequest(op, input, output)
  48. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  49. return
  50. }
  51. // CancelUpdateStack API operation for AWS CloudFormation.
  52. //
  53. // Cancels an update on the specified stack. If the call completes successfully,
  54. // the stack rolls back the update and reverts to the previous stack configuration.
  55. //
  56. // You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.
  57. //
  58. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  59. // with awserr.Error's Code and Message methods to get detailed information about
  60. // the error.
  61. //
  62. // See the AWS API reference guide for AWS CloudFormation's
  63. // API operation CancelUpdateStack for usage and error information.
  64. //
  65. // Returned Error Codes:
  66. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  67. // A client request token already exists.
  68. //
  69. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CancelUpdateStack
  70. func (c *CloudFormation) CancelUpdateStack(input *CancelUpdateStackInput) (*CancelUpdateStackOutput, error) {
  71. req, out := c.CancelUpdateStackRequest(input)
  72. return out, req.Send()
  73. }
  74. // CancelUpdateStackWithContext is the same as CancelUpdateStack with the addition of
  75. // the ability to pass a context and additional request options.
  76. //
  77. // See CancelUpdateStack for details on how to use this API operation.
  78. //
  79. // The context must be non-nil and will be used for request cancellation. If
  80. // the context is nil a panic will occur. In the future the SDK may create
  81. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  82. // for more information on using Contexts.
  83. func (c *CloudFormation) CancelUpdateStackWithContext(ctx aws.Context, input *CancelUpdateStackInput, opts ...request.Option) (*CancelUpdateStackOutput, error) {
  84. req, out := c.CancelUpdateStackRequest(input)
  85. req.SetContext(ctx)
  86. req.ApplyOptions(opts...)
  87. return out, req.Send()
  88. }
  89. const opContinueUpdateRollback = "ContinueUpdateRollback"
  90. // ContinueUpdateRollbackRequest generates a "aws/request.Request" representing the
  91. // client's request for the ContinueUpdateRollback operation. The "output" return
  92. // value will be populated with the request's response once the request completes
  93. // successfully.
  94. //
  95. // Use "Send" method on the returned Request to send the API call to the service.
  96. // the "output" return value is not valid until after Send returns without error.
  97. //
  98. // See ContinueUpdateRollback for more information on using the ContinueUpdateRollback
  99. // API call, and error handling.
  100. //
  101. // This method is useful when you want to inject custom logic or configuration
  102. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  103. //
  104. //
  105. // // Example sending a request using the ContinueUpdateRollbackRequest method.
  106. // req, resp := client.ContinueUpdateRollbackRequest(params)
  107. //
  108. // err := req.Send()
  109. // if err == nil { // resp is now filled
  110. // fmt.Println(resp)
  111. // }
  112. //
  113. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ContinueUpdateRollback
  114. func (c *CloudFormation) ContinueUpdateRollbackRequest(input *ContinueUpdateRollbackInput) (req *request.Request, output *ContinueUpdateRollbackOutput) {
  115. op := &request.Operation{
  116. Name: opContinueUpdateRollback,
  117. HTTPMethod: "POST",
  118. HTTPPath: "/",
  119. }
  120. if input == nil {
  121. input = &ContinueUpdateRollbackInput{}
  122. }
  123. output = &ContinueUpdateRollbackOutput{}
  124. req = c.newRequest(op, input, output)
  125. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  126. return
  127. }
  128. // ContinueUpdateRollback API operation for AWS CloudFormation.
  129. //
  130. // For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues
  131. // rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause
  132. // of the failure, you can manually fix the error (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed)
  133. // and continue the rollback. By continuing the rollback, you can return your
  134. // stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try
  135. // to update the stack again.
  136. //
  137. // A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation
  138. // cannot roll back all changes after a failed stack update. For example, you
  139. // might have a stack that is rolling back to an old database instance that
  140. // was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't
  141. // know the database was deleted, it assumes that the database instance still
  142. // exists and attempts to roll back to it, causing the update rollback to fail.
  143. //
  144. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  145. // with awserr.Error's Code and Message methods to get detailed information about
  146. // the error.
  147. //
  148. // See the AWS API reference guide for AWS CloudFormation's
  149. // API operation ContinueUpdateRollback for usage and error information.
  150. //
  151. // Returned Error Codes:
  152. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  153. // A client request token already exists.
  154. //
  155. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ContinueUpdateRollback
  156. func (c *CloudFormation) ContinueUpdateRollback(input *ContinueUpdateRollbackInput) (*ContinueUpdateRollbackOutput, error) {
  157. req, out := c.ContinueUpdateRollbackRequest(input)
  158. return out, req.Send()
  159. }
  160. // ContinueUpdateRollbackWithContext is the same as ContinueUpdateRollback with the addition of
  161. // the ability to pass a context and additional request options.
  162. //
  163. // See ContinueUpdateRollback for details on how to use this API operation.
  164. //
  165. // The context must be non-nil and will be used for request cancellation. If
  166. // the context is nil a panic will occur. In the future the SDK may create
  167. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  168. // for more information on using Contexts.
  169. func (c *CloudFormation) ContinueUpdateRollbackWithContext(ctx aws.Context, input *ContinueUpdateRollbackInput, opts ...request.Option) (*ContinueUpdateRollbackOutput, error) {
  170. req, out := c.ContinueUpdateRollbackRequest(input)
  171. req.SetContext(ctx)
  172. req.ApplyOptions(opts...)
  173. return out, req.Send()
  174. }
  175. const opCreateChangeSet = "CreateChangeSet"
  176. // CreateChangeSetRequest generates a "aws/request.Request" representing the
  177. // client's request for the CreateChangeSet operation. The "output" return
  178. // value will be populated with the request's response once the request completes
  179. // successfully.
  180. //
  181. // Use "Send" method on the returned Request to send the API call to the service.
  182. // the "output" return value is not valid until after Send returns without error.
  183. //
  184. // See CreateChangeSet for more information on using the CreateChangeSet
  185. // API call, and error handling.
  186. //
  187. // This method is useful when you want to inject custom logic or configuration
  188. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  189. //
  190. //
  191. // // Example sending a request using the CreateChangeSetRequest method.
  192. // req, resp := client.CreateChangeSetRequest(params)
  193. //
  194. // err := req.Send()
  195. // if err == nil { // resp is now filled
  196. // fmt.Println(resp)
  197. // }
  198. //
  199. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet
  200. func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (req *request.Request, output *CreateChangeSetOutput) {
  201. op := &request.Operation{
  202. Name: opCreateChangeSet,
  203. HTTPMethod: "POST",
  204. HTTPPath: "/",
  205. }
  206. if input == nil {
  207. input = &CreateChangeSetInput{}
  208. }
  209. output = &CreateChangeSetOutput{}
  210. req = c.newRequest(op, input, output)
  211. return
  212. }
  213. // CreateChangeSet API operation for AWS CloudFormation.
  214. //
  215. // Creates a list of changes that will be applied to a stack so that you can
  216. // review the changes before executing them. You can create a change set for
  217. // a stack that doesn't exist or an existing stack. If you create a change set
  218. // for a stack that doesn't exist, the change set shows all of the resources
  219. // that AWS CloudFormation will create. If you create a change set for an existing
  220. // stack, AWS CloudFormation compares the stack's information with the information
  221. // that you submit in the change set and lists the differences. Use change sets
  222. // to understand which resources AWS CloudFormation will create or change, and
  223. // how it will change resources in an existing stack, before you create or update
  224. // a stack.
  225. //
  226. // To create a change set for a stack that doesn't exist, for the ChangeSetType
  227. // parameter, specify CREATE. To create a change set for an existing stack,
  228. // specify UPDATE for the ChangeSetType parameter. After the CreateChangeSet
  229. // call successfully completes, AWS CloudFormation starts creating the change
  230. // set. To check the status of the change set or to review it, use the DescribeChangeSet
  231. // action.
  232. //
  233. // When you are satisfied with the changes the change set will make, execute
  234. // the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't
  235. // make changes until you execute the change set.
  236. //
  237. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  238. // with awserr.Error's Code and Message methods to get detailed information about
  239. // the error.
  240. //
  241. // See the AWS API reference guide for AWS CloudFormation's
  242. // API operation CreateChangeSet for usage and error information.
  243. //
  244. // Returned Error Codes:
  245. // * ErrCodeAlreadyExistsException "AlreadyExistsException"
  246. // The resource with the name requested already exists.
  247. //
  248. // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException"
  249. // The template contains resources with capabilities that weren't specified
  250. // in the Capabilities parameter.
  251. //
  252. // * ErrCodeLimitExceededException "LimitExceededException"
  253. // The quota for the resource has already been reached.
  254. //
  255. // For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html).
  256. //
  257. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet
  258. func (c *CloudFormation) CreateChangeSet(input *CreateChangeSetInput) (*CreateChangeSetOutput, error) {
  259. req, out := c.CreateChangeSetRequest(input)
  260. return out, req.Send()
  261. }
  262. // CreateChangeSetWithContext is the same as CreateChangeSet with the addition of
  263. // the ability to pass a context and additional request options.
  264. //
  265. // See CreateChangeSet for details on how to use this API operation.
  266. //
  267. // The context must be non-nil and will be used for request cancellation. If
  268. // the context is nil a panic will occur. In the future the SDK may create
  269. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  270. // for more information on using Contexts.
  271. func (c *CloudFormation) CreateChangeSetWithContext(ctx aws.Context, input *CreateChangeSetInput, opts ...request.Option) (*CreateChangeSetOutput, error) {
  272. req, out := c.CreateChangeSetRequest(input)
  273. req.SetContext(ctx)
  274. req.ApplyOptions(opts...)
  275. return out, req.Send()
  276. }
  277. const opCreateStack = "CreateStack"
  278. // CreateStackRequest generates a "aws/request.Request" representing the
  279. // client's request for the CreateStack operation. The "output" return
  280. // value will be populated with the request's response once the request completes
  281. // successfully.
  282. //
  283. // Use "Send" method on the returned Request to send the API call to the service.
  284. // the "output" return value is not valid until after Send returns without error.
  285. //
  286. // See CreateStack for more information on using the CreateStack
  287. // API call, and error handling.
  288. //
  289. // This method is useful when you want to inject custom logic or configuration
  290. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  291. //
  292. //
  293. // // Example sending a request using the CreateStackRequest method.
  294. // req, resp := client.CreateStackRequest(params)
  295. //
  296. // err := req.Send()
  297. // if err == nil { // resp is now filled
  298. // fmt.Println(resp)
  299. // }
  300. //
  301. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStack
  302. func (c *CloudFormation) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
  303. op := &request.Operation{
  304. Name: opCreateStack,
  305. HTTPMethod: "POST",
  306. HTTPPath: "/",
  307. }
  308. if input == nil {
  309. input = &CreateStackInput{}
  310. }
  311. output = &CreateStackOutput{}
  312. req = c.newRequest(op, input, output)
  313. return
  314. }
  315. // CreateStack API operation for AWS CloudFormation.
  316. //
  317. // Creates a stack as specified in the template. After the call completes successfully,
  318. // the stack creation starts. You can check the status of the stack via the
  319. // DescribeStacks API.
  320. //
  321. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  322. // with awserr.Error's Code and Message methods to get detailed information about
  323. // the error.
  324. //
  325. // See the AWS API reference guide for AWS CloudFormation's
  326. // API operation CreateStack for usage and error information.
  327. //
  328. // Returned Error Codes:
  329. // * ErrCodeLimitExceededException "LimitExceededException"
  330. // The quota for the resource has already been reached.
  331. //
  332. // For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html).
  333. //
  334. // * ErrCodeAlreadyExistsException "AlreadyExistsException"
  335. // The resource with the name requested already exists.
  336. //
  337. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  338. // A client request token already exists.
  339. //
  340. // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException"
  341. // The template contains resources with capabilities that weren't specified
  342. // in the Capabilities parameter.
  343. //
  344. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStack
  345. func (c *CloudFormation) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
  346. req, out := c.CreateStackRequest(input)
  347. return out, req.Send()
  348. }
  349. // CreateStackWithContext is the same as CreateStack with the addition of
  350. // the ability to pass a context and additional request options.
  351. //
  352. // See CreateStack for details on how to use this API operation.
  353. //
  354. // The context must be non-nil and will be used for request cancellation. If
  355. // the context is nil a panic will occur. In the future the SDK may create
  356. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  357. // for more information on using Contexts.
  358. func (c *CloudFormation) CreateStackWithContext(ctx aws.Context, input *CreateStackInput, opts ...request.Option) (*CreateStackOutput, error) {
  359. req, out := c.CreateStackRequest(input)
  360. req.SetContext(ctx)
  361. req.ApplyOptions(opts...)
  362. return out, req.Send()
  363. }
  364. const opCreateStackInstances = "CreateStackInstances"
  365. // CreateStackInstancesRequest generates a "aws/request.Request" representing the
  366. // client's request for the CreateStackInstances operation. The "output" return
  367. // value will be populated with the request's response once the request completes
  368. // successfully.
  369. //
  370. // Use "Send" method on the returned Request to send the API call to the service.
  371. // the "output" return value is not valid until after Send returns without error.
  372. //
  373. // See CreateStackInstances for more information on using the CreateStackInstances
  374. // API call, and error handling.
  375. //
  376. // This method is useful when you want to inject custom logic or configuration
  377. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  378. //
  379. //
  380. // // Example sending a request using the CreateStackInstancesRequest method.
  381. // req, resp := client.CreateStackInstancesRequest(params)
  382. //
  383. // err := req.Send()
  384. // if err == nil { // resp is now filled
  385. // fmt.Println(resp)
  386. // }
  387. //
  388. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstances
  389. func (c *CloudFormation) CreateStackInstancesRequest(input *CreateStackInstancesInput) (req *request.Request, output *CreateStackInstancesOutput) {
  390. op := &request.Operation{
  391. Name: opCreateStackInstances,
  392. HTTPMethod: "POST",
  393. HTTPPath: "/",
  394. }
  395. if input == nil {
  396. input = &CreateStackInstancesInput{}
  397. }
  398. output = &CreateStackInstancesOutput{}
  399. req = c.newRequest(op, input, output)
  400. return
  401. }
  402. // CreateStackInstances API operation for AWS CloudFormation.
  403. //
  404. // Creates stack instances for the specified accounts, within the specified
  405. // regions. A stack instance refers to a stack in a specific account and region.
  406. // Accounts and Regions are required parameters—you must specify at least one
  407. // account and one region.
  408. //
  409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  410. // with awserr.Error's Code and Message methods to get detailed information about
  411. // the error.
  412. //
  413. // See the AWS API reference guide for AWS CloudFormation's
  414. // API operation CreateStackInstances for usage and error information.
  415. //
  416. // Returned Error Codes:
  417. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  418. // The specified stack set doesn't exist.
  419. //
  420. // * ErrCodeOperationInProgressException "OperationInProgressException"
  421. // Another operation is currently in progress for this stack set. Only one operation
  422. // can be performed for a stack set at a given time.
  423. //
  424. // * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException"
  425. // The specified operation ID already exists.
  426. //
  427. // * ErrCodeStaleRequestException "StaleRequestException"
  428. // Another operation has been performed on this stack set since the specified
  429. // operation was performed.
  430. //
  431. // * ErrCodeInvalidOperationException "InvalidOperationException"
  432. // The specified operation isn't valid.
  433. //
  434. // * ErrCodeLimitExceededException "LimitExceededException"
  435. // The quota for the resource has already been reached.
  436. //
  437. // For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html).
  438. //
  439. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstances
  440. func (c *CloudFormation) CreateStackInstances(input *CreateStackInstancesInput) (*CreateStackInstancesOutput, error) {
  441. req, out := c.CreateStackInstancesRequest(input)
  442. return out, req.Send()
  443. }
  444. // CreateStackInstancesWithContext is the same as CreateStackInstances with the addition of
  445. // the ability to pass a context and additional request options.
  446. //
  447. // See CreateStackInstances for details on how to use this API operation.
  448. //
  449. // The context must be non-nil and will be used for request cancellation. If
  450. // the context is nil a panic will occur. In the future the SDK may create
  451. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  452. // for more information on using Contexts.
  453. func (c *CloudFormation) CreateStackInstancesWithContext(ctx aws.Context, input *CreateStackInstancesInput, opts ...request.Option) (*CreateStackInstancesOutput, error) {
  454. req, out := c.CreateStackInstancesRequest(input)
  455. req.SetContext(ctx)
  456. req.ApplyOptions(opts...)
  457. return out, req.Send()
  458. }
  459. const opCreateStackSet = "CreateStackSet"
  460. // CreateStackSetRequest generates a "aws/request.Request" representing the
  461. // client's request for the CreateStackSet operation. The "output" return
  462. // value will be populated with the request's response once the request completes
  463. // successfully.
  464. //
  465. // Use "Send" method on the returned Request to send the API call to the service.
  466. // the "output" return value is not valid until after Send returns without error.
  467. //
  468. // See CreateStackSet for more information on using the CreateStackSet
  469. // API call, and error handling.
  470. //
  471. // This method is useful when you want to inject custom logic or configuration
  472. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  473. //
  474. //
  475. // // Example sending a request using the CreateStackSetRequest method.
  476. // req, resp := client.CreateStackSetRequest(params)
  477. //
  478. // err := req.Send()
  479. // if err == nil { // resp is now filled
  480. // fmt.Println(resp)
  481. // }
  482. //
  483. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSet
  484. func (c *CloudFormation) CreateStackSetRequest(input *CreateStackSetInput) (req *request.Request, output *CreateStackSetOutput) {
  485. op := &request.Operation{
  486. Name: opCreateStackSet,
  487. HTTPMethod: "POST",
  488. HTTPPath: "/",
  489. }
  490. if input == nil {
  491. input = &CreateStackSetInput{}
  492. }
  493. output = &CreateStackSetOutput{}
  494. req = c.newRequest(op, input, output)
  495. return
  496. }
  497. // CreateStackSet API operation for AWS CloudFormation.
  498. //
  499. // Creates a stack set.
  500. //
  501. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  502. // with awserr.Error's Code and Message methods to get detailed information about
  503. // the error.
  504. //
  505. // See the AWS API reference guide for AWS CloudFormation's
  506. // API operation CreateStackSet for usage and error information.
  507. //
  508. // Returned Error Codes:
  509. // * ErrCodeNameAlreadyExistsException "NameAlreadyExistsException"
  510. // The specified name is already in use.
  511. //
  512. // * ErrCodeCreatedButModifiedException "CreatedButModifiedException"
  513. // The specified resource exists, but has been changed.
  514. //
  515. // * ErrCodeLimitExceededException "LimitExceededException"
  516. // The quota for the resource has already been reached.
  517. //
  518. // For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html).
  519. //
  520. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSet
  521. func (c *CloudFormation) CreateStackSet(input *CreateStackSetInput) (*CreateStackSetOutput, error) {
  522. req, out := c.CreateStackSetRequest(input)
  523. return out, req.Send()
  524. }
  525. // CreateStackSetWithContext is the same as CreateStackSet with the addition of
  526. // the ability to pass a context and additional request options.
  527. //
  528. // See CreateStackSet for details on how to use this API operation.
  529. //
  530. // The context must be non-nil and will be used for request cancellation. If
  531. // the context is nil a panic will occur. In the future the SDK may create
  532. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  533. // for more information on using Contexts.
  534. func (c *CloudFormation) CreateStackSetWithContext(ctx aws.Context, input *CreateStackSetInput, opts ...request.Option) (*CreateStackSetOutput, error) {
  535. req, out := c.CreateStackSetRequest(input)
  536. req.SetContext(ctx)
  537. req.ApplyOptions(opts...)
  538. return out, req.Send()
  539. }
  540. const opDeleteChangeSet = "DeleteChangeSet"
  541. // DeleteChangeSetRequest generates a "aws/request.Request" representing the
  542. // client's request for the DeleteChangeSet operation. The "output" return
  543. // value will be populated with the request's response once the request completes
  544. // successfully.
  545. //
  546. // Use "Send" method on the returned Request to send the API call to the service.
  547. // the "output" return value is not valid until after Send returns without error.
  548. //
  549. // See DeleteChangeSet for more information on using the DeleteChangeSet
  550. // API call, and error handling.
  551. //
  552. // This method is useful when you want to inject custom logic or configuration
  553. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  554. //
  555. //
  556. // // Example sending a request using the DeleteChangeSetRequest method.
  557. // req, resp := client.DeleteChangeSetRequest(params)
  558. //
  559. // err := req.Send()
  560. // if err == nil { // resp is now filled
  561. // fmt.Println(resp)
  562. // }
  563. //
  564. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteChangeSet
  565. func (c *CloudFormation) DeleteChangeSetRequest(input *DeleteChangeSetInput) (req *request.Request, output *DeleteChangeSetOutput) {
  566. op := &request.Operation{
  567. Name: opDeleteChangeSet,
  568. HTTPMethod: "POST",
  569. HTTPPath: "/",
  570. }
  571. if input == nil {
  572. input = &DeleteChangeSetInput{}
  573. }
  574. output = &DeleteChangeSetOutput{}
  575. req = c.newRequest(op, input, output)
  576. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  577. return
  578. }
  579. // DeleteChangeSet API operation for AWS CloudFormation.
  580. //
  581. // Deletes the specified change set. Deleting change sets ensures that no one
  582. // executes the wrong change set.
  583. //
  584. // If the call successfully completes, AWS CloudFormation successfully deleted
  585. // the change set.
  586. //
  587. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  588. // with awserr.Error's Code and Message methods to get detailed information about
  589. // the error.
  590. //
  591. // See the AWS API reference guide for AWS CloudFormation's
  592. // API operation DeleteChangeSet for usage and error information.
  593. //
  594. // Returned Error Codes:
  595. // * ErrCodeInvalidChangeSetStatusException "InvalidChangeSetStatus"
  596. // The specified change set can't be used to update the stack. For example,
  597. // the change set status might be CREATE_IN_PROGRESS, or the stack status might
  598. // be UPDATE_IN_PROGRESS.
  599. //
  600. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteChangeSet
  601. func (c *CloudFormation) DeleteChangeSet(input *DeleteChangeSetInput) (*DeleteChangeSetOutput, error) {
  602. req, out := c.DeleteChangeSetRequest(input)
  603. return out, req.Send()
  604. }
  605. // DeleteChangeSetWithContext is the same as DeleteChangeSet with the addition of
  606. // the ability to pass a context and additional request options.
  607. //
  608. // See DeleteChangeSet for details on how to use this API operation.
  609. //
  610. // The context must be non-nil and will be used for request cancellation. If
  611. // the context is nil a panic will occur. In the future the SDK may create
  612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  613. // for more information on using Contexts.
  614. func (c *CloudFormation) DeleteChangeSetWithContext(ctx aws.Context, input *DeleteChangeSetInput, opts ...request.Option) (*DeleteChangeSetOutput, error) {
  615. req, out := c.DeleteChangeSetRequest(input)
  616. req.SetContext(ctx)
  617. req.ApplyOptions(opts...)
  618. return out, req.Send()
  619. }
  620. const opDeleteStack = "DeleteStack"
  621. // DeleteStackRequest generates a "aws/request.Request" representing the
  622. // client's request for the DeleteStack operation. The "output" return
  623. // value will be populated with the request's response once the request completes
  624. // successfully.
  625. //
  626. // Use "Send" method on the returned Request to send the API call to the service.
  627. // the "output" return value is not valid until after Send returns without error.
  628. //
  629. // See DeleteStack for more information on using the DeleteStack
  630. // API call, and error handling.
  631. //
  632. // This method is useful when you want to inject custom logic or configuration
  633. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  634. //
  635. //
  636. // // Example sending a request using the DeleteStackRequest method.
  637. // req, resp := client.DeleteStackRequest(params)
  638. //
  639. // err := req.Send()
  640. // if err == nil { // resp is now filled
  641. // fmt.Println(resp)
  642. // }
  643. //
  644. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStack
  645. func (c *CloudFormation) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
  646. op := &request.Operation{
  647. Name: opDeleteStack,
  648. HTTPMethod: "POST",
  649. HTTPPath: "/",
  650. }
  651. if input == nil {
  652. input = &DeleteStackInput{}
  653. }
  654. output = &DeleteStackOutput{}
  655. req = c.newRequest(op, input, output)
  656. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  657. return
  658. }
  659. // DeleteStack API operation for AWS CloudFormation.
  660. //
  661. // Deletes a specified stack. Once the call completes successfully, stack deletion
  662. // starts. Deleted stacks do not show up in the DescribeStacks API if the deletion
  663. // has been completed successfully.
  664. //
  665. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  666. // with awserr.Error's Code and Message methods to get detailed information about
  667. // the error.
  668. //
  669. // See the AWS API reference guide for AWS CloudFormation's
  670. // API operation DeleteStack for usage and error information.
  671. //
  672. // Returned Error Codes:
  673. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  674. // A client request token already exists.
  675. //
  676. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStack
  677. func (c *CloudFormation) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
  678. req, out := c.DeleteStackRequest(input)
  679. return out, req.Send()
  680. }
  681. // DeleteStackWithContext is the same as DeleteStack with the addition of
  682. // the ability to pass a context and additional request options.
  683. //
  684. // See DeleteStack for details on how to use this API operation.
  685. //
  686. // The context must be non-nil and will be used for request cancellation. If
  687. // the context is nil a panic will occur. In the future the SDK may create
  688. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  689. // for more information on using Contexts.
  690. func (c *CloudFormation) DeleteStackWithContext(ctx aws.Context, input *DeleteStackInput, opts ...request.Option) (*DeleteStackOutput, error) {
  691. req, out := c.DeleteStackRequest(input)
  692. req.SetContext(ctx)
  693. req.ApplyOptions(opts...)
  694. return out, req.Send()
  695. }
  696. const opDeleteStackInstances = "DeleteStackInstances"
  697. // DeleteStackInstancesRequest generates a "aws/request.Request" representing the
  698. // client's request for the DeleteStackInstances operation. The "output" return
  699. // value will be populated with the request's response once the request completes
  700. // successfully.
  701. //
  702. // Use "Send" method on the returned Request to send the API call to the service.
  703. // the "output" return value is not valid until after Send returns without error.
  704. //
  705. // See DeleteStackInstances for more information on using the DeleteStackInstances
  706. // API call, and error handling.
  707. //
  708. // This method is useful when you want to inject custom logic or configuration
  709. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  710. //
  711. //
  712. // // Example sending a request using the DeleteStackInstancesRequest method.
  713. // req, resp := client.DeleteStackInstancesRequest(params)
  714. //
  715. // err := req.Send()
  716. // if err == nil { // resp is now filled
  717. // fmt.Println(resp)
  718. // }
  719. //
  720. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstances
  721. func (c *CloudFormation) DeleteStackInstancesRequest(input *DeleteStackInstancesInput) (req *request.Request, output *DeleteStackInstancesOutput) {
  722. op := &request.Operation{
  723. Name: opDeleteStackInstances,
  724. HTTPMethod: "POST",
  725. HTTPPath: "/",
  726. }
  727. if input == nil {
  728. input = &DeleteStackInstancesInput{}
  729. }
  730. output = &DeleteStackInstancesOutput{}
  731. req = c.newRequest(op, input, output)
  732. return
  733. }
  734. // DeleteStackInstances API operation for AWS CloudFormation.
  735. //
  736. // Deletes stack instances for the specified accounts, in the specified regions.
  737. //
  738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  739. // with awserr.Error's Code and Message methods to get detailed information about
  740. // the error.
  741. //
  742. // See the AWS API reference guide for AWS CloudFormation's
  743. // API operation DeleteStackInstances for usage and error information.
  744. //
  745. // Returned Error Codes:
  746. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  747. // The specified stack set doesn't exist.
  748. //
  749. // * ErrCodeOperationInProgressException "OperationInProgressException"
  750. // Another operation is currently in progress for this stack set. Only one operation
  751. // can be performed for a stack set at a given time.
  752. //
  753. // * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException"
  754. // The specified operation ID already exists.
  755. //
  756. // * ErrCodeStaleRequestException "StaleRequestException"
  757. // Another operation has been performed on this stack set since the specified
  758. // operation was performed.
  759. //
  760. // * ErrCodeInvalidOperationException "InvalidOperationException"
  761. // The specified operation isn't valid.
  762. //
  763. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstances
  764. func (c *CloudFormation) DeleteStackInstances(input *DeleteStackInstancesInput) (*DeleteStackInstancesOutput, error) {
  765. req, out := c.DeleteStackInstancesRequest(input)
  766. return out, req.Send()
  767. }
  768. // DeleteStackInstancesWithContext is the same as DeleteStackInstances with the addition of
  769. // the ability to pass a context and additional request options.
  770. //
  771. // See DeleteStackInstances for details on how to use this API operation.
  772. //
  773. // The context must be non-nil and will be used for request cancellation. If
  774. // the context is nil a panic will occur. In the future the SDK may create
  775. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  776. // for more information on using Contexts.
  777. func (c *CloudFormation) DeleteStackInstancesWithContext(ctx aws.Context, input *DeleteStackInstancesInput, opts ...request.Option) (*DeleteStackInstancesOutput, error) {
  778. req, out := c.DeleteStackInstancesRequest(input)
  779. req.SetContext(ctx)
  780. req.ApplyOptions(opts...)
  781. return out, req.Send()
  782. }
  783. const opDeleteStackSet = "DeleteStackSet"
  784. // DeleteStackSetRequest generates a "aws/request.Request" representing the
  785. // client's request for the DeleteStackSet operation. The "output" return
  786. // value will be populated with the request's response once the request completes
  787. // successfully.
  788. //
  789. // Use "Send" method on the returned Request to send the API call to the service.
  790. // the "output" return value is not valid until after Send returns without error.
  791. //
  792. // See DeleteStackSet for more information on using the DeleteStackSet
  793. // API call, and error handling.
  794. //
  795. // This method is useful when you want to inject custom logic or configuration
  796. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  797. //
  798. //
  799. // // Example sending a request using the DeleteStackSetRequest method.
  800. // req, resp := client.DeleteStackSetRequest(params)
  801. //
  802. // err := req.Send()
  803. // if err == nil { // resp is now filled
  804. // fmt.Println(resp)
  805. // }
  806. //
  807. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSet
  808. func (c *CloudFormation) DeleteStackSetRequest(input *DeleteStackSetInput) (req *request.Request, output *DeleteStackSetOutput) {
  809. op := &request.Operation{
  810. Name: opDeleteStackSet,
  811. HTTPMethod: "POST",
  812. HTTPPath: "/",
  813. }
  814. if input == nil {
  815. input = &DeleteStackSetInput{}
  816. }
  817. output = &DeleteStackSetOutput{}
  818. req = c.newRequest(op, input, output)
  819. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  820. return
  821. }
  822. // DeleteStackSet API operation for AWS CloudFormation.
  823. //
  824. // Deletes a stack set. Before you can delete a stack set, all of its member
  825. // stack instances must be deleted. For more information about how to do this,
  826. // see DeleteStackInstances.
  827. //
  828. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  829. // with awserr.Error's Code and Message methods to get detailed information about
  830. // the error.
  831. //
  832. // See the AWS API reference guide for AWS CloudFormation's
  833. // API operation DeleteStackSet for usage and error information.
  834. //
  835. // Returned Error Codes:
  836. // * ErrCodeStackSetNotEmptyException "StackSetNotEmptyException"
  837. // You can't yet delete this stack set, because it still contains one or more
  838. // stack instances. Delete all stack instances from the stack set before deleting
  839. // the stack set.
  840. //
  841. // * ErrCodeOperationInProgressException "OperationInProgressException"
  842. // Another operation is currently in progress for this stack set. Only one operation
  843. // can be performed for a stack set at a given time.
  844. //
  845. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSet
  846. func (c *CloudFormation) DeleteStackSet(input *DeleteStackSetInput) (*DeleteStackSetOutput, error) {
  847. req, out := c.DeleteStackSetRequest(input)
  848. return out, req.Send()
  849. }
  850. // DeleteStackSetWithContext is the same as DeleteStackSet with the addition of
  851. // the ability to pass a context and additional request options.
  852. //
  853. // See DeleteStackSet for details on how to use this API operation.
  854. //
  855. // The context must be non-nil and will be used for request cancellation. If
  856. // the context is nil a panic will occur. In the future the SDK may create
  857. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  858. // for more information on using Contexts.
  859. func (c *CloudFormation) DeleteStackSetWithContext(ctx aws.Context, input *DeleteStackSetInput, opts ...request.Option) (*DeleteStackSetOutput, error) {
  860. req, out := c.DeleteStackSetRequest(input)
  861. req.SetContext(ctx)
  862. req.ApplyOptions(opts...)
  863. return out, req.Send()
  864. }
  865. const opDescribeAccountLimits = "DescribeAccountLimits"
  866. // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the
  867. // client's request for the DescribeAccountLimits operation. The "output" return
  868. // value will be populated with the request's response once the request completes
  869. // successfully.
  870. //
  871. // Use "Send" method on the returned Request to send the API call to the service.
  872. // the "output" return value is not valid until after Send returns without error.
  873. //
  874. // See DescribeAccountLimits for more information on using the DescribeAccountLimits
  875. // API call, and error handling.
  876. //
  877. // This method is useful when you want to inject custom logic or configuration
  878. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  879. //
  880. //
  881. // // Example sending a request using the DescribeAccountLimitsRequest method.
  882. // req, resp := client.DescribeAccountLimitsRequest(params)
  883. //
  884. // err := req.Send()
  885. // if err == nil { // resp is now filled
  886. // fmt.Println(resp)
  887. // }
  888. //
  889. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeAccountLimits
  890. func (c *CloudFormation) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) {
  891. op := &request.Operation{
  892. Name: opDescribeAccountLimits,
  893. HTTPMethod: "POST",
  894. HTTPPath: "/",
  895. }
  896. if input == nil {
  897. input = &DescribeAccountLimitsInput{}
  898. }
  899. output = &DescribeAccountLimitsOutput{}
  900. req = c.newRequest(op, input, output)
  901. return
  902. }
  903. // DescribeAccountLimits API operation for AWS CloudFormation.
  904. //
  905. // Retrieves your account's AWS CloudFormation limits, such as the maximum number
  906. // of stacks that you can create in your account.
  907. //
  908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  909. // with awserr.Error's Code and Message methods to get detailed information about
  910. // the error.
  911. //
  912. // See the AWS API reference guide for AWS CloudFormation's
  913. // API operation DescribeAccountLimits for usage and error information.
  914. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeAccountLimits
  915. func (c *CloudFormation) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) {
  916. req, out := c.DescribeAccountLimitsRequest(input)
  917. return out, req.Send()
  918. }
  919. // DescribeAccountLimitsWithContext is the same as DescribeAccountLimits with the addition of
  920. // the ability to pass a context and additional request options.
  921. //
  922. // See DescribeAccountLimits for details on how to use this API operation.
  923. //
  924. // The context must be non-nil and will be used for request cancellation. If
  925. // the context is nil a panic will occur. In the future the SDK may create
  926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  927. // for more information on using Contexts.
  928. func (c *CloudFormation) DescribeAccountLimitsWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, opts ...request.Option) (*DescribeAccountLimitsOutput, error) {
  929. req, out := c.DescribeAccountLimitsRequest(input)
  930. req.SetContext(ctx)
  931. req.ApplyOptions(opts...)
  932. return out, req.Send()
  933. }
  934. const opDescribeChangeSet = "DescribeChangeSet"
  935. // DescribeChangeSetRequest generates a "aws/request.Request" representing the
  936. // client's request for the DescribeChangeSet operation. The "output" return
  937. // value will be populated with the request's response once the request completes
  938. // successfully.
  939. //
  940. // Use "Send" method on the returned Request to send the API call to the service.
  941. // the "output" return value is not valid until after Send returns without error.
  942. //
  943. // See DescribeChangeSet for more information on using the DescribeChangeSet
  944. // API call, and error handling.
  945. //
  946. // This method is useful when you want to inject custom logic or configuration
  947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  948. //
  949. //
  950. // // Example sending a request using the DescribeChangeSetRequest method.
  951. // req, resp := client.DescribeChangeSetRequest(params)
  952. //
  953. // err := req.Send()
  954. // if err == nil { // resp is now filled
  955. // fmt.Println(resp)
  956. // }
  957. //
  958. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeChangeSet
  959. func (c *CloudFormation) DescribeChangeSetRequest(input *DescribeChangeSetInput) (req *request.Request, output *DescribeChangeSetOutput) {
  960. op := &request.Operation{
  961. Name: opDescribeChangeSet,
  962. HTTPMethod: "POST",
  963. HTTPPath: "/",
  964. }
  965. if input == nil {
  966. input = &DescribeChangeSetInput{}
  967. }
  968. output = &DescribeChangeSetOutput{}
  969. req = c.newRequest(op, input, output)
  970. return
  971. }
  972. // DescribeChangeSet API operation for AWS CloudFormation.
  973. //
  974. // Returns the inputs for the change set and a list of changes that AWS CloudFormation
  975. // will make if you execute the change set. For more information, see Updating
  976. // Stacks Using Change Sets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)
  977. // in the AWS CloudFormation User Guide.
  978. //
  979. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  980. // with awserr.Error's Code and Message methods to get detailed information about
  981. // the error.
  982. //
  983. // See the AWS API reference guide for AWS CloudFormation's
  984. // API operation DescribeChangeSet for usage and error information.
  985. //
  986. // Returned Error Codes:
  987. // * ErrCodeChangeSetNotFoundException "ChangeSetNotFound"
  988. // The specified change set name or ID doesn't exit. To view valid change sets
  989. // for a stack, use the ListChangeSets action.
  990. //
  991. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeChangeSet
  992. func (c *CloudFormation) DescribeChangeSet(input *DescribeChangeSetInput) (*DescribeChangeSetOutput, error) {
  993. req, out := c.DescribeChangeSetRequest(input)
  994. return out, req.Send()
  995. }
  996. // DescribeChangeSetWithContext is the same as DescribeChangeSet with the addition of
  997. // the ability to pass a context and additional request options.
  998. //
  999. // See DescribeChangeSet for details on how to use this API operation.
  1000. //
  1001. // The context must be non-nil and will be used for request cancellation. If
  1002. // the context is nil a panic will occur. In the future the SDK may create
  1003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1004. // for more information on using Contexts.
  1005. func (c *CloudFormation) DescribeChangeSetWithContext(ctx aws.Context, input *DescribeChangeSetInput, opts ...request.Option) (*DescribeChangeSetOutput, error) {
  1006. req, out := c.DescribeChangeSetRequest(input)
  1007. req.SetContext(ctx)
  1008. req.ApplyOptions(opts...)
  1009. return out, req.Send()
  1010. }
  1011. const opDescribeStackDriftDetectionStatus = "DescribeStackDriftDetectionStatus"
  1012. // DescribeStackDriftDetectionStatusRequest generates a "aws/request.Request" representing the
  1013. // client's request for the DescribeStackDriftDetectionStatus operation. The "output" return
  1014. // value will be populated with the request's response once the request completes
  1015. // successfully.
  1016. //
  1017. // Use "Send" method on the returned Request to send the API call to the service.
  1018. // the "output" return value is not valid until after Send returns without error.
  1019. //
  1020. // See DescribeStackDriftDetectionStatus for more information on using the DescribeStackDriftDetectionStatus
  1021. // API call, and error handling.
  1022. //
  1023. // This method is useful when you want to inject custom logic or configuration
  1024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1025. //
  1026. //
  1027. // // Example sending a request using the DescribeStackDriftDetectionStatusRequest method.
  1028. // req, resp := client.DescribeStackDriftDetectionStatusRequest(params)
  1029. //
  1030. // err := req.Send()
  1031. // if err == nil { // resp is now filled
  1032. // fmt.Println(resp)
  1033. // }
  1034. //
  1035. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackDriftDetectionStatus
  1036. func (c *CloudFormation) DescribeStackDriftDetectionStatusRequest(input *DescribeStackDriftDetectionStatusInput) (req *request.Request, output *DescribeStackDriftDetectionStatusOutput) {
  1037. op := &request.Operation{
  1038. Name: opDescribeStackDriftDetectionStatus,
  1039. HTTPMethod: "POST",
  1040. HTTPPath: "/",
  1041. }
  1042. if input == nil {
  1043. input = &DescribeStackDriftDetectionStatusInput{}
  1044. }
  1045. output = &DescribeStackDriftDetectionStatusOutput{}
  1046. req = c.newRequest(op, input, output)
  1047. return
  1048. }
  1049. // DescribeStackDriftDetectionStatus API operation for AWS CloudFormation.
  1050. //
  1051. // Returns information about a stack drift detection operation. A stack drift
  1052. // detection operation detects whether a stack's actual configuration differs,
  1053. // or has drifted, from it's expected configuration, as defined in the stack
  1054. // template and any values specified as template parameters. A stack is considered
  1055. // to have drifted if one or more of its resources have drifted. For more information
  1056. // on stack and resource drift, see Detecting Unregulated Configuration Changes
  1057. // to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  1058. //
  1059. // Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift
  1060. // returns a StackDriftDetectionId you can use to monitor the progress of the
  1061. // operation using DescribeStackDriftDetectionStatus. Once the drift detection
  1062. // operation has completed, use DescribeStackResourceDrifts to return drift
  1063. // information about the stack and its resources.
  1064. //
  1065. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1066. // with awserr.Error's Code and Message methods to get detailed information about
  1067. // the error.
  1068. //
  1069. // See the AWS API reference guide for AWS CloudFormation's
  1070. // API operation DescribeStackDriftDetectionStatus for usage and error information.
  1071. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackDriftDetectionStatus
  1072. func (c *CloudFormation) DescribeStackDriftDetectionStatus(input *DescribeStackDriftDetectionStatusInput) (*DescribeStackDriftDetectionStatusOutput, error) {
  1073. req, out := c.DescribeStackDriftDetectionStatusRequest(input)
  1074. return out, req.Send()
  1075. }
  1076. // DescribeStackDriftDetectionStatusWithContext is the same as DescribeStackDriftDetectionStatus with the addition of
  1077. // the ability to pass a context and additional request options.
  1078. //
  1079. // See DescribeStackDriftDetectionStatus for details on how to use this API operation.
  1080. //
  1081. // The context must be non-nil and will be used for request cancellation. If
  1082. // the context is nil a panic will occur. In the future the SDK may create
  1083. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1084. // for more information on using Contexts.
  1085. func (c *CloudFormation) DescribeStackDriftDetectionStatusWithContext(ctx aws.Context, input *DescribeStackDriftDetectionStatusInput, opts ...request.Option) (*DescribeStackDriftDetectionStatusOutput, error) {
  1086. req, out := c.DescribeStackDriftDetectionStatusRequest(input)
  1087. req.SetContext(ctx)
  1088. req.ApplyOptions(opts...)
  1089. return out, req.Send()
  1090. }
  1091. const opDescribeStackEvents = "DescribeStackEvents"
  1092. // DescribeStackEventsRequest generates a "aws/request.Request" representing the
  1093. // client's request for the DescribeStackEvents operation. The "output" return
  1094. // value will be populated with the request's response once the request completes
  1095. // successfully.
  1096. //
  1097. // Use "Send" method on the returned Request to send the API call to the service.
  1098. // the "output" return value is not valid until after Send returns without error.
  1099. //
  1100. // See DescribeStackEvents for more information on using the DescribeStackEvents
  1101. // API call, and error handling.
  1102. //
  1103. // This method is useful when you want to inject custom logic or configuration
  1104. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1105. //
  1106. //
  1107. // // Example sending a request using the DescribeStackEventsRequest method.
  1108. // req, resp := client.DescribeStackEventsRequest(params)
  1109. //
  1110. // err := req.Send()
  1111. // if err == nil { // resp is now filled
  1112. // fmt.Println(resp)
  1113. // }
  1114. //
  1115. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackEvents
  1116. func (c *CloudFormation) DescribeStackEventsRequest(input *DescribeStackEventsInput) (req *request.Request, output *DescribeStackEventsOutput) {
  1117. op := &request.Operation{
  1118. Name: opDescribeStackEvents,
  1119. HTTPMethod: "POST",
  1120. HTTPPath: "/",
  1121. Paginator: &request.Paginator{
  1122. InputTokens: []string{"NextToken"},
  1123. OutputTokens: []string{"NextToken"},
  1124. LimitToken: "",
  1125. TruncationToken: "",
  1126. },
  1127. }
  1128. if input == nil {
  1129. input = &DescribeStackEventsInput{}
  1130. }
  1131. output = &DescribeStackEventsOutput{}
  1132. req = c.newRequest(op, input, output)
  1133. return
  1134. }
  1135. // DescribeStackEvents API operation for AWS CloudFormation.
  1136. //
  1137. // Returns all stack related events for a specified stack in reverse chronological
  1138. // order. For more information about a stack's event history, go to Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html)
  1139. // in the AWS CloudFormation User Guide.
  1140. //
  1141. // You can list events for stacks that have failed to create or have been deleted
  1142. // by specifying the unique stack identifier (stack ID).
  1143. //
  1144. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1145. // with awserr.Error's Code and Message methods to get detailed information about
  1146. // the error.
  1147. //
  1148. // See the AWS API reference guide for AWS CloudFormation's
  1149. // API operation DescribeStackEvents for usage and error information.
  1150. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackEvents
  1151. func (c *CloudFormation) DescribeStackEvents(input *DescribeStackEventsInput) (*DescribeStackEventsOutput, error) {
  1152. req, out := c.DescribeStackEventsRequest(input)
  1153. return out, req.Send()
  1154. }
  1155. // DescribeStackEventsWithContext is the same as DescribeStackEvents with the addition of
  1156. // the ability to pass a context and additional request options.
  1157. //
  1158. // See DescribeStackEvents for details on how to use this API operation.
  1159. //
  1160. // The context must be non-nil and will be used for request cancellation. If
  1161. // the context is nil a panic will occur. In the future the SDK may create
  1162. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1163. // for more information on using Contexts.
  1164. func (c *CloudFormation) DescribeStackEventsWithContext(ctx aws.Context, input *DescribeStackEventsInput, opts ...request.Option) (*DescribeStackEventsOutput, error) {
  1165. req, out := c.DescribeStackEventsRequest(input)
  1166. req.SetContext(ctx)
  1167. req.ApplyOptions(opts...)
  1168. return out, req.Send()
  1169. }
  1170. // DescribeStackEventsPages iterates over the pages of a DescribeStackEvents operation,
  1171. // calling the "fn" function with the response data for each page. To stop
  1172. // iterating, return false from the fn function.
  1173. //
  1174. // See DescribeStackEvents method for more information on how to use this operation.
  1175. //
  1176. // Note: This operation can generate multiple requests to a service.
  1177. //
  1178. // // Example iterating over at most 3 pages of a DescribeStackEvents operation.
  1179. // pageNum := 0
  1180. // err := client.DescribeStackEventsPages(params,
  1181. // func(page *DescribeStackEventsOutput, lastPage bool) bool {
  1182. // pageNum++
  1183. // fmt.Println(page)
  1184. // return pageNum <= 3
  1185. // })
  1186. //
  1187. func (c *CloudFormation) DescribeStackEventsPages(input *DescribeStackEventsInput, fn func(*DescribeStackEventsOutput, bool) bool) error {
  1188. return c.DescribeStackEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  1189. }
  1190. // DescribeStackEventsPagesWithContext same as DescribeStackEventsPages except
  1191. // it takes a Context and allows setting request options on the pages.
  1192. //
  1193. // The context must be non-nil and will be used for request cancellation. If
  1194. // the context is nil a panic will occur. In the future the SDK may create
  1195. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1196. // for more information on using Contexts.
  1197. func (c *CloudFormation) DescribeStackEventsPagesWithContext(ctx aws.Context, input *DescribeStackEventsInput, fn func(*DescribeStackEventsOutput, bool) bool, opts ...request.Option) error {
  1198. p := request.Pagination{
  1199. NewRequest: func() (*request.Request, error) {
  1200. var inCpy *DescribeStackEventsInput
  1201. if input != nil {
  1202. tmp := *input
  1203. inCpy = &tmp
  1204. }
  1205. req, _ := c.DescribeStackEventsRequest(inCpy)
  1206. req.SetContext(ctx)
  1207. req.ApplyOptions(opts...)
  1208. return req, nil
  1209. },
  1210. }
  1211. cont := true
  1212. for p.Next() && cont {
  1213. cont = fn(p.Page().(*DescribeStackEventsOutput), !p.HasNextPage())
  1214. }
  1215. return p.Err()
  1216. }
  1217. const opDescribeStackInstance = "DescribeStackInstance"
  1218. // DescribeStackInstanceRequest generates a "aws/request.Request" representing the
  1219. // client's request for the DescribeStackInstance operation. The "output" return
  1220. // value will be populated with the request's response once the request completes
  1221. // successfully.
  1222. //
  1223. // Use "Send" method on the returned Request to send the API call to the service.
  1224. // the "output" return value is not valid until after Send returns without error.
  1225. //
  1226. // See DescribeStackInstance for more information on using the DescribeStackInstance
  1227. // API call, and error handling.
  1228. //
  1229. // This method is useful when you want to inject custom logic or configuration
  1230. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1231. //
  1232. //
  1233. // // Example sending a request using the DescribeStackInstanceRequest method.
  1234. // req, resp := client.DescribeStackInstanceRequest(params)
  1235. //
  1236. // err := req.Send()
  1237. // if err == nil { // resp is now filled
  1238. // fmt.Println(resp)
  1239. // }
  1240. //
  1241. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstance
  1242. func (c *CloudFormation) DescribeStackInstanceRequest(input *DescribeStackInstanceInput) (req *request.Request, output *DescribeStackInstanceOutput) {
  1243. op := &request.Operation{
  1244. Name: opDescribeStackInstance,
  1245. HTTPMethod: "POST",
  1246. HTTPPath: "/",
  1247. }
  1248. if input == nil {
  1249. input = &DescribeStackInstanceInput{}
  1250. }
  1251. output = &DescribeStackInstanceOutput{}
  1252. req = c.newRequest(op, input, output)
  1253. return
  1254. }
  1255. // DescribeStackInstance API operation for AWS CloudFormation.
  1256. //
  1257. // Returns the stack instance that's associated with the specified stack set,
  1258. // AWS account, and region.
  1259. //
  1260. // For a list of stack instances that are associated with a specific stack set,
  1261. // use ListStackInstances.
  1262. //
  1263. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1264. // with awserr.Error's Code and Message methods to get detailed information about
  1265. // the error.
  1266. //
  1267. // See the AWS API reference guide for AWS CloudFormation's
  1268. // API operation DescribeStackInstance for usage and error information.
  1269. //
  1270. // Returned Error Codes:
  1271. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  1272. // The specified stack set doesn't exist.
  1273. //
  1274. // * ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException"
  1275. // The specified stack instance doesn't exist.
  1276. //
  1277. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstance
  1278. func (c *CloudFormation) DescribeStackInstance(input *DescribeStackInstanceInput) (*DescribeStackInstanceOutput, error) {
  1279. req, out := c.DescribeStackInstanceRequest(input)
  1280. return out, req.Send()
  1281. }
  1282. // DescribeStackInstanceWithContext is the same as DescribeStackInstance with the addition of
  1283. // the ability to pass a context and additional request options.
  1284. //
  1285. // See DescribeStackInstance for details on how to use this API operation.
  1286. //
  1287. // The context must be non-nil and will be used for request cancellation. If
  1288. // the context is nil a panic will occur. In the future the SDK may create
  1289. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1290. // for more information on using Contexts.
  1291. func (c *CloudFormation) DescribeStackInstanceWithContext(ctx aws.Context, input *DescribeStackInstanceInput, opts ...request.Option) (*DescribeStackInstanceOutput, error) {
  1292. req, out := c.DescribeStackInstanceRequest(input)
  1293. req.SetContext(ctx)
  1294. req.ApplyOptions(opts...)
  1295. return out, req.Send()
  1296. }
  1297. const opDescribeStackResource = "DescribeStackResource"
  1298. // DescribeStackResourceRequest generates a "aws/request.Request" representing the
  1299. // client's request for the DescribeStackResource operation. The "output" return
  1300. // value will be populated with the request's response once the request completes
  1301. // successfully.
  1302. //
  1303. // Use "Send" method on the returned Request to send the API call to the service.
  1304. // the "output" return value is not valid until after Send returns without error.
  1305. //
  1306. // See DescribeStackResource for more information on using the DescribeStackResource
  1307. // API call, and error handling.
  1308. //
  1309. // This method is useful when you want to inject custom logic or configuration
  1310. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1311. //
  1312. //
  1313. // // Example sending a request using the DescribeStackResourceRequest method.
  1314. // req, resp := client.DescribeStackResourceRequest(params)
  1315. //
  1316. // err := req.Send()
  1317. // if err == nil { // resp is now filled
  1318. // fmt.Println(resp)
  1319. // }
  1320. //
  1321. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResource
  1322. func (c *CloudFormation) DescribeStackResourceRequest(input *DescribeStackResourceInput) (req *request.Request, output *DescribeStackResourceOutput) {
  1323. op := &request.Operation{
  1324. Name: opDescribeStackResource,
  1325. HTTPMethod: "POST",
  1326. HTTPPath: "/",
  1327. }
  1328. if input == nil {
  1329. input = &DescribeStackResourceInput{}
  1330. }
  1331. output = &DescribeStackResourceOutput{}
  1332. req = c.newRequest(op, input, output)
  1333. return
  1334. }
  1335. // DescribeStackResource API operation for AWS CloudFormation.
  1336. //
  1337. // Returns a description of the specified resource in the specified stack.
  1338. //
  1339. // For deleted stacks, DescribeStackResource returns resource information for
  1340. // up to 90 days after the stack has been deleted.
  1341. //
  1342. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1343. // with awserr.Error's Code and Message methods to get detailed information about
  1344. // the error.
  1345. //
  1346. // See the AWS API reference guide for AWS CloudFormation's
  1347. // API operation DescribeStackResource for usage and error information.
  1348. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResource
  1349. func (c *CloudFormation) DescribeStackResource(input *DescribeStackResourceInput) (*DescribeStackResourceOutput, error) {
  1350. req, out := c.DescribeStackResourceRequest(input)
  1351. return out, req.Send()
  1352. }
  1353. // DescribeStackResourceWithContext is the same as DescribeStackResource with the addition of
  1354. // the ability to pass a context and additional request options.
  1355. //
  1356. // See DescribeStackResource for details on how to use this API operation.
  1357. //
  1358. // The context must be non-nil and will be used for request cancellation. If
  1359. // the context is nil a panic will occur. In the future the SDK may create
  1360. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1361. // for more information on using Contexts.
  1362. func (c *CloudFormation) DescribeStackResourceWithContext(ctx aws.Context, input *DescribeStackResourceInput, opts ...request.Option) (*DescribeStackResourceOutput, error) {
  1363. req, out := c.DescribeStackResourceRequest(input)
  1364. req.SetContext(ctx)
  1365. req.ApplyOptions(opts...)
  1366. return out, req.Send()
  1367. }
  1368. const opDescribeStackResourceDrifts = "DescribeStackResourceDrifts"
  1369. // DescribeStackResourceDriftsRequest generates a "aws/request.Request" representing the
  1370. // client's request for the DescribeStackResourceDrifts operation. The "output" return
  1371. // value will be populated with the request's response once the request completes
  1372. // successfully.
  1373. //
  1374. // Use "Send" method on the returned Request to send the API call to the service.
  1375. // the "output" return value is not valid until after Send returns without error.
  1376. //
  1377. // See DescribeStackResourceDrifts for more information on using the DescribeStackResourceDrifts
  1378. // API call, and error handling.
  1379. //
  1380. // This method is useful when you want to inject custom logic or configuration
  1381. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1382. //
  1383. //
  1384. // // Example sending a request using the DescribeStackResourceDriftsRequest method.
  1385. // req, resp := client.DescribeStackResourceDriftsRequest(params)
  1386. //
  1387. // err := req.Send()
  1388. // if err == nil { // resp is now filled
  1389. // fmt.Println(resp)
  1390. // }
  1391. //
  1392. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResourceDrifts
  1393. func (c *CloudFormation) DescribeStackResourceDriftsRequest(input *DescribeStackResourceDriftsInput) (req *request.Request, output *DescribeStackResourceDriftsOutput) {
  1394. op := &request.Operation{
  1395. Name: opDescribeStackResourceDrifts,
  1396. HTTPMethod: "POST",
  1397. HTTPPath: "/",
  1398. Paginator: &request.Paginator{
  1399. InputTokens: []string{"NextToken"},
  1400. OutputTokens: []string{"NextToken"},
  1401. LimitToken: "MaxResults",
  1402. TruncationToken: "",
  1403. },
  1404. }
  1405. if input == nil {
  1406. input = &DescribeStackResourceDriftsInput{}
  1407. }
  1408. output = &DescribeStackResourceDriftsOutput{}
  1409. req = c.newRequest(op, input, output)
  1410. return
  1411. }
  1412. // DescribeStackResourceDrifts API operation for AWS CloudFormation.
  1413. //
  1414. // Returns drift information for the resources that have been checked for drift
  1415. // in the specified stack. This includes actual and expected configuration values
  1416. // for resources where AWS CloudFormation detects configuration drift.
  1417. //
  1418. // For a given stack, there will be one StackResourceDrift for each stack resource
  1419. // that has been checked for drift. Resources that have not yet been checked
  1420. // for drift are not included. Resources that do not currently support drift
  1421. // detection are not checked, and so not included. For a list of resources that
  1422. // support drift detection, see Resources that Support Drift Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  1423. //
  1424. // Use DetectStackResourceDrift to detect drift on individual resources, or
  1425. // DetectStackDrift to detect drift on all supported resources for a given stack.
  1426. //
  1427. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1428. // with awserr.Error's Code and Message methods to get detailed information about
  1429. // the error.
  1430. //
  1431. // See the AWS API reference guide for AWS CloudFormation's
  1432. // API operation DescribeStackResourceDrifts for usage and error information.
  1433. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResourceDrifts
  1434. func (c *CloudFormation) DescribeStackResourceDrifts(input *DescribeStackResourceDriftsInput) (*DescribeStackResourceDriftsOutput, error) {
  1435. req, out := c.DescribeStackResourceDriftsRequest(input)
  1436. return out, req.Send()
  1437. }
  1438. // DescribeStackResourceDriftsWithContext is the same as DescribeStackResourceDrifts with the addition of
  1439. // the ability to pass a context and additional request options.
  1440. //
  1441. // See DescribeStackResourceDrifts for details on how to use this API operation.
  1442. //
  1443. // The context must be non-nil and will be used for request cancellation. If
  1444. // the context is nil a panic will occur. In the future the SDK may create
  1445. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1446. // for more information on using Contexts.
  1447. func (c *CloudFormation) DescribeStackResourceDriftsWithContext(ctx aws.Context, input *DescribeStackResourceDriftsInput, opts ...request.Option) (*DescribeStackResourceDriftsOutput, error) {
  1448. req, out := c.DescribeStackResourceDriftsRequest(input)
  1449. req.SetContext(ctx)
  1450. req.ApplyOptions(opts...)
  1451. return out, req.Send()
  1452. }
  1453. // DescribeStackResourceDriftsPages iterates over the pages of a DescribeStackResourceDrifts operation,
  1454. // calling the "fn" function with the response data for each page. To stop
  1455. // iterating, return false from the fn function.
  1456. //
  1457. // See DescribeStackResourceDrifts method for more information on how to use this operation.
  1458. //
  1459. // Note: This operation can generate multiple requests to a service.
  1460. //
  1461. // // Example iterating over at most 3 pages of a DescribeStackResourceDrifts operation.
  1462. // pageNum := 0
  1463. // err := client.DescribeStackResourceDriftsPages(params,
  1464. // func(page *DescribeStackResourceDriftsOutput, lastPage bool) bool {
  1465. // pageNum++
  1466. // fmt.Println(page)
  1467. // return pageNum <= 3
  1468. // })
  1469. //
  1470. func (c *CloudFormation) DescribeStackResourceDriftsPages(input *DescribeStackResourceDriftsInput, fn func(*DescribeStackResourceDriftsOutput, bool) bool) error {
  1471. return c.DescribeStackResourceDriftsPagesWithContext(aws.BackgroundContext(), input, fn)
  1472. }
  1473. // DescribeStackResourceDriftsPagesWithContext same as DescribeStackResourceDriftsPages except
  1474. // it takes a Context and allows setting request options on the pages.
  1475. //
  1476. // The context must be non-nil and will be used for request cancellation. If
  1477. // the context is nil a panic will occur. In the future the SDK may create
  1478. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1479. // for more information on using Contexts.
  1480. func (c *CloudFormation) DescribeStackResourceDriftsPagesWithContext(ctx aws.Context, input *DescribeStackResourceDriftsInput, fn func(*DescribeStackResourceDriftsOutput, bool) bool, opts ...request.Option) error {
  1481. p := request.Pagination{
  1482. NewRequest: func() (*request.Request, error) {
  1483. var inCpy *DescribeStackResourceDriftsInput
  1484. if input != nil {
  1485. tmp := *input
  1486. inCpy = &tmp
  1487. }
  1488. req, _ := c.DescribeStackResourceDriftsRequest(inCpy)
  1489. req.SetContext(ctx)
  1490. req.ApplyOptions(opts...)
  1491. return req, nil
  1492. },
  1493. }
  1494. cont := true
  1495. for p.Next() && cont {
  1496. cont = fn(p.Page().(*DescribeStackResourceDriftsOutput), !p.HasNextPage())
  1497. }
  1498. return p.Err()
  1499. }
  1500. const opDescribeStackResources = "DescribeStackResources"
  1501. // DescribeStackResourcesRequest generates a "aws/request.Request" representing the
  1502. // client's request for the DescribeStackResources operation. The "output" return
  1503. // value will be populated with the request's response once the request completes
  1504. // successfully.
  1505. //
  1506. // Use "Send" method on the returned Request to send the API call to the service.
  1507. // the "output" return value is not valid until after Send returns without error.
  1508. //
  1509. // See DescribeStackResources for more information on using the DescribeStackResources
  1510. // API call, and error handling.
  1511. //
  1512. // This method is useful when you want to inject custom logic or configuration
  1513. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1514. //
  1515. //
  1516. // // Example sending a request using the DescribeStackResourcesRequest method.
  1517. // req, resp := client.DescribeStackResourcesRequest(params)
  1518. //
  1519. // err := req.Send()
  1520. // if err == nil { // resp is now filled
  1521. // fmt.Println(resp)
  1522. // }
  1523. //
  1524. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResources
  1525. func (c *CloudFormation) DescribeStackResourcesRequest(input *DescribeStackResourcesInput) (req *request.Request, output *DescribeStackResourcesOutput) {
  1526. op := &request.Operation{
  1527. Name: opDescribeStackResources,
  1528. HTTPMethod: "POST",
  1529. HTTPPath: "/",
  1530. }
  1531. if input == nil {
  1532. input = &DescribeStackResourcesInput{}
  1533. }
  1534. output = &DescribeStackResourcesOutput{}
  1535. req = c.newRequest(op, input, output)
  1536. return
  1537. }
  1538. // DescribeStackResources API operation for AWS CloudFormation.
  1539. //
  1540. // Returns AWS resource descriptions for running and deleted stacks. If StackName
  1541. // is specified, all the associated resources that are part of the stack are
  1542. // returned. If PhysicalResourceId is specified, the associated resources of
  1543. // the stack that the resource belongs to are returned.
  1544. //
  1545. // Only the first 100 resources will be returned. If your stack has more resources
  1546. // than this, you should use ListStackResources instead.
  1547. //
  1548. // For deleted stacks, DescribeStackResources returns resource information for
  1549. // up to 90 days after the stack has been deleted.
  1550. //
  1551. // You must specify either StackName or PhysicalResourceId, but not both. In
  1552. // addition, you can specify LogicalResourceId to filter the returned result.
  1553. // For more information about resources, the LogicalResourceId and PhysicalResourceId,
  1554. // go to the AWS CloudFormation User Guide (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/).
  1555. //
  1556. // A ValidationError is returned if you specify both StackName and PhysicalResourceId
  1557. // in the same request.
  1558. //
  1559. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1560. // with awserr.Error's Code and Message methods to get detailed information about
  1561. // the error.
  1562. //
  1563. // See the AWS API reference guide for AWS CloudFormation's
  1564. // API operation DescribeStackResources for usage and error information.
  1565. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResources
  1566. func (c *CloudFormation) DescribeStackResources(input *DescribeStackResourcesInput) (*DescribeStackResourcesOutput, error) {
  1567. req, out := c.DescribeStackResourcesRequest(input)
  1568. return out, req.Send()
  1569. }
  1570. // DescribeStackResourcesWithContext is the same as DescribeStackResources with the addition of
  1571. // the ability to pass a context and additional request options.
  1572. //
  1573. // See DescribeStackResources for details on how to use this API operation.
  1574. //
  1575. // The context must be non-nil and will be used for request cancellation. If
  1576. // the context is nil a panic will occur. In the future the SDK may create
  1577. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1578. // for more information on using Contexts.
  1579. func (c *CloudFormation) DescribeStackResourcesWithContext(ctx aws.Context, input *DescribeStackResourcesInput, opts ...request.Option) (*DescribeStackResourcesOutput, error) {
  1580. req, out := c.DescribeStackResourcesRequest(input)
  1581. req.SetContext(ctx)
  1582. req.ApplyOptions(opts...)
  1583. return out, req.Send()
  1584. }
  1585. const opDescribeStackSet = "DescribeStackSet"
  1586. // DescribeStackSetRequest generates a "aws/request.Request" representing the
  1587. // client's request for the DescribeStackSet operation. The "output" return
  1588. // value will be populated with the request's response once the request completes
  1589. // successfully.
  1590. //
  1591. // Use "Send" method on the returned Request to send the API call to the service.
  1592. // the "output" return value is not valid until after Send returns without error.
  1593. //
  1594. // See DescribeStackSet for more information on using the DescribeStackSet
  1595. // API call, and error handling.
  1596. //
  1597. // This method is useful when you want to inject custom logic or configuration
  1598. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1599. //
  1600. //
  1601. // // Example sending a request using the DescribeStackSetRequest method.
  1602. // req, resp := client.DescribeStackSetRequest(params)
  1603. //
  1604. // err := req.Send()
  1605. // if err == nil { // resp is now filled
  1606. // fmt.Println(resp)
  1607. // }
  1608. //
  1609. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSet
  1610. func (c *CloudFormation) DescribeStackSetRequest(input *DescribeStackSetInput) (req *request.Request, output *DescribeStackSetOutput) {
  1611. op := &request.Operation{
  1612. Name: opDescribeStackSet,
  1613. HTTPMethod: "POST",
  1614. HTTPPath: "/",
  1615. }
  1616. if input == nil {
  1617. input = &DescribeStackSetInput{}
  1618. }
  1619. output = &DescribeStackSetOutput{}
  1620. req = c.newRequest(op, input, output)
  1621. return
  1622. }
  1623. // DescribeStackSet API operation for AWS CloudFormation.
  1624. //
  1625. // Returns the description of the specified stack set.
  1626. //
  1627. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1628. // with awserr.Error's Code and Message methods to get detailed information about
  1629. // the error.
  1630. //
  1631. // See the AWS API reference guide for AWS CloudFormation's
  1632. // API operation DescribeStackSet for usage and error information.
  1633. //
  1634. // Returned Error Codes:
  1635. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  1636. // The specified stack set doesn't exist.
  1637. //
  1638. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSet
  1639. func (c *CloudFormation) DescribeStackSet(input *DescribeStackSetInput) (*DescribeStackSetOutput, error) {
  1640. req, out := c.DescribeStackSetRequest(input)
  1641. return out, req.Send()
  1642. }
  1643. // DescribeStackSetWithContext is the same as DescribeStackSet with the addition of
  1644. // the ability to pass a context and additional request options.
  1645. //
  1646. // See DescribeStackSet for details on how to use this API operation.
  1647. //
  1648. // The context must be non-nil and will be used for request cancellation. If
  1649. // the context is nil a panic will occur. In the future the SDK may create
  1650. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1651. // for more information on using Contexts.
  1652. func (c *CloudFormation) DescribeStackSetWithContext(ctx aws.Context, input *DescribeStackSetInput, opts ...request.Option) (*DescribeStackSetOutput, error) {
  1653. req, out := c.DescribeStackSetRequest(input)
  1654. req.SetContext(ctx)
  1655. req.ApplyOptions(opts...)
  1656. return out, req.Send()
  1657. }
  1658. const opDescribeStackSetOperation = "DescribeStackSetOperation"
  1659. // DescribeStackSetOperationRequest generates a "aws/request.Request" representing the
  1660. // client's request for the DescribeStackSetOperation operation. The "output" return
  1661. // value will be populated with the request's response once the request completes
  1662. // successfully.
  1663. //
  1664. // Use "Send" method on the returned Request to send the API call to the service.
  1665. // the "output" return value is not valid until after Send returns without error.
  1666. //
  1667. // See DescribeStackSetOperation for more information on using the DescribeStackSetOperation
  1668. // API call, and error handling.
  1669. //
  1670. // This method is useful when you want to inject custom logic or configuration
  1671. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1672. //
  1673. //
  1674. // // Example sending a request using the DescribeStackSetOperationRequest method.
  1675. // req, resp := client.DescribeStackSetOperationRequest(params)
  1676. //
  1677. // err := req.Send()
  1678. // if err == nil { // resp is now filled
  1679. // fmt.Println(resp)
  1680. // }
  1681. //
  1682. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperation
  1683. func (c *CloudFormation) DescribeStackSetOperationRequest(input *DescribeStackSetOperationInput) (req *request.Request, output *DescribeStackSetOperationOutput) {
  1684. op := &request.Operation{
  1685. Name: opDescribeStackSetOperation,
  1686. HTTPMethod: "POST",
  1687. HTTPPath: "/",
  1688. }
  1689. if input == nil {
  1690. input = &DescribeStackSetOperationInput{}
  1691. }
  1692. output = &DescribeStackSetOperationOutput{}
  1693. req = c.newRequest(op, input, output)
  1694. return
  1695. }
  1696. // DescribeStackSetOperation API operation for AWS CloudFormation.
  1697. //
  1698. // Returns the description of the specified stack set operation.
  1699. //
  1700. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1701. // with awserr.Error's Code and Message methods to get detailed information about
  1702. // the error.
  1703. //
  1704. // See the AWS API reference guide for AWS CloudFormation's
  1705. // API operation DescribeStackSetOperation for usage and error information.
  1706. //
  1707. // Returned Error Codes:
  1708. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  1709. // The specified stack set doesn't exist.
  1710. //
  1711. // * ErrCodeOperationNotFoundException "OperationNotFoundException"
  1712. // The specified ID refers to an operation that doesn't exist.
  1713. //
  1714. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperation
  1715. func (c *CloudFormation) DescribeStackSetOperation(input *DescribeStackSetOperationInput) (*DescribeStackSetOperationOutput, error) {
  1716. req, out := c.DescribeStackSetOperationRequest(input)
  1717. return out, req.Send()
  1718. }
  1719. // DescribeStackSetOperationWithContext is the same as DescribeStackSetOperation with the addition of
  1720. // the ability to pass a context and additional request options.
  1721. //
  1722. // See DescribeStackSetOperation for details on how to use this API operation.
  1723. //
  1724. // The context must be non-nil and will be used for request cancellation. If
  1725. // the context is nil a panic will occur. In the future the SDK may create
  1726. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1727. // for more information on using Contexts.
  1728. func (c *CloudFormation) DescribeStackSetOperationWithContext(ctx aws.Context, input *DescribeStackSetOperationInput, opts ...request.Option) (*DescribeStackSetOperationOutput, error) {
  1729. req, out := c.DescribeStackSetOperationRequest(input)
  1730. req.SetContext(ctx)
  1731. req.ApplyOptions(opts...)
  1732. return out, req.Send()
  1733. }
  1734. const opDescribeStacks = "DescribeStacks"
  1735. // DescribeStacksRequest generates a "aws/request.Request" representing the
  1736. // client's request for the DescribeStacks operation. The "output" return
  1737. // value will be populated with the request's response once the request completes
  1738. // successfully.
  1739. //
  1740. // Use "Send" method on the returned Request to send the API call to the service.
  1741. // the "output" return value is not valid until after Send returns without error.
  1742. //
  1743. // See DescribeStacks for more information on using the DescribeStacks
  1744. // API call, and error handling.
  1745. //
  1746. // This method is useful when you want to inject custom logic or configuration
  1747. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1748. //
  1749. //
  1750. // // Example sending a request using the DescribeStacksRequest method.
  1751. // req, resp := client.DescribeStacksRequest(params)
  1752. //
  1753. // err := req.Send()
  1754. // if err == nil { // resp is now filled
  1755. // fmt.Println(resp)
  1756. // }
  1757. //
  1758. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStacks
  1759. func (c *CloudFormation) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
  1760. op := &request.Operation{
  1761. Name: opDescribeStacks,
  1762. HTTPMethod: "POST",
  1763. HTTPPath: "/",
  1764. Paginator: &request.Paginator{
  1765. InputTokens: []string{"NextToken"},
  1766. OutputTokens: []string{"NextToken"},
  1767. LimitToken: "",
  1768. TruncationToken: "",
  1769. },
  1770. }
  1771. if input == nil {
  1772. input = &DescribeStacksInput{}
  1773. }
  1774. output = &DescribeStacksOutput{}
  1775. req = c.newRequest(op, input, output)
  1776. return
  1777. }
  1778. // DescribeStacks API operation for AWS CloudFormation.
  1779. //
  1780. // Returns the description for the specified stack; if no stack name was specified,
  1781. // then it returns the description for all the stacks created.
  1782. //
  1783. // If the stack does not exist, an AmazonCloudFormationException is returned.
  1784. //
  1785. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1786. // with awserr.Error's Code and Message methods to get detailed information about
  1787. // the error.
  1788. //
  1789. // See the AWS API reference guide for AWS CloudFormation's
  1790. // API operation DescribeStacks for usage and error information.
  1791. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStacks
  1792. func (c *CloudFormation) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
  1793. req, out := c.DescribeStacksRequest(input)
  1794. return out, req.Send()
  1795. }
  1796. // DescribeStacksWithContext is the same as DescribeStacks with the addition of
  1797. // the ability to pass a context and additional request options.
  1798. //
  1799. // See DescribeStacks for details on how to use this API operation.
  1800. //
  1801. // The context must be non-nil and will be used for request cancellation. If
  1802. // the context is nil a panic will occur. In the future the SDK may create
  1803. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1804. // for more information on using Contexts.
  1805. func (c *CloudFormation) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
  1806. req, out := c.DescribeStacksRequest(input)
  1807. req.SetContext(ctx)
  1808. req.ApplyOptions(opts...)
  1809. return out, req.Send()
  1810. }
  1811. // DescribeStacksPages iterates over the pages of a DescribeStacks operation,
  1812. // calling the "fn" function with the response data for each page. To stop
  1813. // iterating, return false from the fn function.
  1814. //
  1815. // See DescribeStacks method for more information on how to use this operation.
  1816. //
  1817. // Note: This operation can generate multiple requests to a service.
  1818. //
  1819. // // Example iterating over at most 3 pages of a DescribeStacks operation.
  1820. // pageNum := 0
  1821. // err := client.DescribeStacksPages(params,
  1822. // func(page *DescribeStacksOutput, lastPage bool) bool {
  1823. // pageNum++
  1824. // fmt.Println(page)
  1825. // return pageNum <= 3
  1826. // })
  1827. //
  1828. func (c *CloudFormation) DescribeStacksPages(input *DescribeStacksInput, fn func(*DescribeStacksOutput, bool) bool) error {
  1829. return c.DescribeStacksPagesWithContext(aws.BackgroundContext(), input, fn)
  1830. }
  1831. // DescribeStacksPagesWithContext same as DescribeStacksPages except
  1832. // it takes a Context and allows setting request options on the pages.
  1833. //
  1834. // The context must be non-nil and will be used for request cancellation. If
  1835. // the context is nil a panic will occur. In the future the SDK may create
  1836. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1837. // for more information on using Contexts.
  1838. func (c *CloudFormation) DescribeStacksPagesWithContext(ctx aws.Context, input *DescribeStacksInput, fn func(*DescribeStacksOutput, bool) bool, opts ...request.Option) error {
  1839. p := request.Pagination{
  1840. NewRequest: func() (*request.Request, error) {
  1841. var inCpy *DescribeStacksInput
  1842. if input != nil {
  1843. tmp := *input
  1844. inCpy = &tmp
  1845. }
  1846. req, _ := c.DescribeStacksRequest(inCpy)
  1847. req.SetContext(ctx)
  1848. req.ApplyOptions(opts...)
  1849. return req, nil
  1850. },
  1851. }
  1852. cont := true
  1853. for p.Next() && cont {
  1854. cont = fn(p.Page().(*DescribeStacksOutput), !p.HasNextPage())
  1855. }
  1856. return p.Err()
  1857. }
  1858. const opDetectStackDrift = "DetectStackDrift"
  1859. // DetectStackDriftRequest generates a "aws/request.Request" representing the
  1860. // client's request for the DetectStackDrift operation. The "output" return
  1861. // value will be populated with the request's response once the request completes
  1862. // successfully.
  1863. //
  1864. // Use "Send" method on the returned Request to send the API call to the service.
  1865. // the "output" return value is not valid until after Send returns without error.
  1866. //
  1867. // See DetectStackDrift for more information on using the DetectStackDrift
  1868. // API call, and error handling.
  1869. //
  1870. // This method is useful when you want to inject custom logic or configuration
  1871. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1872. //
  1873. //
  1874. // // Example sending a request using the DetectStackDriftRequest method.
  1875. // req, resp := client.DetectStackDriftRequest(params)
  1876. //
  1877. // err := req.Send()
  1878. // if err == nil { // resp is now filled
  1879. // fmt.Println(resp)
  1880. // }
  1881. //
  1882. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackDrift
  1883. func (c *CloudFormation) DetectStackDriftRequest(input *DetectStackDriftInput) (req *request.Request, output *DetectStackDriftOutput) {
  1884. op := &request.Operation{
  1885. Name: opDetectStackDrift,
  1886. HTTPMethod: "POST",
  1887. HTTPPath: "/",
  1888. }
  1889. if input == nil {
  1890. input = &DetectStackDriftInput{}
  1891. }
  1892. output = &DetectStackDriftOutput{}
  1893. req = c.newRequest(op, input, output)
  1894. return
  1895. }
  1896. // DetectStackDrift API operation for AWS CloudFormation.
  1897. //
  1898. // Detects whether a stack's actual configuration differs, or has drifted, from
  1899. // it's expected configuration, as defined in the stack template and any values
  1900. // specified as template parameters. For each resource in the stack that supports
  1901. // drift detection, AWS CloudFormation compares the actual configuration of
  1902. // the resource with its expected template configuration. Only resource properties
  1903. // explicitly defined in the stack template are checked for drift. A stack is
  1904. // considered to have drifted if one or more of its resources differ from their
  1905. // expected template configurations. For more information, see Detecting Unregulated
  1906. // Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  1907. //
  1908. // Use DetectStackDrift to detect drift on all supported resources for a given
  1909. // stack, or DetectStackResourceDrift to detect drift on individual resources.
  1910. //
  1911. // For a list of stack resources that currently support drift detection, see
  1912. // Resources that Support Drift Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  1913. //
  1914. // DetectStackDrift can take up to several minutes, depending on the number
  1915. // of resources contained within the stack. Use DescribeStackDriftDetectionStatus
  1916. // to monitor the progress of a detect stack drift operation. Once the drift
  1917. // detection operation has completed, use DescribeStackResourceDrifts to return
  1918. // drift information about the stack and its resources.
  1919. //
  1920. // When detecting drift on a stack, AWS CloudFormation does not detect drift
  1921. // on any nested stacks belonging to that stack. Perform DetectStackDrift directly
  1922. // on the nested stack itself.
  1923. //
  1924. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1925. // with awserr.Error's Code and Message methods to get detailed information about
  1926. // the error.
  1927. //
  1928. // See the AWS API reference guide for AWS CloudFormation's
  1929. // API operation DetectStackDrift for usage and error information.
  1930. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackDrift
  1931. func (c *CloudFormation) DetectStackDrift(input *DetectStackDriftInput) (*DetectStackDriftOutput, error) {
  1932. req, out := c.DetectStackDriftRequest(input)
  1933. return out, req.Send()
  1934. }
  1935. // DetectStackDriftWithContext is the same as DetectStackDrift with the addition of
  1936. // the ability to pass a context and additional request options.
  1937. //
  1938. // See DetectStackDrift for details on how to use this API operation.
  1939. //
  1940. // The context must be non-nil and will be used for request cancellation. If
  1941. // the context is nil a panic will occur. In the future the SDK may create
  1942. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1943. // for more information on using Contexts.
  1944. func (c *CloudFormation) DetectStackDriftWithContext(ctx aws.Context, input *DetectStackDriftInput, opts ...request.Option) (*DetectStackDriftOutput, error) {
  1945. req, out := c.DetectStackDriftRequest(input)
  1946. req.SetContext(ctx)
  1947. req.ApplyOptions(opts...)
  1948. return out, req.Send()
  1949. }
  1950. const opDetectStackResourceDrift = "DetectStackResourceDrift"
  1951. // DetectStackResourceDriftRequest generates a "aws/request.Request" representing the
  1952. // client's request for the DetectStackResourceDrift operation. The "output" return
  1953. // value will be populated with the request's response once the request completes
  1954. // successfully.
  1955. //
  1956. // Use "Send" method on the returned Request to send the API call to the service.
  1957. // the "output" return value is not valid until after Send returns without error.
  1958. //
  1959. // See DetectStackResourceDrift for more information on using the DetectStackResourceDrift
  1960. // API call, and error handling.
  1961. //
  1962. // This method is useful when you want to inject custom logic or configuration
  1963. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1964. //
  1965. //
  1966. // // Example sending a request using the DetectStackResourceDriftRequest method.
  1967. // req, resp := client.DetectStackResourceDriftRequest(params)
  1968. //
  1969. // err := req.Send()
  1970. // if err == nil { // resp is now filled
  1971. // fmt.Println(resp)
  1972. // }
  1973. //
  1974. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackResourceDrift
  1975. func (c *CloudFormation) DetectStackResourceDriftRequest(input *DetectStackResourceDriftInput) (req *request.Request, output *DetectStackResourceDriftOutput) {
  1976. op := &request.Operation{
  1977. Name: opDetectStackResourceDrift,
  1978. HTTPMethod: "POST",
  1979. HTTPPath: "/",
  1980. }
  1981. if input == nil {
  1982. input = &DetectStackResourceDriftInput{}
  1983. }
  1984. output = &DetectStackResourceDriftOutput{}
  1985. req = c.newRequest(op, input, output)
  1986. return
  1987. }
  1988. // DetectStackResourceDrift API operation for AWS CloudFormation.
  1989. //
  1990. // Returns information about whether a resource's actual configuration differs,
  1991. // or has drifted, from it's expected configuration, as defined in the stack
  1992. // template and any values specified as template parameters. This information
  1993. // includes actual and expected property values for resources in which AWS CloudFormation
  1994. // detects drift. Only resource properties explicitly defined in the stack template
  1995. // are checked for drift. For more information about stack and resource drift,
  1996. // see Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  1997. //
  1998. // Use DetectStackResourceDrift to detect drift on individual resources, or
  1999. // DetectStackDrift to detect drift on all resources in a given stack that support
  2000. // drift detection.
  2001. //
  2002. // Resources that do not currently support drift detection cannot be checked.
  2003. // For a list of resources that support drift detection, see Resources that
  2004. // Support Drift Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  2005. //
  2006. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2007. // with awserr.Error's Code and Message methods to get detailed information about
  2008. // the error.
  2009. //
  2010. // See the AWS API reference guide for AWS CloudFormation's
  2011. // API operation DetectStackResourceDrift for usage and error information.
  2012. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackResourceDrift
  2013. func (c *CloudFormation) DetectStackResourceDrift(input *DetectStackResourceDriftInput) (*DetectStackResourceDriftOutput, error) {
  2014. req, out := c.DetectStackResourceDriftRequest(input)
  2015. return out, req.Send()
  2016. }
  2017. // DetectStackResourceDriftWithContext is the same as DetectStackResourceDrift with the addition of
  2018. // the ability to pass a context and additional request options.
  2019. //
  2020. // See DetectStackResourceDrift for details on how to use this API operation.
  2021. //
  2022. // The context must be non-nil and will be used for request cancellation. If
  2023. // the context is nil a panic will occur. In the future the SDK may create
  2024. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2025. // for more information on using Contexts.
  2026. func (c *CloudFormation) DetectStackResourceDriftWithContext(ctx aws.Context, input *DetectStackResourceDriftInput, opts ...request.Option) (*DetectStackResourceDriftOutput, error) {
  2027. req, out := c.DetectStackResourceDriftRequest(input)
  2028. req.SetContext(ctx)
  2029. req.ApplyOptions(opts...)
  2030. return out, req.Send()
  2031. }
  2032. const opEstimateTemplateCost = "EstimateTemplateCost"
  2033. // EstimateTemplateCostRequest generates a "aws/request.Request" representing the
  2034. // client's request for the EstimateTemplateCost operation. The "output" return
  2035. // value will be populated with the request's response once the request completes
  2036. // successfully.
  2037. //
  2038. // Use "Send" method on the returned Request to send the API call to the service.
  2039. // the "output" return value is not valid until after Send returns without error.
  2040. //
  2041. // See EstimateTemplateCost for more information on using the EstimateTemplateCost
  2042. // API call, and error handling.
  2043. //
  2044. // This method is useful when you want to inject custom logic or configuration
  2045. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2046. //
  2047. //
  2048. // // Example sending a request using the EstimateTemplateCostRequest method.
  2049. // req, resp := client.EstimateTemplateCostRequest(params)
  2050. //
  2051. // err := req.Send()
  2052. // if err == nil { // resp is now filled
  2053. // fmt.Println(resp)
  2054. // }
  2055. //
  2056. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/EstimateTemplateCost
  2057. func (c *CloudFormation) EstimateTemplateCostRequest(input *EstimateTemplateCostInput) (req *request.Request, output *EstimateTemplateCostOutput) {
  2058. op := &request.Operation{
  2059. Name: opEstimateTemplateCost,
  2060. HTTPMethod: "POST",
  2061. HTTPPath: "/",
  2062. }
  2063. if input == nil {
  2064. input = &EstimateTemplateCostInput{}
  2065. }
  2066. output = &EstimateTemplateCostOutput{}
  2067. req = c.newRequest(op, input, output)
  2068. return
  2069. }
  2070. // EstimateTemplateCost API operation for AWS CloudFormation.
  2071. //
  2072. // Returns the estimated monthly cost of a template. The return value is an
  2073. // AWS Simple Monthly Calculator URL with a query string that describes the
  2074. // resources required to run the template.
  2075. //
  2076. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2077. // with awserr.Error's Code and Message methods to get detailed information about
  2078. // the error.
  2079. //
  2080. // See the AWS API reference guide for AWS CloudFormation's
  2081. // API operation EstimateTemplateCost for usage and error information.
  2082. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/EstimateTemplateCost
  2083. func (c *CloudFormation) EstimateTemplateCost(input *EstimateTemplateCostInput) (*EstimateTemplateCostOutput, error) {
  2084. req, out := c.EstimateTemplateCostRequest(input)
  2085. return out, req.Send()
  2086. }
  2087. // EstimateTemplateCostWithContext is the same as EstimateTemplateCost with the addition of
  2088. // the ability to pass a context and additional request options.
  2089. //
  2090. // See EstimateTemplateCost for details on how to use this API operation.
  2091. //
  2092. // The context must be non-nil and will be used for request cancellation. If
  2093. // the context is nil a panic will occur. In the future the SDK may create
  2094. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2095. // for more information on using Contexts.
  2096. func (c *CloudFormation) EstimateTemplateCostWithContext(ctx aws.Context, input *EstimateTemplateCostInput, opts ...request.Option) (*EstimateTemplateCostOutput, error) {
  2097. req, out := c.EstimateTemplateCostRequest(input)
  2098. req.SetContext(ctx)
  2099. req.ApplyOptions(opts...)
  2100. return out, req.Send()
  2101. }
  2102. const opExecuteChangeSet = "ExecuteChangeSet"
  2103. // ExecuteChangeSetRequest generates a "aws/request.Request" representing the
  2104. // client's request for the ExecuteChangeSet operation. The "output" return
  2105. // value will be populated with the request's response once the request completes
  2106. // successfully.
  2107. //
  2108. // Use "Send" method on the returned Request to send the API call to the service.
  2109. // the "output" return value is not valid until after Send returns without error.
  2110. //
  2111. // See ExecuteChangeSet for more information on using the ExecuteChangeSet
  2112. // API call, and error handling.
  2113. //
  2114. // This method is useful when you want to inject custom logic or configuration
  2115. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2116. //
  2117. //
  2118. // // Example sending a request using the ExecuteChangeSetRequest method.
  2119. // req, resp := client.ExecuteChangeSetRequest(params)
  2120. //
  2121. // err := req.Send()
  2122. // if err == nil { // resp is now filled
  2123. // fmt.Println(resp)
  2124. // }
  2125. //
  2126. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ExecuteChangeSet
  2127. func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) (req *request.Request, output *ExecuteChangeSetOutput) {
  2128. op := &request.Operation{
  2129. Name: opExecuteChangeSet,
  2130. HTTPMethod: "POST",
  2131. HTTPPath: "/",
  2132. }
  2133. if input == nil {
  2134. input = &ExecuteChangeSetInput{}
  2135. }
  2136. output = &ExecuteChangeSetOutput{}
  2137. req = c.newRequest(op, input, output)
  2138. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2139. return
  2140. }
  2141. // ExecuteChangeSet API operation for AWS CloudFormation.
  2142. //
  2143. // Updates a stack using the input information that was provided when the specified
  2144. // change set was created. After the call successfully completes, AWS CloudFormation
  2145. // starts updating the stack. Use the DescribeStacks action to view the status
  2146. // of the update.
  2147. //
  2148. // When you execute a change set, AWS CloudFormation deletes all other change
  2149. // sets associated with the stack because they aren't valid for the updated
  2150. // stack.
  2151. //
  2152. // If a stack policy is associated with the stack, AWS CloudFormation enforces
  2153. // the policy during the update. You can't specify a temporary stack policy
  2154. // that overrides the current policy.
  2155. //
  2156. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2157. // with awserr.Error's Code and Message methods to get detailed information about
  2158. // the error.
  2159. //
  2160. // See the AWS API reference guide for AWS CloudFormation's
  2161. // API operation ExecuteChangeSet for usage and error information.
  2162. //
  2163. // Returned Error Codes:
  2164. // * ErrCodeInvalidChangeSetStatusException "InvalidChangeSetStatus"
  2165. // The specified change set can't be used to update the stack. For example,
  2166. // the change set status might be CREATE_IN_PROGRESS, or the stack status might
  2167. // be UPDATE_IN_PROGRESS.
  2168. //
  2169. // * ErrCodeChangeSetNotFoundException "ChangeSetNotFound"
  2170. // The specified change set name or ID doesn't exit. To view valid change sets
  2171. // for a stack, use the ListChangeSets action.
  2172. //
  2173. // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException"
  2174. // The template contains resources with capabilities that weren't specified
  2175. // in the Capabilities parameter.
  2176. //
  2177. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  2178. // A client request token already exists.
  2179. //
  2180. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ExecuteChangeSet
  2181. func (c *CloudFormation) ExecuteChangeSet(input *ExecuteChangeSetInput) (*ExecuteChangeSetOutput, error) {
  2182. req, out := c.ExecuteChangeSetRequest(input)
  2183. return out, req.Send()
  2184. }
  2185. // ExecuteChangeSetWithContext is the same as ExecuteChangeSet with the addition of
  2186. // the ability to pass a context and additional request options.
  2187. //
  2188. // See ExecuteChangeSet for details on how to use this API operation.
  2189. //
  2190. // The context must be non-nil and will be used for request cancellation. If
  2191. // the context is nil a panic will occur. In the future the SDK may create
  2192. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2193. // for more information on using Contexts.
  2194. func (c *CloudFormation) ExecuteChangeSetWithContext(ctx aws.Context, input *ExecuteChangeSetInput, opts ...request.Option) (*ExecuteChangeSetOutput, error) {
  2195. req, out := c.ExecuteChangeSetRequest(input)
  2196. req.SetContext(ctx)
  2197. req.ApplyOptions(opts...)
  2198. return out, req.Send()
  2199. }
  2200. const opGetStackPolicy = "GetStackPolicy"
  2201. // GetStackPolicyRequest generates a "aws/request.Request" representing the
  2202. // client's request for the GetStackPolicy operation. The "output" return
  2203. // value will be populated with the request's response once the request completes
  2204. // successfully.
  2205. //
  2206. // Use "Send" method on the returned Request to send the API call to the service.
  2207. // the "output" return value is not valid until after Send returns without error.
  2208. //
  2209. // See GetStackPolicy for more information on using the GetStackPolicy
  2210. // API call, and error handling.
  2211. //
  2212. // This method is useful when you want to inject custom logic or configuration
  2213. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2214. //
  2215. //
  2216. // // Example sending a request using the GetStackPolicyRequest method.
  2217. // req, resp := client.GetStackPolicyRequest(params)
  2218. //
  2219. // err := req.Send()
  2220. // if err == nil { // resp is now filled
  2221. // fmt.Println(resp)
  2222. // }
  2223. //
  2224. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy
  2225. func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req *request.Request, output *GetStackPolicyOutput) {
  2226. op := &request.Operation{
  2227. Name: opGetStackPolicy,
  2228. HTTPMethod: "POST",
  2229. HTTPPath: "/",
  2230. }
  2231. if input == nil {
  2232. input = &GetStackPolicyInput{}
  2233. }
  2234. output = &GetStackPolicyOutput{}
  2235. req = c.newRequest(op, input, output)
  2236. return
  2237. }
  2238. // GetStackPolicy API operation for AWS CloudFormation.
  2239. //
  2240. // Returns the stack policy for a specified stack. If a stack doesn't have a
  2241. // policy, a null value is returned.
  2242. //
  2243. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2244. // with awserr.Error's Code and Message methods to get detailed information about
  2245. // the error.
  2246. //
  2247. // See the AWS API reference guide for AWS CloudFormation's
  2248. // API operation GetStackPolicy for usage and error information.
  2249. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy
  2250. func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPolicyOutput, error) {
  2251. req, out := c.GetStackPolicyRequest(input)
  2252. return out, req.Send()
  2253. }
  2254. // GetStackPolicyWithContext is the same as GetStackPolicy with the addition of
  2255. // the ability to pass a context and additional request options.
  2256. //
  2257. // See GetStackPolicy for details on how to use this API operation.
  2258. //
  2259. // The context must be non-nil and will be used for request cancellation. If
  2260. // the context is nil a panic will occur. In the future the SDK may create
  2261. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2262. // for more information on using Contexts.
  2263. func (c *CloudFormation) GetStackPolicyWithContext(ctx aws.Context, input *GetStackPolicyInput, opts ...request.Option) (*GetStackPolicyOutput, error) {
  2264. req, out := c.GetStackPolicyRequest(input)
  2265. req.SetContext(ctx)
  2266. req.ApplyOptions(opts...)
  2267. return out, req.Send()
  2268. }
  2269. const opGetTemplate = "GetTemplate"
  2270. // GetTemplateRequest generates a "aws/request.Request" representing the
  2271. // client's request for the GetTemplate operation. The "output" return
  2272. // value will be populated with the request's response once the request completes
  2273. // successfully.
  2274. //
  2275. // Use "Send" method on the returned Request to send the API call to the service.
  2276. // the "output" return value is not valid until after Send returns without error.
  2277. //
  2278. // See GetTemplate for more information on using the GetTemplate
  2279. // API call, and error handling.
  2280. //
  2281. // This method is useful when you want to inject custom logic or configuration
  2282. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2283. //
  2284. //
  2285. // // Example sending a request using the GetTemplateRequest method.
  2286. // req, resp := client.GetTemplateRequest(params)
  2287. //
  2288. // err := req.Send()
  2289. // if err == nil { // resp is now filled
  2290. // fmt.Println(resp)
  2291. // }
  2292. //
  2293. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetTemplate
  2294. func (c *CloudFormation) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) {
  2295. op := &request.Operation{
  2296. Name: opGetTemplate,
  2297. HTTPMethod: "POST",
  2298. HTTPPath: "/",
  2299. }
  2300. if input == nil {
  2301. input = &GetTemplateInput{}
  2302. }
  2303. output = &GetTemplateOutput{}
  2304. req = c.newRequest(op, input, output)
  2305. return
  2306. }
  2307. // GetTemplate API operation for AWS CloudFormation.
  2308. //
  2309. // Returns the template body for a specified stack. You can get the template
  2310. // for running or deleted stacks.
  2311. //
  2312. // For deleted stacks, GetTemplate returns the template for up to 90 days after
  2313. // the stack has been deleted.
  2314. //
  2315. // If the template does not exist, a ValidationError is returned.
  2316. //
  2317. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2318. // with awserr.Error's Code and Message methods to get detailed information about
  2319. // the error.
  2320. //
  2321. // See the AWS API reference guide for AWS CloudFormation's
  2322. // API operation GetTemplate for usage and error information.
  2323. //
  2324. // Returned Error Codes:
  2325. // * ErrCodeChangeSetNotFoundException "ChangeSetNotFound"
  2326. // The specified change set name or ID doesn't exit. To view valid change sets
  2327. // for a stack, use the ListChangeSets action.
  2328. //
  2329. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetTemplate
  2330. func (c *CloudFormation) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) {
  2331. req, out := c.GetTemplateRequest(input)
  2332. return out, req.Send()
  2333. }
  2334. // GetTemplateWithContext is the same as GetTemplate with the addition of
  2335. // the ability to pass a context and additional request options.
  2336. //
  2337. // See GetTemplate for details on how to use this API operation.
  2338. //
  2339. // The context must be non-nil and will be used for request cancellation. If
  2340. // the context is nil a panic will occur. In the future the SDK may create
  2341. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2342. // for more information on using Contexts.
  2343. func (c *CloudFormation) GetTemplateWithContext(ctx aws.Context, input *GetTemplateInput, opts ...request.Option) (*GetTemplateOutput, error) {
  2344. req, out := c.GetTemplateRequest(input)
  2345. req.SetContext(ctx)
  2346. req.ApplyOptions(opts...)
  2347. return out, req.Send()
  2348. }
  2349. const opGetTemplateSummary = "GetTemplateSummary"
  2350. // GetTemplateSummaryRequest generates a "aws/request.Request" representing the
  2351. // client's request for the GetTemplateSummary operation. The "output" return
  2352. // value will be populated with the request's response once the request completes
  2353. // successfully.
  2354. //
  2355. // Use "Send" method on the returned Request to send the API call to the service.
  2356. // the "output" return value is not valid until after Send returns without error.
  2357. //
  2358. // See GetTemplateSummary for more information on using the GetTemplateSummary
  2359. // API call, and error handling.
  2360. //
  2361. // This method is useful when you want to inject custom logic or configuration
  2362. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2363. //
  2364. //
  2365. // // Example sending a request using the GetTemplateSummaryRequest method.
  2366. // req, resp := client.GetTemplateSummaryRequest(params)
  2367. //
  2368. // err := req.Send()
  2369. // if err == nil { // resp is now filled
  2370. // fmt.Println(resp)
  2371. // }
  2372. //
  2373. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetTemplateSummary
  2374. func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInput) (req *request.Request, output *GetTemplateSummaryOutput) {
  2375. op := &request.Operation{
  2376. Name: opGetTemplateSummary,
  2377. HTTPMethod: "POST",
  2378. HTTPPath: "/",
  2379. }
  2380. if input == nil {
  2381. input = &GetTemplateSummaryInput{}
  2382. }
  2383. output = &GetTemplateSummaryOutput{}
  2384. req = c.newRequest(op, input, output)
  2385. return
  2386. }
  2387. // GetTemplateSummary API operation for AWS CloudFormation.
  2388. //
  2389. // Returns information about a new or existing template. The GetTemplateSummary
  2390. // action is useful for viewing parameter information, such as default parameter
  2391. // values and parameter types, before you create or update a stack or stack
  2392. // set.
  2393. //
  2394. // You can use the GetTemplateSummary action when you submit a template, or
  2395. // you can get template information for a stack set, or a running or deleted
  2396. // stack.
  2397. //
  2398. // For deleted stacks, GetTemplateSummary returns the template information for
  2399. // up to 90 days after the stack has been deleted. If the template does not
  2400. // exist, a ValidationError is returned.
  2401. //
  2402. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2403. // with awserr.Error's Code and Message methods to get detailed information about
  2404. // the error.
  2405. //
  2406. // See the AWS API reference guide for AWS CloudFormation's
  2407. // API operation GetTemplateSummary for usage and error information.
  2408. //
  2409. // Returned Error Codes:
  2410. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  2411. // The specified stack set doesn't exist.
  2412. //
  2413. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetTemplateSummary
  2414. func (c *CloudFormation) GetTemplateSummary(input *GetTemplateSummaryInput) (*GetTemplateSummaryOutput, error) {
  2415. req, out := c.GetTemplateSummaryRequest(input)
  2416. return out, req.Send()
  2417. }
  2418. // GetTemplateSummaryWithContext is the same as GetTemplateSummary with the addition of
  2419. // the ability to pass a context and additional request options.
  2420. //
  2421. // See GetTemplateSummary for details on how to use this API operation.
  2422. //
  2423. // The context must be non-nil and will be used for request cancellation. If
  2424. // the context is nil a panic will occur. In the future the SDK may create
  2425. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2426. // for more information on using Contexts.
  2427. func (c *CloudFormation) GetTemplateSummaryWithContext(ctx aws.Context, input *GetTemplateSummaryInput, opts ...request.Option) (*GetTemplateSummaryOutput, error) {
  2428. req, out := c.GetTemplateSummaryRequest(input)
  2429. req.SetContext(ctx)
  2430. req.ApplyOptions(opts...)
  2431. return out, req.Send()
  2432. }
  2433. const opListChangeSets = "ListChangeSets"
  2434. // ListChangeSetsRequest generates a "aws/request.Request" representing the
  2435. // client's request for the ListChangeSets operation. The "output" return
  2436. // value will be populated with the request's response once the request completes
  2437. // successfully.
  2438. //
  2439. // Use "Send" method on the returned Request to send the API call to the service.
  2440. // the "output" return value is not valid until after Send returns without error.
  2441. //
  2442. // See ListChangeSets for more information on using the ListChangeSets
  2443. // API call, and error handling.
  2444. //
  2445. // This method is useful when you want to inject custom logic or configuration
  2446. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2447. //
  2448. //
  2449. // // Example sending a request using the ListChangeSetsRequest method.
  2450. // req, resp := client.ListChangeSetsRequest(params)
  2451. //
  2452. // err := req.Send()
  2453. // if err == nil { // resp is now filled
  2454. // fmt.Println(resp)
  2455. // }
  2456. //
  2457. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListChangeSets
  2458. func (c *CloudFormation) ListChangeSetsRequest(input *ListChangeSetsInput) (req *request.Request, output *ListChangeSetsOutput) {
  2459. op := &request.Operation{
  2460. Name: opListChangeSets,
  2461. HTTPMethod: "POST",
  2462. HTTPPath: "/",
  2463. }
  2464. if input == nil {
  2465. input = &ListChangeSetsInput{}
  2466. }
  2467. output = &ListChangeSetsOutput{}
  2468. req = c.newRequest(op, input, output)
  2469. return
  2470. }
  2471. // ListChangeSets API operation for AWS CloudFormation.
  2472. //
  2473. // Returns the ID and status of each active change set for a stack. For example,
  2474. // AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or
  2475. // CREATE_PENDING state.
  2476. //
  2477. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2478. // with awserr.Error's Code and Message methods to get detailed information about
  2479. // the error.
  2480. //
  2481. // See the AWS API reference guide for AWS CloudFormation's
  2482. // API operation ListChangeSets for usage and error information.
  2483. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListChangeSets
  2484. func (c *CloudFormation) ListChangeSets(input *ListChangeSetsInput) (*ListChangeSetsOutput, error) {
  2485. req, out := c.ListChangeSetsRequest(input)
  2486. return out, req.Send()
  2487. }
  2488. // ListChangeSetsWithContext is the same as ListChangeSets with the addition of
  2489. // the ability to pass a context and additional request options.
  2490. //
  2491. // See ListChangeSets for details on how to use this API operation.
  2492. //
  2493. // The context must be non-nil and will be used for request cancellation. If
  2494. // the context is nil a panic will occur. In the future the SDK may create
  2495. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2496. // for more information on using Contexts.
  2497. func (c *CloudFormation) ListChangeSetsWithContext(ctx aws.Context, input *ListChangeSetsInput, opts ...request.Option) (*ListChangeSetsOutput, error) {
  2498. req, out := c.ListChangeSetsRequest(input)
  2499. req.SetContext(ctx)
  2500. req.ApplyOptions(opts...)
  2501. return out, req.Send()
  2502. }
  2503. const opListExports = "ListExports"
  2504. // ListExportsRequest generates a "aws/request.Request" representing the
  2505. // client's request for the ListExports operation. The "output" return
  2506. // value will be populated with the request's response once the request completes
  2507. // successfully.
  2508. //
  2509. // Use "Send" method on the returned Request to send the API call to the service.
  2510. // the "output" return value is not valid until after Send returns without error.
  2511. //
  2512. // See ListExports for more information on using the ListExports
  2513. // API call, and error handling.
  2514. //
  2515. // This method is useful when you want to inject custom logic or configuration
  2516. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2517. //
  2518. //
  2519. // // Example sending a request using the ListExportsRequest method.
  2520. // req, resp := client.ListExportsRequest(params)
  2521. //
  2522. // err := req.Send()
  2523. // if err == nil { // resp is now filled
  2524. // fmt.Println(resp)
  2525. // }
  2526. //
  2527. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListExports
  2528. func (c *CloudFormation) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) {
  2529. op := &request.Operation{
  2530. Name: opListExports,
  2531. HTTPMethod: "POST",
  2532. HTTPPath: "/",
  2533. Paginator: &request.Paginator{
  2534. InputTokens: []string{"NextToken"},
  2535. OutputTokens: []string{"NextToken"},
  2536. LimitToken: "",
  2537. TruncationToken: "",
  2538. },
  2539. }
  2540. if input == nil {
  2541. input = &ListExportsInput{}
  2542. }
  2543. output = &ListExportsOutput{}
  2544. req = c.newRequest(op, input, output)
  2545. return
  2546. }
  2547. // ListExports API operation for AWS CloudFormation.
  2548. //
  2549. // Lists all exported output values in the account and region in which you call
  2550. // this action. Use this action to see the exported output values that you can
  2551. // import into other stacks. To import values, use the Fn::ImportValue (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)
  2552. // function.
  2553. //
  2554. // For more information, see AWS CloudFormation Export Stack Output Values
  2555. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html).
  2556. //
  2557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2558. // with awserr.Error's Code and Message methods to get detailed information about
  2559. // the error.
  2560. //
  2561. // See the AWS API reference guide for AWS CloudFormation's
  2562. // API operation ListExports for usage and error information.
  2563. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListExports
  2564. func (c *CloudFormation) ListExports(input *ListExportsInput) (*ListExportsOutput, error) {
  2565. req, out := c.ListExportsRequest(input)
  2566. return out, req.Send()
  2567. }
  2568. // ListExportsWithContext is the same as ListExports with the addition of
  2569. // the ability to pass a context and additional request options.
  2570. //
  2571. // See ListExports for details on how to use this API operation.
  2572. //
  2573. // The context must be non-nil and will be used for request cancellation. If
  2574. // the context is nil a panic will occur. In the future the SDK may create
  2575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2576. // for more information on using Contexts.
  2577. func (c *CloudFormation) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) {
  2578. req, out := c.ListExportsRequest(input)
  2579. req.SetContext(ctx)
  2580. req.ApplyOptions(opts...)
  2581. return out, req.Send()
  2582. }
  2583. // ListExportsPages iterates over the pages of a ListExports operation,
  2584. // calling the "fn" function with the response data for each page. To stop
  2585. // iterating, return false from the fn function.
  2586. //
  2587. // See ListExports method for more information on how to use this operation.
  2588. //
  2589. // Note: This operation can generate multiple requests to a service.
  2590. //
  2591. // // Example iterating over at most 3 pages of a ListExports operation.
  2592. // pageNum := 0
  2593. // err := client.ListExportsPages(params,
  2594. // func(page *ListExportsOutput, lastPage bool) bool {
  2595. // pageNum++
  2596. // fmt.Println(page)
  2597. // return pageNum <= 3
  2598. // })
  2599. //
  2600. func (c *CloudFormation) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error {
  2601. return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn)
  2602. }
  2603. // ListExportsPagesWithContext same as ListExportsPages except
  2604. // it takes a Context and allows setting request options on the pages.
  2605. //
  2606. // The context must be non-nil and will be used for request cancellation. If
  2607. // the context is nil a panic will occur. In the future the SDK may create
  2608. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2609. // for more information on using Contexts.
  2610. func (c *CloudFormation) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error {
  2611. p := request.Pagination{
  2612. NewRequest: func() (*request.Request, error) {
  2613. var inCpy *ListExportsInput
  2614. if input != nil {
  2615. tmp := *input
  2616. inCpy = &tmp
  2617. }
  2618. req, _ := c.ListExportsRequest(inCpy)
  2619. req.SetContext(ctx)
  2620. req.ApplyOptions(opts...)
  2621. return req, nil
  2622. },
  2623. }
  2624. cont := true
  2625. for p.Next() && cont {
  2626. cont = fn(p.Page().(*ListExportsOutput), !p.HasNextPage())
  2627. }
  2628. return p.Err()
  2629. }
  2630. const opListImports = "ListImports"
  2631. // ListImportsRequest generates a "aws/request.Request" representing the
  2632. // client's request for the ListImports operation. The "output" return
  2633. // value will be populated with the request's response once the request completes
  2634. // successfully.
  2635. //
  2636. // Use "Send" method on the returned Request to send the API call to the service.
  2637. // the "output" return value is not valid until after Send returns without error.
  2638. //
  2639. // See ListImports for more information on using the ListImports
  2640. // API call, and error handling.
  2641. //
  2642. // This method is useful when you want to inject custom logic or configuration
  2643. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2644. //
  2645. //
  2646. // // Example sending a request using the ListImportsRequest method.
  2647. // req, resp := client.ListImportsRequest(params)
  2648. //
  2649. // err := req.Send()
  2650. // if err == nil { // resp is now filled
  2651. // fmt.Println(resp)
  2652. // }
  2653. //
  2654. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListImports
  2655. func (c *CloudFormation) ListImportsRequest(input *ListImportsInput) (req *request.Request, output *ListImportsOutput) {
  2656. op := &request.Operation{
  2657. Name: opListImports,
  2658. HTTPMethod: "POST",
  2659. HTTPPath: "/",
  2660. Paginator: &request.Paginator{
  2661. InputTokens: []string{"NextToken"},
  2662. OutputTokens: []string{"NextToken"},
  2663. LimitToken: "",
  2664. TruncationToken: "",
  2665. },
  2666. }
  2667. if input == nil {
  2668. input = &ListImportsInput{}
  2669. }
  2670. output = &ListImportsOutput{}
  2671. req = c.newRequest(op, input, output)
  2672. return
  2673. }
  2674. // ListImports API operation for AWS CloudFormation.
  2675. //
  2676. // Lists all stacks that are importing an exported output value. To modify or
  2677. // remove an exported output value, first use this action to see which stacks
  2678. // are using it. To see the exported output values in your account, see ListExports.
  2679. //
  2680. // For more information about importing an exported output value, see the Fn::ImportValue
  2681. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)
  2682. // function.
  2683. //
  2684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2685. // with awserr.Error's Code and Message methods to get detailed information about
  2686. // the error.
  2687. //
  2688. // See the AWS API reference guide for AWS CloudFormation's
  2689. // API operation ListImports for usage and error information.
  2690. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListImports
  2691. func (c *CloudFormation) ListImports(input *ListImportsInput) (*ListImportsOutput, error) {
  2692. req, out := c.ListImportsRequest(input)
  2693. return out, req.Send()
  2694. }
  2695. // ListImportsWithContext is the same as ListImports with the addition of
  2696. // the ability to pass a context and additional request options.
  2697. //
  2698. // See ListImports for details on how to use this API operation.
  2699. //
  2700. // The context must be non-nil and will be used for request cancellation. If
  2701. // the context is nil a panic will occur. In the future the SDK may create
  2702. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2703. // for more information on using Contexts.
  2704. func (c *CloudFormation) ListImportsWithContext(ctx aws.Context, input *ListImportsInput, opts ...request.Option) (*ListImportsOutput, error) {
  2705. req, out := c.ListImportsRequest(input)
  2706. req.SetContext(ctx)
  2707. req.ApplyOptions(opts...)
  2708. return out, req.Send()
  2709. }
  2710. // ListImportsPages iterates over the pages of a ListImports operation,
  2711. // calling the "fn" function with the response data for each page. To stop
  2712. // iterating, return false from the fn function.
  2713. //
  2714. // See ListImports method for more information on how to use this operation.
  2715. //
  2716. // Note: This operation can generate multiple requests to a service.
  2717. //
  2718. // // Example iterating over at most 3 pages of a ListImports operation.
  2719. // pageNum := 0
  2720. // err := client.ListImportsPages(params,
  2721. // func(page *ListImportsOutput, lastPage bool) bool {
  2722. // pageNum++
  2723. // fmt.Println(page)
  2724. // return pageNum <= 3
  2725. // })
  2726. //
  2727. func (c *CloudFormation) ListImportsPages(input *ListImportsInput, fn func(*ListImportsOutput, bool) bool) error {
  2728. return c.ListImportsPagesWithContext(aws.BackgroundContext(), input, fn)
  2729. }
  2730. // ListImportsPagesWithContext same as ListImportsPages except
  2731. // it takes a Context and allows setting request options on the pages.
  2732. //
  2733. // The context must be non-nil and will be used for request cancellation. If
  2734. // the context is nil a panic will occur. In the future the SDK may create
  2735. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2736. // for more information on using Contexts.
  2737. func (c *CloudFormation) ListImportsPagesWithContext(ctx aws.Context, input *ListImportsInput, fn func(*ListImportsOutput, bool) bool, opts ...request.Option) error {
  2738. p := request.Pagination{
  2739. NewRequest: func() (*request.Request, error) {
  2740. var inCpy *ListImportsInput
  2741. if input != nil {
  2742. tmp := *input
  2743. inCpy = &tmp
  2744. }
  2745. req, _ := c.ListImportsRequest(inCpy)
  2746. req.SetContext(ctx)
  2747. req.ApplyOptions(opts...)
  2748. return req, nil
  2749. },
  2750. }
  2751. cont := true
  2752. for p.Next() && cont {
  2753. cont = fn(p.Page().(*ListImportsOutput), !p.HasNextPage())
  2754. }
  2755. return p.Err()
  2756. }
  2757. const opListStackInstances = "ListStackInstances"
  2758. // ListStackInstancesRequest generates a "aws/request.Request" representing the
  2759. // client's request for the ListStackInstances operation. The "output" return
  2760. // value will be populated with the request's response once the request completes
  2761. // successfully.
  2762. //
  2763. // Use "Send" method on the returned Request to send the API call to the service.
  2764. // the "output" return value is not valid until after Send returns without error.
  2765. //
  2766. // See ListStackInstances for more information on using the ListStackInstances
  2767. // API call, and error handling.
  2768. //
  2769. // This method is useful when you want to inject custom logic or configuration
  2770. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2771. //
  2772. //
  2773. // // Example sending a request using the ListStackInstancesRequest method.
  2774. // req, resp := client.ListStackInstancesRequest(params)
  2775. //
  2776. // err := req.Send()
  2777. // if err == nil { // resp is now filled
  2778. // fmt.Println(resp)
  2779. // }
  2780. //
  2781. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances
  2782. func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInput) (req *request.Request, output *ListStackInstancesOutput) {
  2783. op := &request.Operation{
  2784. Name: opListStackInstances,
  2785. HTTPMethod: "POST",
  2786. HTTPPath: "/",
  2787. }
  2788. if input == nil {
  2789. input = &ListStackInstancesInput{}
  2790. }
  2791. output = &ListStackInstancesOutput{}
  2792. req = c.newRequest(op, input, output)
  2793. return
  2794. }
  2795. // ListStackInstances API operation for AWS CloudFormation.
  2796. //
  2797. // Returns summary information about stack instances that are associated with
  2798. // the specified stack set. You can filter for stack instances that are associated
  2799. // with a specific AWS account name or region.
  2800. //
  2801. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2802. // with awserr.Error's Code and Message methods to get detailed information about
  2803. // the error.
  2804. //
  2805. // See the AWS API reference guide for AWS CloudFormation's
  2806. // API operation ListStackInstances for usage and error information.
  2807. //
  2808. // Returned Error Codes:
  2809. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  2810. // The specified stack set doesn't exist.
  2811. //
  2812. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances
  2813. func (c *CloudFormation) ListStackInstances(input *ListStackInstancesInput) (*ListStackInstancesOutput, error) {
  2814. req, out := c.ListStackInstancesRequest(input)
  2815. return out, req.Send()
  2816. }
  2817. // ListStackInstancesWithContext is the same as ListStackInstances with the addition of
  2818. // the ability to pass a context and additional request options.
  2819. //
  2820. // See ListStackInstances for details on how to use this API operation.
  2821. //
  2822. // The context must be non-nil and will be used for request cancellation. If
  2823. // the context is nil a panic will occur. In the future the SDK may create
  2824. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2825. // for more information on using Contexts.
  2826. func (c *CloudFormation) ListStackInstancesWithContext(ctx aws.Context, input *ListStackInstancesInput, opts ...request.Option) (*ListStackInstancesOutput, error) {
  2827. req, out := c.ListStackInstancesRequest(input)
  2828. req.SetContext(ctx)
  2829. req.ApplyOptions(opts...)
  2830. return out, req.Send()
  2831. }
  2832. const opListStackResources = "ListStackResources"
  2833. // ListStackResourcesRequest generates a "aws/request.Request" representing the
  2834. // client's request for the ListStackResources operation. The "output" return
  2835. // value will be populated with the request's response once the request completes
  2836. // successfully.
  2837. //
  2838. // Use "Send" method on the returned Request to send the API call to the service.
  2839. // the "output" return value is not valid until after Send returns without error.
  2840. //
  2841. // See ListStackResources for more information on using the ListStackResources
  2842. // API call, and error handling.
  2843. //
  2844. // This method is useful when you want to inject custom logic or configuration
  2845. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2846. //
  2847. //
  2848. // // Example sending a request using the ListStackResourcesRequest method.
  2849. // req, resp := client.ListStackResourcesRequest(params)
  2850. //
  2851. // err := req.Send()
  2852. // if err == nil { // resp is now filled
  2853. // fmt.Println(resp)
  2854. // }
  2855. //
  2856. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources
  2857. func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInput) (req *request.Request, output *ListStackResourcesOutput) {
  2858. op := &request.Operation{
  2859. Name: opListStackResources,
  2860. HTTPMethod: "POST",
  2861. HTTPPath: "/",
  2862. Paginator: &request.Paginator{
  2863. InputTokens: []string{"NextToken"},
  2864. OutputTokens: []string{"NextToken"},
  2865. LimitToken: "",
  2866. TruncationToken: "",
  2867. },
  2868. }
  2869. if input == nil {
  2870. input = &ListStackResourcesInput{}
  2871. }
  2872. output = &ListStackResourcesOutput{}
  2873. req = c.newRequest(op, input, output)
  2874. return
  2875. }
  2876. // ListStackResources API operation for AWS CloudFormation.
  2877. //
  2878. // Returns descriptions of all resources of the specified stack.
  2879. //
  2880. // For deleted stacks, ListStackResources returns resource information for up
  2881. // to 90 days after the stack has been deleted.
  2882. //
  2883. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2884. // with awserr.Error's Code and Message methods to get detailed information about
  2885. // the error.
  2886. //
  2887. // See the AWS API reference guide for AWS CloudFormation's
  2888. // API operation ListStackResources for usage and error information.
  2889. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources
  2890. func (c *CloudFormation) ListStackResources(input *ListStackResourcesInput) (*ListStackResourcesOutput, error) {
  2891. req, out := c.ListStackResourcesRequest(input)
  2892. return out, req.Send()
  2893. }
  2894. // ListStackResourcesWithContext is the same as ListStackResources with the addition of
  2895. // the ability to pass a context and additional request options.
  2896. //
  2897. // See ListStackResources for details on how to use this API operation.
  2898. //
  2899. // The context must be non-nil and will be used for request cancellation. If
  2900. // the context is nil a panic will occur. In the future the SDK may create
  2901. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2902. // for more information on using Contexts.
  2903. func (c *CloudFormation) ListStackResourcesWithContext(ctx aws.Context, input *ListStackResourcesInput, opts ...request.Option) (*ListStackResourcesOutput, error) {
  2904. req, out := c.ListStackResourcesRequest(input)
  2905. req.SetContext(ctx)
  2906. req.ApplyOptions(opts...)
  2907. return out, req.Send()
  2908. }
  2909. // ListStackResourcesPages iterates over the pages of a ListStackResources operation,
  2910. // calling the "fn" function with the response data for each page. To stop
  2911. // iterating, return false from the fn function.
  2912. //
  2913. // See ListStackResources method for more information on how to use this operation.
  2914. //
  2915. // Note: This operation can generate multiple requests to a service.
  2916. //
  2917. // // Example iterating over at most 3 pages of a ListStackResources operation.
  2918. // pageNum := 0
  2919. // err := client.ListStackResourcesPages(params,
  2920. // func(page *ListStackResourcesOutput, lastPage bool) bool {
  2921. // pageNum++
  2922. // fmt.Println(page)
  2923. // return pageNum <= 3
  2924. // })
  2925. //
  2926. func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool) error {
  2927. return c.ListStackResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
  2928. }
  2929. // ListStackResourcesPagesWithContext same as ListStackResourcesPages except
  2930. // it takes a Context and allows setting request options on the pages.
  2931. //
  2932. // The context must be non-nil and will be used for request cancellation. If
  2933. // the context is nil a panic will occur. In the future the SDK may create
  2934. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2935. // for more information on using Contexts.
  2936. func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool, opts ...request.Option) error {
  2937. p := request.Pagination{
  2938. NewRequest: func() (*request.Request, error) {
  2939. var inCpy *ListStackResourcesInput
  2940. if input != nil {
  2941. tmp := *input
  2942. inCpy = &tmp
  2943. }
  2944. req, _ := c.ListStackResourcesRequest(inCpy)
  2945. req.SetContext(ctx)
  2946. req.ApplyOptions(opts...)
  2947. return req, nil
  2948. },
  2949. }
  2950. cont := true
  2951. for p.Next() && cont {
  2952. cont = fn(p.Page().(*ListStackResourcesOutput), !p.HasNextPage())
  2953. }
  2954. return p.Err()
  2955. }
  2956. const opListStackSetOperationResults = "ListStackSetOperationResults"
  2957. // ListStackSetOperationResultsRequest generates a "aws/request.Request" representing the
  2958. // client's request for the ListStackSetOperationResults operation. The "output" return
  2959. // value will be populated with the request's response once the request completes
  2960. // successfully.
  2961. //
  2962. // Use "Send" method on the returned Request to send the API call to the service.
  2963. // the "output" return value is not valid until after Send returns without error.
  2964. //
  2965. // See ListStackSetOperationResults for more information on using the ListStackSetOperationResults
  2966. // API call, and error handling.
  2967. //
  2968. // This method is useful when you want to inject custom logic or configuration
  2969. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2970. //
  2971. //
  2972. // // Example sending a request using the ListStackSetOperationResultsRequest method.
  2973. // req, resp := client.ListStackSetOperationResultsRequest(params)
  2974. //
  2975. // err := req.Send()
  2976. // if err == nil { // resp is now filled
  2977. // fmt.Println(resp)
  2978. // }
  2979. //
  2980. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults
  2981. func (c *CloudFormation) ListStackSetOperationResultsRequest(input *ListStackSetOperationResultsInput) (req *request.Request, output *ListStackSetOperationResultsOutput) {
  2982. op := &request.Operation{
  2983. Name: opListStackSetOperationResults,
  2984. HTTPMethod: "POST",
  2985. HTTPPath: "/",
  2986. }
  2987. if input == nil {
  2988. input = &ListStackSetOperationResultsInput{}
  2989. }
  2990. output = &ListStackSetOperationResultsOutput{}
  2991. req = c.newRequest(op, input, output)
  2992. return
  2993. }
  2994. // ListStackSetOperationResults API operation for AWS CloudFormation.
  2995. //
  2996. // Returns summary information about the results of a stack set operation.
  2997. //
  2998. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2999. // with awserr.Error's Code and Message methods to get detailed information about
  3000. // the error.
  3001. //
  3002. // See the AWS API reference guide for AWS CloudFormation's
  3003. // API operation ListStackSetOperationResults for usage and error information.
  3004. //
  3005. // Returned Error Codes:
  3006. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  3007. // The specified stack set doesn't exist.
  3008. //
  3009. // * ErrCodeOperationNotFoundException "OperationNotFoundException"
  3010. // The specified ID refers to an operation that doesn't exist.
  3011. //
  3012. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults
  3013. func (c *CloudFormation) ListStackSetOperationResults(input *ListStackSetOperationResultsInput) (*ListStackSetOperationResultsOutput, error) {
  3014. req, out := c.ListStackSetOperationResultsRequest(input)
  3015. return out, req.Send()
  3016. }
  3017. // ListStackSetOperationResultsWithContext is the same as ListStackSetOperationResults with the addition of
  3018. // the ability to pass a context and additional request options.
  3019. //
  3020. // See ListStackSetOperationResults for details on how to use this API operation.
  3021. //
  3022. // The context must be non-nil and will be used for request cancellation. If
  3023. // the context is nil a panic will occur. In the future the SDK may create
  3024. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3025. // for more information on using Contexts.
  3026. func (c *CloudFormation) ListStackSetOperationResultsWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, opts ...request.Option) (*ListStackSetOperationResultsOutput, error) {
  3027. req, out := c.ListStackSetOperationResultsRequest(input)
  3028. req.SetContext(ctx)
  3029. req.ApplyOptions(opts...)
  3030. return out, req.Send()
  3031. }
  3032. const opListStackSetOperations = "ListStackSetOperations"
  3033. // ListStackSetOperationsRequest generates a "aws/request.Request" representing the
  3034. // client's request for the ListStackSetOperations operation. The "output" return
  3035. // value will be populated with the request's response once the request completes
  3036. // successfully.
  3037. //
  3038. // Use "Send" method on the returned Request to send the API call to the service.
  3039. // the "output" return value is not valid until after Send returns without error.
  3040. //
  3041. // See ListStackSetOperations for more information on using the ListStackSetOperations
  3042. // API call, and error handling.
  3043. //
  3044. // This method is useful when you want to inject custom logic or configuration
  3045. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3046. //
  3047. //
  3048. // // Example sending a request using the ListStackSetOperationsRequest method.
  3049. // req, resp := client.ListStackSetOperationsRequest(params)
  3050. //
  3051. // err := req.Send()
  3052. // if err == nil { // resp is now filled
  3053. // fmt.Println(resp)
  3054. // }
  3055. //
  3056. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations
  3057. func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperationsInput) (req *request.Request, output *ListStackSetOperationsOutput) {
  3058. op := &request.Operation{
  3059. Name: opListStackSetOperations,
  3060. HTTPMethod: "POST",
  3061. HTTPPath: "/",
  3062. }
  3063. if input == nil {
  3064. input = &ListStackSetOperationsInput{}
  3065. }
  3066. output = &ListStackSetOperationsOutput{}
  3067. req = c.newRequest(op, input, output)
  3068. return
  3069. }
  3070. // ListStackSetOperations API operation for AWS CloudFormation.
  3071. //
  3072. // Returns summary information about operations performed on a stack set.
  3073. //
  3074. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3075. // with awserr.Error's Code and Message methods to get detailed information about
  3076. // the error.
  3077. //
  3078. // See the AWS API reference guide for AWS CloudFormation's
  3079. // API operation ListStackSetOperations for usage and error information.
  3080. //
  3081. // Returned Error Codes:
  3082. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  3083. // The specified stack set doesn't exist.
  3084. //
  3085. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations
  3086. func (c *CloudFormation) ListStackSetOperations(input *ListStackSetOperationsInput) (*ListStackSetOperationsOutput, error) {
  3087. req, out := c.ListStackSetOperationsRequest(input)
  3088. return out, req.Send()
  3089. }
  3090. // ListStackSetOperationsWithContext is the same as ListStackSetOperations with the addition of
  3091. // the ability to pass a context and additional request options.
  3092. //
  3093. // See ListStackSetOperations for details on how to use this API operation.
  3094. //
  3095. // The context must be non-nil and will be used for request cancellation. If
  3096. // the context is nil a panic will occur. In the future the SDK may create
  3097. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3098. // for more information on using Contexts.
  3099. func (c *CloudFormation) ListStackSetOperationsWithContext(ctx aws.Context, input *ListStackSetOperationsInput, opts ...request.Option) (*ListStackSetOperationsOutput, error) {
  3100. req, out := c.ListStackSetOperationsRequest(input)
  3101. req.SetContext(ctx)
  3102. req.ApplyOptions(opts...)
  3103. return out, req.Send()
  3104. }
  3105. const opListStackSets = "ListStackSets"
  3106. // ListStackSetsRequest generates a "aws/request.Request" representing the
  3107. // client's request for the ListStackSets operation. The "output" return
  3108. // value will be populated with the request's response once the request completes
  3109. // successfully.
  3110. //
  3111. // Use "Send" method on the returned Request to send the API call to the service.
  3112. // the "output" return value is not valid until after Send returns without error.
  3113. //
  3114. // See ListStackSets for more information on using the ListStackSets
  3115. // API call, and error handling.
  3116. //
  3117. // This method is useful when you want to inject custom logic or configuration
  3118. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3119. //
  3120. //
  3121. // // Example sending a request using the ListStackSetsRequest method.
  3122. // req, resp := client.ListStackSetsRequest(params)
  3123. //
  3124. // err := req.Send()
  3125. // if err == nil { // resp is now filled
  3126. // fmt.Println(resp)
  3127. // }
  3128. //
  3129. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets
  3130. func (c *CloudFormation) ListStackSetsRequest(input *ListStackSetsInput) (req *request.Request, output *ListStackSetsOutput) {
  3131. op := &request.Operation{
  3132. Name: opListStackSets,
  3133. HTTPMethod: "POST",
  3134. HTTPPath: "/",
  3135. }
  3136. if input == nil {
  3137. input = &ListStackSetsInput{}
  3138. }
  3139. output = &ListStackSetsOutput{}
  3140. req = c.newRequest(op, input, output)
  3141. return
  3142. }
  3143. // ListStackSets API operation for AWS CloudFormation.
  3144. //
  3145. // Returns summary information about stack sets that are associated with the
  3146. // user.
  3147. //
  3148. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3149. // with awserr.Error's Code and Message methods to get detailed information about
  3150. // the error.
  3151. //
  3152. // See the AWS API reference guide for AWS CloudFormation's
  3153. // API operation ListStackSets for usage and error information.
  3154. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets
  3155. func (c *CloudFormation) ListStackSets(input *ListStackSetsInput) (*ListStackSetsOutput, error) {
  3156. req, out := c.ListStackSetsRequest(input)
  3157. return out, req.Send()
  3158. }
  3159. // ListStackSetsWithContext is the same as ListStackSets with the addition of
  3160. // the ability to pass a context and additional request options.
  3161. //
  3162. // See ListStackSets for details on how to use this API operation.
  3163. //
  3164. // The context must be non-nil and will be used for request cancellation. If
  3165. // the context is nil a panic will occur. In the future the SDK may create
  3166. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3167. // for more information on using Contexts.
  3168. func (c *CloudFormation) ListStackSetsWithContext(ctx aws.Context, input *ListStackSetsInput, opts ...request.Option) (*ListStackSetsOutput, error) {
  3169. req, out := c.ListStackSetsRequest(input)
  3170. req.SetContext(ctx)
  3171. req.ApplyOptions(opts...)
  3172. return out, req.Send()
  3173. }
  3174. const opListStacks = "ListStacks"
  3175. // ListStacksRequest generates a "aws/request.Request" representing the
  3176. // client's request for the ListStacks operation. The "output" return
  3177. // value will be populated with the request's response once the request completes
  3178. // successfully.
  3179. //
  3180. // Use "Send" method on the returned Request to send the API call to the service.
  3181. // the "output" return value is not valid until after Send returns without error.
  3182. //
  3183. // See ListStacks for more information on using the ListStacks
  3184. // API call, and error handling.
  3185. //
  3186. // This method is useful when you want to inject custom logic or configuration
  3187. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3188. //
  3189. //
  3190. // // Example sending a request using the ListStacksRequest method.
  3191. // req, resp := client.ListStacksRequest(params)
  3192. //
  3193. // err := req.Send()
  3194. // if err == nil { // resp is now filled
  3195. // fmt.Println(resp)
  3196. // }
  3197. //
  3198. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks
  3199. func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request.Request, output *ListStacksOutput) {
  3200. op := &request.Operation{
  3201. Name: opListStacks,
  3202. HTTPMethod: "POST",
  3203. HTTPPath: "/",
  3204. Paginator: &request.Paginator{
  3205. InputTokens: []string{"NextToken"},
  3206. OutputTokens: []string{"NextToken"},
  3207. LimitToken: "",
  3208. TruncationToken: "",
  3209. },
  3210. }
  3211. if input == nil {
  3212. input = &ListStacksInput{}
  3213. }
  3214. output = &ListStacksOutput{}
  3215. req = c.newRequest(op, input, output)
  3216. return
  3217. }
  3218. // ListStacks API operation for AWS CloudFormation.
  3219. //
  3220. // Returns the summary information for stacks whose status matches the specified
  3221. // StackStatusFilter. Summary information for stacks that have been deleted
  3222. // is kept for 90 days after the stack is deleted. If no StackStatusFilter is
  3223. // specified, summary information for all stacks is returned (including existing
  3224. // stacks and stacks that have been deleted).
  3225. //
  3226. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3227. // with awserr.Error's Code and Message methods to get detailed information about
  3228. // the error.
  3229. //
  3230. // See the AWS API reference guide for AWS CloudFormation's
  3231. // API operation ListStacks for usage and error information.
  3232. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks
  3233. func (c *CloudFormation) ListStacks(input *ListStacksInput) (*ListStacksOutput, error) {
  3234. req, out := c.ListStacksRequest(input)
  3235. return out, req.Send()
  3236. }
  3237. // ListStacksWithContext is the same as ListStacks with the addition of
  3238. // the ability to pass a context and additional request options.
  3239. //
  3240. // See ListStacks for details on how to use this API operation.
  3241. //
  3242. // The context must be non-nil and will be used for request cancellation. If
  3243. // the context is nil a panic will occur. In the future the SDK may create
  3244. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3245. // for more information on using Contexts.
  3246. func (c *CloudFormation) ListStacksWithContext(ctx aws.Context, input *ListStacksInput, opts ...request.Option) (*ListStacksOutput, error) {
  3247. req, out := c.ListStacksRequest(input)
  3248. req.SetContext(ctx)
  3249. req.ApplyOptions(opts...)
  3250. return out, req.Send()
  3251. }
  3252. // ListStacksPages iterates over the pages of a ListStacks operation,
  3253. // calling the "fn" function with the response data for each page. To stop
  3254. // iterating, return false from the fn function.
  3255. //
  3256. // See ListStacks method for more information on how to use this operation.
  3257. //
  3258. // Note: This operation can generate multiple requests to a service.
  3259. //
  3260. // // Example iterating over at most 3 pages of a ListStacks operation.
  3261. // pageNum := 0
  3262. // err := client.ListStacksPages(params,
  3263. // func(page *ListStacksOutput, lastPage bool) bool {
  3264. // pageNum++
  3265. // fmt.Println(page)
  3266. // return pageNum <= 3
  3267. // })
  3268. //
  3269. func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(*ListStacksOutput, bool) bool) error {
  3270. return c.ListStacksPagesWithContext(aws.BackgroundContext(), input, fn)
  3271. }
  3272. // ListStacksPagesWithContext same as ListStacksPages except
  3273. // it takes a Context and allows setting request options on the pages.
  3274. //
  3275. // The context must be non-nil and will be used for request cancellation. If
  3276. // the context is nil a panic will occur. In the future the SDK may create
  3277. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3278. // for more information on using Contexts.
  3279. func (c *CloudFormation) ListStacksPagesWithContext(ctx aws.Context, input *ListStacksInput, fn func(*ListStacksOutput, bool) bool, opts ...request.Option) error {
  3280. p := request.Pagination{
  3281. NewRequest: func() (*request.Request, error) {
  3282. var inCpy *ListStacksInput
  3283. if input != nil {
  3284. tmp := *input
  3285. inCpy = &tmp
  3286. }
  3287. req, _ := c.ListStacksRequest(inCpy)
  3288. req.SetContext(ctx)
  3289. req.ApplyOptions(opts...)
  3290. return req, nil
  3291. },
  3292. }
  3293. cont := true
  3294. for p.Next() && cont {
  3295. cont = fn(p.Page().(*ListStacksOutput), !p.HasNextPage())
  3296. }
  3297. return p.Err()
  3298. }
  3299. const opSetStackPolicy = "SetStackPolicy"
  3300. // SetStackPolicyRequest generates a "aws/request.Request" representing the
  3301. // client's request for the SetStackPolicy operation. The "output" return
  3302. // value will be populated with the request's response once the request completes
  3303. // successfully.
  3304. //
  3305. // Use "Send" method on the returned Request to send the API call to the service.
  3306. // the "output" return value is not valid until after Send returns without error.
  3307. //
  3308. // See SetStackPolicy for more information on using the SetStackPolicy
  3309. // API call, and error handling.
  3310. //
  3311. // This method is useful when you want to inject custom logic or configuration
  3312. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3313. //
  3314. //
  3315. // // Example sending a request using the SetStackPolicyRequest method.
  3316. // req, resp := client.SetStackPolicyRequest(params)
  3317. //
  3318. // err := req.Send()
  3319. // if err == nil { // resp is now filled
  3320. // fmt.Println(resp)
  3321. // }
  3322. //
  3323. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy
  3324. func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req *request.Request, output *SetStackPolicyOutput) {
  3325. op := &request.Operation{
  3326. Name: opSetStackPolicy,
  3327. HTTPMethod: "POST",
  3328. HTTPPath: "/",
  3329. }
  3330. if input == nil {
  3331. input = &SetStackPolicyInput{}
  3332. }
  3333. output = &SetStackPolicyOutput{}
  3334. req = c.newRequest(op, input, output)
  3335. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3336. return
  3337. }
  3338. // SetStackPolicy API operation for AWS CloudFormation.
  3339. //
  3340. // Sets a stack policy for a specified stack.
  3341. //
  3342. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3343. // with awserr.Error's Code and Message methods to get detailed information about
  3344. // the error.
  3345. //
  3346. // See the AWS API reference guide for AWS CloudFormation's
  3347. // API operation SetStackPolicy for usage and error information.
  3348. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy
  3349. func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPolicyOutput, error) {
  3350. req, out := c.SetStackPolicyRequest(input)
  3351. return out, req.Send()
  3352. }
  3353. // SetStackPolicyWithContext is the same as SetStackPolicy with the addition of
  3354. // the ability to pass a context and additional request options.
  3355. //
  3356. // See SetStackPolicy for details on how to use this API operation.
  3357. //
  3358. // The context must be non-nil and will be used for request cancellation. If
  3359. // the context is nil a panic will occur. In the future the SDK may create
  3360. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3361. // for more information on using Contexts.
  3362. func (c *CloudFormation) SetStackPolicyWithContext(ctx aws.Context, input *SetStackPolicyInput, opts ...request.Option) (*SetStackPolicyOutput, error) {
  3363. req, out := c.SetStackPolicyRequest(input)
  3364. req.SetContext(ctx)
  3365. req.ApplyOptions(opts...)
  3366. return out, req.Send()
  3367. }
  3368. const opSignalResource = "SignalResource"
  3369. // SignalResourceRequest generates a "aws/request.Request" representing the
  3370. // client's request for the SignalResource operation. The "output" return
  3371. // value will be populated with the request's response once the request completes
  3372. // successfully.
  3373. //
  3374. // Use "Send" method on the returned Request to send the API call to the service.
  3375. // the "output" return value is not valid until after Send returns without error.
  3376. //
  3377. // See SignalResource for more information on using the SignalResource
  3378. // API call, and error handling.
  3379. //
  3380. // This method is useful when you want to inject custom logic or configuration
  3381. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3382. //
  3383. //
  3384. // // Example sending a request using the SignalResourceRequest method.
  3385. // req, resp := client.SignalResourceRequest(params)
  3386. //
  3387. // err := req.Send()
  3388. // if err == nil { // resp is now filled
  3389. // fmt.Println(resp)
  3390. // }
  3391. //
  3392. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource
  3393. func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req *request.Request, output *SignalResourceOutput) {
  3394. op := &request.Operation{
  3395. Name: opSignalResource,
  3396. HTTPMethod: "POST",
  3397. HTTPPath: "/",
  3398. }
  3399. if input == nil {
  3400. input = &SignalResourceInput{}
  3401. }
  3402. output = &SignalResourceOutput{}
  3403. req = c.newRequest(op, input, output)
  3404. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3405. return
  3406. }
  3407. // SignalResource API operation for AWS CloudFormation.
  3408. //
  3409. // Sends a signal to the specified resource with a success or failure status.
  3410. // You can use the SignalResource API in conjunction with a creation policy
  3411. // or update policy. AWS CloudFormation doesn't proceed with a stack creation
  3412. // or update until resources receive the required number of signals or the timeout
  3413. // period is exceeded. The SignalResource API is useful in cases where you want
  3414. // to send signals from anywhere other than an Amazon EC2 instance.
  3415. //
  3416. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3417. // with awserr.Error's Code and Message methods to get detailed information about
  3418. // the error.
  3419. //
  3420. // See the AWS API reference guide for AWS CloudFormation's
  3421. // API operation SignalResource for usage and error information.
  3422. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource
  3423. func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalResourceOutput, error) {
  3424. req, out := c.SignalResourceRequest(input)
  3425. return out, req.Send()
  3426. }
  3427. // SignalResourceWithContext is the same as SignalResource with the addition of
  3428. // the ability to pass a context and additional request options.
  3429. //
  3430. // See SignalResource for details on how to use this API operation.
  3431. //
  3432. // The context must be non-nil and will be used for request cancellation. If
  3433. // the context is nil a panic will occur. In the future the SDK may create
  3434. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3435. // for more information on using Contexts.
  3436. func (c *CloudFormation) SignalResourceWithContext(ctx aws.Context, input *SignalResourceInput, opts ...request.Option) (*SignalResourceOutput, error) {
  3437. req, out := c.SignalResourceRequest(input)
  3438. req.SetContext(ctx)
  3439. req.ApplyOptions(opts...)
  3440. return out, req.Send()
  3441. }
  3442. const opStopStackSetOperation = "StopStackSetOperation"
  3443. // StopStackSetOperationRequest generates a "aws/request.Request" representing the
  3444. // client's request for the StopStackSetOperation operation. The "output" return
  3445. // value will be populated with the request's response once the request completes
  3446. // successfully.
  3447. //
  3448. // Use "Send" method on the returned Request to send the API call to the service.
  3449. // the "output" return value is not valid until after Send returns without error.
  3450. //
  3451. // See StopStackSetOperation for more information on using the StopStackSetOperation
  3452. // API call, and error handling.
  3453. //
  3454. // This method is useful when you want to inject custom logic or configuration
  3455. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3456. //
  3457. //
  3458. // // Example sending a request using the StopStackSetOperationRequest method.
  3459. // req, resp := client.StopStackSetOperationRequest(params)
  3460. //
  3461. // err := req.Send()
  3462. // if err == nil { // resp is now filled
  3463. // fmt.Println(resp)
  3464. // }
  3465. //
  3466. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation
  3467. func (c *CloudFormation) StopStackSetOperationRequest(input *StopStackSetOperationInput) (req *request.Request, output *StopStackSetOperationOutput) {
  3468. op := &request.Operation{
  3469. Name: opStopStackSetOperation,
  3470. HTTPMethod: "POST",
  3471. HTTPPath: "/",
  3472. }
  3473. if input == nil {
  3474. input = &StopStackSetOperationInput{}
  3475. }
  3476. output = &StopStackSetOperationOutput{}
  3477. req = c.newRequest(op, input, output)
  3478. req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3479. return
  3480. }
  3481. // StopStackSetOperation API operation for AWS CloudFormation.
  3482. //
  3483. // Stops an in-progress operation on a stack set and its associated stack instances.
  3484. //
  3485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3486. // with awserr.Error's Code and Message methods to get detailed information about
  3487. // the error.
  3488. //
  3489. // See the AWS API reference guide for AWS CloudFormation's
  3490. // API operation StopStackSetOperation for usage and error information.
  3491. //
  3492. // Returned Error Codes:
  3493. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  3494. // The specified stack set doesn't exist.
  3495. //
  3496. // * ErrCodeOperationNotFoundException "OperationNotFoundException"
  3497. // The specified ID refers to an operation that doesn't exist.
  3498. //
  3499. // * ErrCodeInvalidOperationException "InvalidOperationException"
  3500. // The specified operation isn't valid.
  3501. //
  3502. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation
  3503. func (c *CloudFormation) StopStackSetOperation(input *StopStackSetOperationInput) (*StopStackSetOperationOutput, error) {
  3504. req, out := c.StopStackSetOperationRequest(input)
  3505. return out, req.Send()
  3506. }
  3507. // StopStackSetOperationWithContext is the same as StopStackSetOperation with the addition of
  3508. // the ability to pass a context and additional request options.
  3509. //
  3510. // See StopStackSetOperation for details on how to use this API operation.
  3511. //
  3512. // The context must be non-nil and will be used for request cancellation. If
  3513. // the context is nil a panic will occur. In the future the SDK may create
  3514. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3515. // for more information on using Contexts.
  3516. func (c *CloudFormation) StopStackSetOperationWithContext(ctx aws.Context, input *StopStackSetOperationInput, opts ...request.Option) (*StopStackSetOperationOutput, error) {
  3517. req, out := c.StopStackSetOperationRequest(input)
  3518. req.SetContext(ctx)
  3519. req.ApplyOptions(opts...)
  3520. return out, req.Send()
  3521. }
  3522. const opUpdateStack = "UpdateStack"
  3523. // UpdateStackRequest generates a "aws/request.Request" representing the
  3524. // client's request for the UpdateStack operation. The "output" return
  3525. // value will be populated with the request's response once the request completes
  3526. // successfully.
  3527. //
  3528. // Use "Send" method on the returned Request to send the API call to the service.
  3529. // the "output" return value is not valid until after Send returns without error.
  3530. //
  3531. // See UpdateStack for more information on using the UpdateStack
  3532. // API call, and error handling.
  3533. //
  3534. // This method is useful when you want to inject custom logic or configuration
  3535. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3536. //
  3537. //
  3538. // // Example sending a request using the UpdateStackRequest method.
  3539. // req, resp := client.UpdateStackRequest(params)
  3540. //
  3541. // err := req.Send()
  3542. // if err == nil { // resp is now filled
  3543. // fmt.Println(resp)
  3544. // }
  3545. //
  3546. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack
  3547. func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
  3548. op := &request.Operation{
  3549. Name: opUpdateStack,
  3550. HTTPMethod: "POST",
  3551. HTTPPath: "/",
  3552. }
  3553. if input == nil {
  3554. input = &UpdateStackInput{}
  3555. }
  3556. output = &UpdateStackOutput{}
  3557. req = c.newRequest(op, input, output)
  3558. return
  3559. }
  3560. // UpdateStack API operation for AWS CloudFormation.
  3561. //
  3562. // Updates a stack as specified in the template. After the call completes successfully,
  3563. // the stack update starts. You can check the status of the stack via the DescribeStacks
  3564. // action.
  3565. //
  3566. // To get a copy of the template for an existing stack, you can use the GetTemplate
  3567. // action.
  3568. //
  3569. // For more information about creating an update template, updating a stack,
  3570. // and monitoring the progress of the update, see Updating a Stack (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).
  3571. //
  3572. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3573. // with awserr.Error's Code and Message methods to get detailed information about
  3574. // the error.
  3575. //
  3576. // See the AWS API reference guide for AWS CloudFormation's
  3577. // API operation UpdateStack for usage and error information.
  3578. //
  3579. // Returned Error Codes:
  3580. // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException"
  3581. // The template contains resources with capabilities that weren't specified
  3582. // in the Capabilities parameter.
  3583. //
  3584. // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException"
  3585. // A client request token already exists.
  3586. //
  3587. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack
  3588. func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
  3589. req, out := c.UpdateStackRequest(input)
  3590. return out, req.Send()
  3591. }
  3592. // UpdateStackWithContext is the same as UpdateStack with the addition of
  3593. // the ability to pass a context and additional request options.
  3594. //
  3595. // See UpdateStack for details on how to use this API operation.
  3596. //
  3597. // The context must be non-nil and will be used for request cancellation. If
  3598. // the context is nil a panic will occur. In the future the SDK may create
  3599. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3600. // for more information on using Contexts.
  3601. func (c *CloudFormation) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
  3602. req, out := c.UpdateStackRequest(input)
  3603. req.SetContext(ctx)
  3604. req.ApplyOptions(opts...)
  3605. return out, req.Send()
  3606. }
  3607. const opUpdateStackInstances = "UpdateStackInstances"
  3608. // UpdateStackInstancesRequest generates a "aws/request.Request" representing the
  3609. // client's request for the UpdateStackInstances operation. The "output" return
  3610. // value will be populated with the request's response once the request completes
  3611. // successfully.
  3612. //
  3613. // Use "Send" method on the returned Request to send the API call to the service.
  3614. // the "output" return value is not valid until after Send returns without error.
  3615. //
  3616. // See UpdateStackInstances for more information on using the UpdateStackInstances
  3617. // API call, and error handling.
  3618. //
  3619. // This method is useful when you want to inject custom logic or configuration
  3620. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3621. //
  3622. //
  3623. // // Example sending a request using the UpdateStackInstancesRequest method.
  3624. // req, resp := client.UpdateStackInstancesRequest(params)
  3625. //
  3626. // err := req.Send()
  3627. // if err == nil { // resp is now filled
  3628. // fmt.Println(resp)
  3629. // }
  3630. //
  3631. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances
  3632. func (c *CloudFormation) UpdateStackInstancesRequest(input *UpdateStackInstancesInput) (req *request.Request, output *UpdateStackInstancesOutput) {
  3633. op := &request.Operation{
  3634. Name: opUpdateStackInstances,
  3635. HTTPMethod: "POST",
  3636. HTTPPath: "/",
  3637. }
  3638. if input == nil {
  3639. input = &UpdateStackInstancesInput{}
  3640. }
  3641. output = &UpdateStackInstancesOutput{}
  3642. req = c.newRequest(op, input, output)
  3643. return
  3644. }
  3645. // UpdateStackInstances API operation for AWS CloudFormation.
  3646. //
  3647. // Updates the parameter values for stack instances for the specified accounts,
  3648. // within the specified regions. A stack instance refers to a stack in a specific
  3649. // account and region.
  3650. //
  3651. // You can only update stack instances in regions and accounts where they already
  3652. // exist; to create additional stack instances, use CreateStackInstances (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html).
  3653. //
  3654. // During stack set updates, any parameters overridden for a stack instance
  3655. // are not updated, but retain their overridden value.
  3656. //
  3657. // You can only update the parameter values that are specified in the stack
  3658. // set; to add or delete a parameter itself, use UpdateStackSet (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)
  3659. // to update the stack set template. If you add a parameter to a template, before
  3660. // you can override the parameter value specified in the stack set you must
  3661. // first use UpdateStackSet (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)
  3662. // to update all stack instances with the updated template and parameter value
  3663. // specified in the stack set. Once a stack instance has been updated with the
  3664. // new parameter, you can then override the parameter value using UpdateStackInstances.
  3665. //
  3666. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3667. // with awserr.Error's Code and Message methods to get detailed information about
  3668. // the error.
  3669. //
  3670. // See the AWS API reference guide for AWS CloudFormation's
  3671. // API operation UpdateStackInstances for usage and error information.
  3672. //
  3673. // Returned Error Codes:
  3674. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  3675. // The specified stack set doesn't exist.
  3676. //
  3677. // * ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException"
  3678. // The specified stack instance doesn't exist.
  3679. //
  3680. // * ErrCodeOperationInProgressException "OperationInProgressException"
  3681. // Another operation is currently in progress for this stack set. Only one operation
  3682. // can be performed for a stack set at a given time.
  3683. //
  3684. // * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException"
  3685. // The specified operation ID already exists.
  3686. //
  3687. // * ErrCodeStaleRequestException "StaleRequestException"
  3688. // Another operation has been performed on this stack set since the specified
  3689. // operation was performed.
  3690. //
  3691. // * ErrCodeInvalidOperationException "InvalidOperationException"
  3692. // The specified operation isn't valid.
  3693. //
  3694. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances
  3695. func (c *CloudFormation) UpdateStackInstances(input *UpdateStackInstancesInput) (*UpdateStackInstancesOutput, error) {
  3696. req, out := c.UpdateStackInstancesRequest(input)
  3697. return out, req.Send()
  3698. }
  3699. // UpdateStackInstancesWithContext is the same as UpdateStackInstances with the addition of
  3700. // the ability to pass a context and additional request options.
  3701. //
  3702. // See UpdateStackInstances for details on how to use this API operation.
  3703. //
  3704. // The context must be non-nil and will be used for request cancellation. If
  3705. // the context is nil a panic will occur. In the future the SDK may create
  3706. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3707. // for more information on using Contexts.
  3708. func (c *CloudFormation) UpdateStackInstancesWithContext(ctx aws.Context, input *UpdateStackInstancesInput, opts ...request.Option) (*UpdateStackInstancesOutput, error) {
  3709. req, out := c.UpdateStackInstancesRequest(input)
  3710. req.SetContext(ctx)
  3711. req.ApplyOptions(opts...)
  3712. return out, req.Send()
  3713. }
  3714. const opUpdateStackSet = "UpdateStackSet"
  3715. // UpdateStackSetRequest generates a "aws/request.Request" representing the
  3716. // client's request for the UpdateStackSet operation. The "output" return
  3717. // value will be populated with the request's response once the request completes
  3718. // successfully.
  3719. //
  3720. // Use "Send" method on the returned Request to send the API call to the service.
  3721. // the "output" return value is not valid until after Send returns without error.
  3722. //
  3723. // See UpdateStackSet for more information on using the UpdateStackSet
  3724. // API call, and error handling.
  3725. //
  3726. // This method is useful when you want to inject custom logic or configuration
  3727. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3728. //
  3729. //
  3730. // // Example sending a request using the UpdateStackSetRequest method.
  3731. // req, resp := client.UpdateStackSetRequest(params)
  3732. //
  3733. // err := req.Send()
  3734. // if err == nil { // resp is now filled
  3735. // fmt.Println(resp)
  3736. // }
  3737. //
  3738. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet
  3739. func (c *CloudFormation) UpdateStackSetRequest(input *UpdateStackSetInput) (req *request.Request, output *UpdateStackSetOutput) {
  3740. op := &request.Operation{
  3741. Name: opUpdateStackSet,
  3742. HTTPMethod: "POST",
  3743. HTTPPath: "/",
  3744. }
  3745. if input == nil {
  3746. input = &UpdateStackSetInput{}
  3747. }
  3748. output = &UpdateStackSetOutput{}
  3749. req = c.newRequest(op, input, output)
  3750. return
  3751. }
  3752. // UpdateStackSet API operation for AWS CloudFormation.
  3753. //
  3754. // Updates the stack set, and associated stack instances in the specified accounts
  3755. // and regions.
  3756. //
  3757. // Even if the stack set operation created by updating the stack set fails (completely
  3758. // or partially, below or above a specified failure tolerance), the stack set
  3759. // is updated with your changes. Subsequent CreateStackInstances calls on the
  3760. // specified stack set use the updated stack set.
  3761. //
  3762. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3763. // with awserr.Error's Code and Message methods to get detailed information about
  3764. // the error.
  3765. //
  3766. // See the AWS API reference guide for AWS CloudFormation's
  3767. // API operation UpdateStackSet for usage and error information.
  3768. //
  3769. // Returned Error Codes:
  3770. // * ErrCodeStackSetNotFoundException "StackSetNotFoundException"
  3771. // The specified stack set doesn't exist.
  3772. //
  3773. // * ErrCodeOperationInProgressException "OperationInProgressException"
  3774. // Another operation is currently in progress for this stack set. Only one operation
  3775. // can be performed for a stack set at a given time.
  3776. //
  3777. // * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException"
  3778. // The specified operation ID already exists.
  3779. //
  3780. // * ErrCodeStaleRequestException "StaleRequestException"
  3781. // Another operation has been performed on this stack set since the specified
  3782. // operation was performed.
  3783. //
  3784. // * ErrCodeInvalidOperationException "InvalidOperationException"
  3785. // The specified operation isn't valid.
  3786. //
  3787. // * ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException"
  3788. // The specified stack instance doesn't exist.
  3789. //
  3790. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet
  3791. func (c *CloudFormation) UpdateStackSet(input *UpdateStackSetInput) (*UpdateStackSetOutput, error) {
  3792. req, out := c.UpdateStackSetRequest(input)
  3793. return out, req.Send()
  3794. }
  3795. // UpdateStackSetWithContext is the same as UpdateStackSet with the addition of
  3796. // the ability to pass a context and additional request options.
  3797. //
  3798. // See UpdateStackSet for details on how to use this API operation.
  3799. //
  3800. // The context must be non-nil and will be used for request cancellation. If
  3801. // the context is nil a panic will occur. In the future the SDK may create
  3802. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3803. // for more information on using Contexts.
  3804. func (c *CloudFormation) UpdateStackSetWithContext(ctx aws.Context, input *UpdateStackSetInput, opts ...request.Option) (*UpdateStackSetOutput, error) {
  3805. req, out := c.UpdateStackSetRequest(input)
  3806. req.SetContext(ctx)
  3807. req.ApplyOptions(opts...)
  3808. return out, req.Send()
  3809. }
  3810. const opUpdateTerminationProtection = "UpdateTerminationProtection"
  3811. // UpdateTerminationProtectionRequest generates a "aws/request.Request" representing the
  3812. // client's request for the UpdateTerminationProtection operation. The "output" return
  3813. // value will be populated with the request's response once the request completes
  3814. // successfully.
  3815. //
  3816. // Use "Send" method on the returned Request to send the API call to the service.
  3817. // the "output" return value is not valid until after Send returns without error.
  3818. //
  3819. // See UpdateTerminationProtection for more information on using the UpdateTerminationProtection
  3820. // API call, and error handling.
  3821. //
  3822. // This method is useful when you want to inject custom logic or configuration
  3823. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3824. //
  3825. //
  3826. // // Example sending a request using the UpdateTerminationProtectionRequest method.
  3827. // req, resp := client.UpdateTerminationProtectionRequest(params)
  3828. //
  3829. // err := req.Send()
  3830. // if err == nil { // resp is now filled
  3831. // fmt.Println(resp)
  3832. // }
  3833. //
  3834. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection
  3835. func (c *CloudFormation) UpdateTerminationProtectionRequest(input *UpdateTerminationProtectionInput) (req *request.Request, output *UpdateTerminationProtectionOutput) {
  3836. op := &request.Operation{
  3837. Name: opUpdateTerminationProtection,
  3838. HTTPMethod: "POST",
  3839. HTTPPath: "/",
  3840. }
  3841. if input == nil {
  3842. input = &UpdateTerminationProtectionInput{}
  3843. }
  3844. output = &UpdateTerminationProtectionOutput{}
  3845. req = c.newRequest(op, input, output)
  3846. return
  3847. }
  3848. // UpdateTerminationProtection API operation for AWS CloudFormation.
  3849. //
  3850. // Updates termination protection for the specified stack. If a user attempts
  3851. // to delete a stack with termination protection enabled, the operation fails
  3852. // and the stack remains unchanged. For more information, see Protecting a Stack
  3853. // From Being Deleted (AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)
  3854. // in the AWS CloudFormation User Guide.
  3855. //
  3856. // For nested stacks (AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html),
  3857. // termination protection is set on the root stack and cannot be changed directly
  3858. // on the nested stack.
  3859. //
  3860. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3861. // with awserr.Error's Code and Message methods to get detailed information about
  3862. // the error.
  3863. //
  3864. // See the AWS API reference guide for AWS CloudFormation's
  3865. // API operation UpdateTerminationProtection for usage and error information.
  3866. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection
  3867. func (c *CloudFormation) UpdateTerminationProtection(input *UpdateTerminationProtectionInput) (*UpdateTerminationProtectionOutput, error) {
  3868. req, out := c.UpdateTerminationProtectionRequest(input)
  3869. return out, req.Send()
  3870. }
  3871. // UpdateTerminationProtectionWithContext is the same as UpdateTerminationProtection with the addition of
  3872. // the ability to pass a context and additional request options.
  3873. //
  3874. // See UpdateTerminationProtection for details on how to use this API operation.
  3875. //
  3876. // The context must be non-nil and will be used for request cancellation. If
  3877. // the context is nil a panic will occur. In the future the SDK may create
  3878. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3879. // for more information on using Contexts.
  3880. func (c *CloudFormation) UpdateTerminationProtectionWithContext(ctx aws.Context, input *UpdateTerminationProtectionInput, opts ...request.Option) (*UpdateTerminationProtectionOutput, error) {
  3881. req, out := c.UpdateTerminationProtectionRequest(input)
  3882. req.SetContext(ctx)
  3883. req.ApplyOptions(opts...)
  3884. return out, req.Send()
  3885. }
  3886. const opValidateTemplate = "ValidateTemplate"
  3887. // ValidateTemplateRequest generates a "aws/request.Request" representing the
  3888. // client's request for the ValidateTemplate operation. The "output" return
  3889. // value will be populated with the request's response once the request completes
  3890. // successfully.
  3891. //
  3892. // Use "Send" method on the returned Request to send the API call to the service.
  3893. // the "output" return value is not valid until after Send returns without error.
  3894. //
  3895. // See ValidateTemplate for more information on using the ValidateTemplate
  3896. // API call, and error handling.
  3897. //
  3898. // This method is useful when you want to inject custom logic or configuration
  3899. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3900. //
  3901. //
  3902. // // Example sending a request using the ValidateTemplateRequest method.
  3903. // req, resp := client.ValidateTemplateRequest(params)
  3904. //
  3905. // err := req.Send()
  3906. // if err == nil { // resp is now filled
  3907. // fmt.Println(resp)
  3908. // }
  3909. //
  3910. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate
  3911. func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) (req *request.Request, output *ValidateTemplateOutput) {
  3912. op := &request.Operation{
  3913. Name: opValidateTemplate,
  3914. HTTPMethod: "POST",
  3915. HTTPPath: "/",
  3916. }
  3917. if input == nil {
  3918. input = &ValidateTemplateInput{}
  3919. }
  3920. output = &ValidateTemplateOutput{}
  3921. req = c.newRequest(op, input, output)
  3922. return
  3923. }
  3924. // ValidateTemplate API operation for AWS CloudFormation.
  3925. //
  3926. // Validates a specified template. AWS CloudFormation first checks if the template
  3927. // is valid JSON. If it isn't, AWS CloudFormation checks if the template is
  3928. // valid YAML. If both these checks fail, AWS CloudFormation returns a template
  3929. // validation error.
  3930. //
  3931. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3932. // with awserr.Error's Code and Message methods to get detailed information about
  3933. // the error.
  3934. //
  3935. // See the AWS API reference guide for AWS CloudFormation's
  3936. // API operation ValidateTemplate for usage and error information.
  3937. // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate
  3938. func (c *CloudFormation) ValidateTemplate(input *ValidateTemplateInput) (*ValidateTemplateOutput, error) {
  3939. req, out := c.ValidateTemplateRequest(input)
  3940. return out, req.Send()
  3941. }
  3942. // ValidateTemplateWithContext is the same as ValidateTemplate with the addition of
  3943. // the ability to pass a context and additional request options.
  3944. //
  3945. // See ValidateTemplate for details on how to use this API operation.
  3946. //
  3947. // The context must be non-nil and will be used for request cancellation. If
  3948. // the context is nil a panic will occur. In the future the SDK may create
  3949. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3950. // for more information on using Contexts.
  3951. func (c *CloudFormation) ValidateTemplateWithContext(ctx aws.Context, input *ValidateTemplateInput, opts ...request.Option) (*ValidateTemplateOutput, error) {
  3952. req, out := c.ValidateTemplateRequest(input)
  3953. req.SetContext(ctx)
  3954. req.ApplyOptions(opts...)
  3955. return out, req.Send()
  3956. }
  3957. // Structure that contains the results of the account gate function which AWS
  3958. // CloudFormation invokes, if present, before proceeding with a stack set operation
  3959. // in an account and region.
  3960. //
  3961. // For each account and region, AWS CloudFormation lets you specify a Lamdba
  3962. // function that encapsulates any requirements that must be met before CloudFormation
  3963. // can proceed with a stack set operation in that account and region. CloudFormation
  3964. // invokes the function each time a stack set operation is requested for that
  3965. // account and region; if the function returns FAILED, CloudFormation cancels
  3966. // the operation in that account and region, and sets the stack set operation
  3967. // result status for that account and region to FAILED.
  3968. //
  3969. // For more information, see Configuring a target account gate (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html).
  3970. type AccountGateResult struct {
  3971. _ struct{} `type:"structure"`
  3972. // The status of the account gate function.
  3973. //
  3974. // * SUCCEEDED: The account gate function has determined that the account
  3975. // and region passes any requirements for a stack set operation to occur.
  3976. // AWS CloudFormation proceeds with the stack operation in that account and
  3977. // region.
  3978. //
  3979. // * FAILED: The account gate function has determined that the account and
  3980. // region does not meet the requirements for a stack set operation to occur.
  3981. // AWS CloudFormation cancels the stack set operation in that account and
  3982. // region, and sets the stack set operation result status for that account
  3983. // and region to FAILED.
  3984. //
  3985. // * SKIPPED: AWS CloudFormation has skipped calling the account gate function
  3986. // for this account and region, for one of the following reasons:
  3987. //
  3988. // An account gate function has not been specified for the account and region.
  3989. // AWS CloudFormation proceeds with the stack set operation in this account
  3990. // and region.
  3991. //
  3992. // The AWSCloudFormationStackSetExecutionRole of the stack set adminstration
  3993. // account lacks permissions to invoke the function. AWS CloudFormation proceeds
  3994. // with the stack set operation in this account and region.
  3995. //
  3996. // Either no action is necessary, or no action is possible, on the stack. AWS
  3997. // CloudFormation skips the stack set operation in this account and region.
  3998. Status *string `type:"string" enum:"AccountGateStatus"`
  3999. // The reason for the account gate status assigned to this account and region
  4000. // for the stack set operation.
  4001. StatusReason *string `type:"string"`
  4002. }
  4003. // String returns the string representation
  4004. func (s AccountGateResult) String() string {
  4005. return awsutil.Prettify(s)
  4006. }
  4007. // GoString returns the string representation
  4008. func (s AccountGateResult) GoString() string {
  4009. return s.String()
  4010. }
  4011. // SetStatus sets the Status field's value.
  4012. func (s *AccountGateResult) SetStatus(v string) *AccountGateResult {
  4013. s.Status = &v
  4014. return s
  4015. }
  4016. // SetStatusReason sets the StatusReason field's value.
  4017. func (s *AccountGateResult) SetStatusReason(v string) *AccountGateResult {
  4018. s.StatusReason = &v
  4019. return s
  4020. }
  4021. // The AccountLimit data type.
  4022. type AccountLimit struct {
  4023. _ struct{} `type:"structure"`
  4024. // The name of the account limit. Currently, the only account limit is StackLimit.
  4025. Name *string `type:"string"`
  4026. // The value that is associated with the account limit name.
  4027. Value *int64 `type:"integer"`
  4028. }
  4029. // String returns the string representation
  4030. func (s AccountLimit) String() string {
  4031. return awsutil.Prettify(s)
  4032. }
  4033. // GoString returns the string representation
  4034. func (s AccountLimit) GoString() string {
  4035. return s.String()
  4036. }
  4037. // SetName sets the Name field's value.
  4038. func (s *AccountLimit) SetName(v string) *AccountLimit {
  4039. s.Name = &v
  4040. return s
  4041. }
  4042. // SetValue sets the Value field's value.
  4043. func (s *AccountLimit) SetValue(v int64) *AccountLimit {
  4044. s.Value = &v
  4045. return s
  4046. }
  4047. // The input for the CancelUpdateStack action.
  4048. type CancelUpdateStackInput struct {
  4049. _ struct{} `type:"structure"`
  4050. // A unique identifier for this CancelUpdateStack request. Specify this token
  4051. // if you plan to retry requests so that AWS CloudFormation knows that you're
  4052. // not attempting to cancel an update on a stack with the same name. You might
  4053. // retry CancelUpdateStack requests to ensure that AWS CloudFormation successfully
  4054. // received them.
  4055. ClientRequestToken *string `min:"1" type:"string"`
  4056. // The name or the unique stack ID that is associated with the stack.
  4057. //
  4058. // StackName is a required field
  4059. StackName *string `type:"string" required:"true"`
  4060. }
  4061. // String returns the string representation
  4062. func (s CancelUpdateStackInput) String() string {
  4063. return awsutil.Prettify(s)
  4064. }
  4065. // GoString returns the string representation
  4066. func (s CancelUpdateStackInput) GoString() string {
  4067. return s.String()
  4068. }
  4069. // Validate inspects the fields of the type to determine if they are valid.
  4070. func (s *CancelUpdateStackInput) Validate() error {
  4071. invalidParams := request.ErrInvalidParams{Context: "CancelUpdateStackInput"}
  4072. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4073. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4074. }
  4075. if s.StackName == nil {
  4076. invalidParams.Add(request.NewErrParamRequired("StackName"))
  4077. }
  4078. if invalidParams.Len() > 0 {
  4079. return invalidParams
  4080. }
  4081. return nil
  4082. }
  4083. // SetClientRequestToken sets the ClientRequestToken field's value.
  4084. func (s *CancelUpdateStackInput) SetClientRequestToken(v string) *CancelUpdateStackInput {
  4085. s.ClientRequestToken = &v
  4086. return s
  4087. }
  4088. // SetStackName sets the StackName field's value.
  4089. func (s *CancelUpdateStackInput) SetStackName(v string) *CancelUpdateStackInput {
  4090. s.StackName = &v
  4091. return s
  4092. }
  4093. type CancelUpdateStackOutput struct {
  4094. _ struct{} `type:"structure"`
  4095. }
  4096. // String returns the string representation
  4097. func (s CancelUpdateStackOutput) String() string {
  4098. return awsutil.Prettify(s)
  4099. }
  4100. // GoString returns the string representation
  4101. func (s CancelUpdateStackOutput) GoString() string {
  4102. return s.String()
  4103. }
  4104. // The Change structure describes the changes AWS CloudFormation will perform
  4105. // if you execute the change set.
  4106. type Change struct {
  4107. _ struct{} `type:"structure"`
  4108. // A ResourceChange structure that describes the resource and action that AWS
  4109. // CloudFormation will perform.
  4110. ResourceChange *ResourceChange `type:"structure"`
  4111. // The type of entity that AWS CloudFormation changes. Currently, the only entity
  4112. // type is Resource.
  4113. Type *string `type:"string" enum:"ChangeType"`
  4114. }
  4115. // String returns the string representation
  4116. func (s Change) String() string {
  4117. return awsutil.Prettify(s)
  4118. }
  4119. // GoString returns the string representation
  4120. func (s Change) GoString() string {
  4121. return s.String()
  4122. }
  4123. // SetResourceChange sets the ResourceChange field's value.
  4124. func (s *Change) SetResourceChange(v *ResourceChange) *Change {
  4125. s.ResourceChange = v
  4126. return s
  4127. }
  4128. // SetType sets the Type field's value.
  4129. func (s *Change) SetType(v string) *Change {
  4130. s.Type = &v
  4131. return s
  4132. }
  4133. // The ChangeSetSummary structure describes a change set, its status, and the
  4134. // stack with which it's associated.
  4135. type ChangeSetSummary struct {
  4136. _ struct{} `type:"structure"`
  4137. // The ID of the change set.
  4138. ChangeSetId *string `min:"1" type:"string"`
  4139. // The name of the change set.
  4140. ChangeSetName *string `min:"1" type:"string"`
  4141. // The start time when the change set was created, in UTC.
  4142. CreationTime *time.Time `type:"timestamp"`
  4143. // Descriptive information about the change set.
  4144. Description *string `min:"1" type:"string"`
  4145. // If the change set execution status is AVAILABLE, you can execute the change
  4146. // set. If you can’t execute the change set, the status indicates why. For example,
  4147. // a change set might be in an UNAVAILABLE state because AWS CloudFormation
  4148. // is still creating it or in an OBSOLETE state because the stack was already
  4149. // updated.
  4150. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"`
  4151. // The ID of the stack with which the change set is associated.
  4152. StackId *string `type:"string"`
  4153. // The name of the stack with which the change set is associated.
  4154. StackName *string `type:"string"`
  4155. // The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE,
  4156. // or FAILED.
  4157. Status *string `type:"string" enum:"ChangeSetStatus"`
  4158. // A description of the change set's status. For example, if your change set
  4159. // is in the FAILED state, AWS CloudFormation shows the error message.
  4160. StatusReason *string `type:"string"`
  4161. }
  4162. // String returns the string representation
  4163. func (s ChangeSetSummary) String() string {
  4164. return awsutil.Prettify(s)
  4165. }
  4166. // GoString returns the string representation
  4167. func (s ChangeSetSummary) GoString() string {
  4168. return s.String()
  4169. }
  4170. // SetChangeSetId sets the ChangeSetId field's value.
  4171. func (s *ChangeSetSummary) SetChangeSetId(v string) *ChangeSetSummary {
  4172. s.ChangeSetId = &v
  4173. return s
  4174. }
  4175. // SetChangeSetName sets the ChangeSetName field's value.
  4176. func (s *ChangeSetSummary) SetChangeSetName(v string) *ChangeSetSummary {
  4177. s.ChangeSetName = &v
  4178. return s
  4179. }
  4180. // SetCreationTime sets the CreationTime field's value.
  4181. func (s *ChangeSetSummary) SetCreationTime(v time.Time) *ChangeSetSummary {
  4182. s.CreationTime = &v
  4183. return s
  4184. }
  4185. // SetDescription sets the Description field's value.
  4186. func (s *ChangeSetSummary) SetDescription(v string) *ChangeSetSummary {
  4187. s.Description = &v
  4188. return s
  4189. }
  4190. // SetExecutionStatus sets the ExecutionStatus field's value.
  4191. func (s *ChangeSetSummary) SetExecutionStatus(v string) *ChangeSetSummary {
  4192. s.ExecutionStatus = &v
  4193. return s
  4194. }
  4195. // SetStackId sets the StackId field's value.
  4196. func (s *ChangeSetSummary) SetStackId(v string) *ChangeSetSummary {
  4197. s.StackId = &v
  4198. return s
  4199. }
  4200. // SetStackName sets the StackName field's value.
  4201. func (s *ChangeSetSummary) SetStackName(v string) *ChangeSetSummary {
  4202. s.StackName = &v
  4203. return s
  4204. }
  4205. // SetStatus sets the Status field's value.
  4206. func (s *ChangeSetSummary) SetStatus(v string) *ChangeSetSummary {
  4207. s.Status = &v
  4208. return s
  4209. }
  4210. // SetStatusReason sets the StatusReason field's value.
  4211. func (s *ChangeSetSummary) SetStatusReason(v string) *ChangeSetSummary {
  4212. s.StatusReason = &v
  4213. return s
  4214. }
  4215. // The input for the ContinueUpdateRollback action.
  4216. type ContinueUpdateRollbackInput struct {
  4217. _ struct{} `type:"structure"`
  4218. // A unique identifier for this ContinueUpdateRollback request. Specify this
  4219. // token if you plan to retry requests so that AWS CloudFormation knows that
  4220. // you're not attempting to continue the rollback to a stack with the same name.
  4221. // You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation
  4222. // successfully received them.
  4223. ClientRequestToken *string `min:"1" type:"string"`
  4224. // A list of the logical IDs of the resources that AWS CloudFormation skips
  4225. // during the continue update rollback operation. You can specify only resources
  4226. // that are in the UPDATE_FAILED state because a rollback failed. You can't
  4227. // specify resources that are in the UPDATE_FAILED state for other reasons,
  4228. // for example, because an update was cancelled. To check why a resource update
  4229. // failed, use the DescribeStackResources action, and view the resource status
  4230. // reason.
  4231. //
  4232. // Specify this property to skip rolling back resources that AWS CloudFormation
  4233. // can't successfully roll back. We recommend that you troubleshoot (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed)
  4234. // resources before skipping them. AWS CloudFormation sets the status of the
  4235. // specified resources to UPDATE_COMPLETE and continues to roll back the stack.
  4236. // After the rollback is complete, the state of the skipped resources will be
  4237. // inconsistent with the state of the resources in the stack template. Before
  4238. // performing another stack update, you must update the stack or resources to
  4239. // be consistent with each other. If you don't, subsequent stack updates might
  4240. // fail, and the stack will become unrecoverable.
  4241. //
  4242. // Specify the minimum number of resources required to successfully roll back
  4243. // your stack. For example, a failed resource update might cause dependent resources
  4244. // to fail. In this case, it might not be necessary to skip the dependent resources.
  4245. //
  4246. // To skip resources that are part of nested stacks, use the following format:
  4247. // NestedStackName.ResourceLogicalID. If you want to specify the logical ID
  4248. // of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip
  4249. // list, then its corresponding embedded stack must be in one of the following
  4250. // states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.
  4251. //
  4252. // Don't confuse a child stack's name with its corresponding logical ID defined
  4253. // in the parent stack. For an example of a continue update rollback operation
  4254. // with nested stacks, see Using ResourcesToSkip to recover a nested stacks
  4255. // hierarchy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html#nested-stacks).
  4256. ResourcesToSkip []*string `type:"list"`
  4257. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  4258. // role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation
  4259. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  4260. // always uses this role for all future operations on the stack. As long as
  4261. // users have permission to operate on the stack, AWS CloudFormation uses this
  4262. // role even if the users don't have permission to pass it. Ensure that the
  4263. // role grants least privilege.
  4264. //
  4265. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  4266. // associated with the stack. If no role is available, AWS CloudFormation uses
  4267. // a temporary session that is generated from your user credentials.
  4268. RoleARN *string `min:"20" type:"string"`
  4269. // The name or the unique ID of the stack that you want to continue rolling
  4270. // back.
  4271. //
  4272. // Don't specify the name of a nested stack (a stack that was created by using
  4273. // the AWS::CloudFormation::Stack resource). Instead, use this operation on
  4274. // the parent stack (the stack that contains the AWS::CloudFormation::Stack
  4275. // resource).
  4276. //
  4277. // StackName is a required field
  4278. StackName *string `min:"1" type:"string" required:"true"`
  4279. }
  4280. // String returns the string representation
  4281. func (s ContinueUpdateRollbackInput) String() string {
  4282. return awsutil.Prettify(s)
  4283. }
  4284. // GoString returns the string representation
  4285. func (s ContinueUpdateRollbackInput) GoString() string {
  4286. return s.String()
  4287. }
  4288. // Validate inspects the fields of the type to determine if they are valid.
  4289. func (s *ContinueUpdateRollbackInput) Validate() error {
  4290. invalidParams := request.ErrInvalidParams{Context: "ContinueUpdateRollbackInput"}
  4291. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4292. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4293. }
  4294. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  4295. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  4296. }
  4297. if s.StackName == nil {
  4298. invalidParams.Add(request.NewErrParamRequired("StackName"))
  4299. }
  4300. if s.StackName != nil && len(*s.StackName) < 1 {
  4301. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  4302. }
  4303. if invalidParams.Len() > 0 {
  4304. return invalidParams
  4305. }
  4306. return nil
  4307. }
  4308. // SetClientRequestToken sets the ClientRequestToken field's value.
  4309. func (s *ContinueUpdateRollbackInput) SetClientRequestToken(v string) *ContinueUpdateRollbackInput {
  4310. s.ClientRequestToken = &v
  4311. return s
  4312. }
  4313. // SetResourcesToSkip sets the ResourcesToSkip field's value.
  4314. func (s *ContinueUpdateRollbackInput) SetResourcesToSkip(v []*string) *ContinueUpdateRollbackInput {
  4315. s.ResourcesToSkip = v
  4316. return s
  4317. }
  4318. // SetRoleARN sets the RoleARN field's value.
  4319. func (s *ContinueUpdateRollbackInput) SetRoleARN(v string) *ContinueUpdateRollbackInput {
  4320. s.RoleARN = &v
  4321. return s
  4322. }
  4323. // SetStackName sets the StackName field's value.
  4324. func (s *ContinueUpdateRollbackInput) SetStackName(v string) *ContinueUpdateRollbackInput {
  4325. s.StackName = &v
  4326. return s
  4327. }
  4328. // The output for a ContinueUpdateRollback action.
  4329. type ContinueUpdateRollbackOutput struct {
  4330. _ struct{} `type:"structure"`
  4331. }
  4332. // String returns the string representation
  4333. func (s ContinueUpdateRollbackOutput) String() string {
  4334. return awsutil.Prettify(s)
  4335. }
  4336. // GoString returns the string representation
  4337. func (s ContinueUpdateRollbackOutput) GoString() string {
  4338. return s.String()
  4339. }
  4340. // The input for the CreateChangeSet action.
  4341. type CreateChangeSetInput struct {
  4342. _ struct{} `type:"structure"`
  4343. // In some cases, you must explicity acknowledge that your stack template contains
  4344. // certain capabilities in order for AWS CloudFormation to create the stack.
  4345. //
  4346. // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM
  4347. //
  4348. // Some stack templates might include resources that can affect permissions
  4349. // in your AWS account; for example, by creating new AWS Identity and Access
  4350. // Management (IAM) users. For those stacks, you must explicitly acknowledge
  4351. // this by specifying one of these capabilities.
  4352. //
  4353. // The following IAM resources require you to specify either the CAPABILITY_IAM
  4354. // or CAPABILITY_NAMED_IAM capability.
  4355. //
  4356. // If you have IAM resources, you can specify either capability.
  4357. //
  4358. // If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.
  4359. //
  4360. //
  4361. // If you don't specify either of these capabilities, AWS CloudFormation returns
  4362. // an InsufficientCapabilities error.
  4363. //
  4364. // If your stack template contains these resources, we recommend that you review
  4365. // all permissions associated with them and edit their permissions if necessary.
  4366. //
  4367. // AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html)
  4368. //
  4369. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)
  4370. //
  4371. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)
  4372. //
  4373. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)
  4374. //
  4375. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)
  4376. //
  4377. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html)
  4378. //
  4379. // AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html)
  4380. //
  4381. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  4382. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  4383. //
  4384. // * CAPABILITY_AUTO_EXPAND
  4385. //
  4386. // Some template contain macros. Macros perform custom processing on templates;
  4387. // this can include simple actions like find-and-replace operations, all
  4388. // the way to extensive transformations of entire templates. Because of this,
  4389. // users typically create a change set from the processed template, so that
  4390. // they can review the changes resulting from the macros before actually
  4391. // creating the stack. If your stack template contains one or more macros,
  4392. // and you choose to create a stack directly from the processed template,
  4393. // without first reviewing the resulting changes in a change set, you must
  4394. // acknowledge this capability. This includes the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
  4395. // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
  4396. // transforms, which are macros hosted by AWS CloudFormation.
  4397. //
  4398. // This capacity does not apply to creating change sets, and specifying it when
  4399. // creating change sets has no effect.
  4400. //
  4401. // Also, change sets do not currently support nested stacks. If you want to
  4402. // create a stack from a stack template that contains macros and nested stacks,
  4403. // you must create or update the stack directly from the template using the
  4404. // CreateStack or UpdateStack action, and specifying this capability.
  4405. //
  4406. // For more information on macros, see Using AWS CloudFormation Macros to Perform
  4407. // Custom Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
  4408. Capabilities []*string `type:"list"`
  4409. // The name of the change set. The name must be unique among all change sets
  4410. // that are associated with the specified stack.
  4411. //
  4412. // A change set name can contain only alphanumeric, case sensitive characters
  4413. // and hyphens. It must start with an alphabetic character and cannot exceed
  4414. // 128 characters.
  4415. //
  4416. // ChangeSetName is a required field
  4417. ChangeSetName *string `min:"1" type:"string" required:"true"`
  4418. // The type of change set operation. To create a change set for a new stack,
  4419. // specify CREATE. To create a change set for an existing stack, specify UPDATE.
  4420. //
  4421. // If you create a change set for a new stack, AWS Cloudformation creates a
  4422. // stack with a unique stack ID, but no template or resources. The stack will
  4423. // be in the REVIEW_IN_PROGRESS (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995)
  4424. // state until you execute the change set.
  4425. //
  4426. // By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE
  4427. // type to create a change set for a new stack or the CREATE type to create
  4428. // a change set for an existing stack.
  4429. ChangeSetType *string `type:"string" enum:"ChangeSetType"`
  4430. // A unique identifier for this CreateChangeSet request. Specify this token
  4431. // if you plan to retry requests so that AWS CloudFormation knows that you're
  4432. // not attempting to create another change set with the same name. You might
  4433. // retry CreateChangeSet requests to ensure that AWS CloudFormation successfully
  4434. // received them.
  4435. ClientToken *string `min:"1" type:"string"`
  4436. // A description to help you identify this change set.
  4437. Description *string `min:"1" type:"string"`
  4438. // The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon
  4439. // SNS) topics that AWS CloudFormation associates with the stack. To remove
  4440. // all associated notification topics, specify an empty list.
  4441. NotificationARNs []*string `type:"list"`
  4442. // A list of Parameter structures that specify input parameters for the change
  4443. // set. For more information, see the Parameter data type.
  4444. Parameters []*Parameter `type:"list"`
  4445. // The template resource types that you have permissions to work with if you
  4446. // execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  4447. //
  4448. // If the list of resource types doesn't include a resource type that you're
  4449. // updating, the stack update fails. By default, AWS CloudFormation grants permissions
  4450. // to all resource types. AWS Identity and Access Management (IAM) uses this
  4451. // parameter for condition keys in IAM policies for AWS CloudFormation. For
  4452. // more information, see Controlling Access with AWS Identity and Access Management
  4453. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
  4454. // in the AWS CloudFormation User Guide.
  4455. ResourceTypes []*string `type:"list"`
  4456. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  4457. // role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation
  4458. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  4459. // uses this role for all future operations on the stack. As long as users have
  4460. // permission to operate on the stack, AWS CloudFormation uses this role even
  4461. // if the users don't have permission to pass it. Ensure that the role grants
  4462. // least privilege.
  4463. //
  4464. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  4465. // associated with the stack. If no role is available, AWS CloudFormation uses
  4466. // a temporary session that is generated from your user credentials.
  4467. RoleARN *string `min:"20" type:"string"`
  4468. // The rollback triggers for AWS CloudFormation to monitor during stack creation
  4469. // and updating operations, and for the specified monitoring period afterwards.
  4470. RollbackConfiguration *RollbackConfiguration `type:"structure"`
  4471. // The name or the unique ID of the stack for which you are creating a change
  4472. // set. AWS CloudFormation generates the change set by comparing this stack's
  4473. // information with the information that you submit, such as a modified template
  4474. // or different parameter input values.
  4475. //
  4476. // StackName is a required field
  4477. StackName *string `min:"1" type:"string" required:"true"`
  4478. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  4479. // these tags to resources in the stack. You can specify a maximum of 50 tags.
  4480. Tags []*Tag `type:"list"`
  4481. // A structure that contains the body of the revised template, with a minimum
  4482. // length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation
  4483. // generates the change set by comparing this template with the template of
  4484. // the stack that you specified.
  4485. //
  4486. // Conditional: You must specify only TemplateBody or TemplateURL.
  4487. TemplateBody *string `min:"1" type:"string"`
  4488. // The location of the file that contains the revised template. The URL must
  4489. // point to a template (max size: 460,800 bytes) that is located in an S3 bucket.
  4490. // AWS CloudFormation generates the change set by comparing this template with
  4491. // the stack that you specified.
  4492. //
  4493. // Conditional: You must specify only TemplateBody or TemplateURL.
  4494. TemplateURL *string `min:"1" type:"string"`
  4495. // Whether to reuse the template that is associated with the stack to create
  4496. // the change set.
  4497. UsePreviousTemplate *bool `type:"boolean"`
  4498. }
  4499. // String returns the string representation
  4500. func (s CreateChangeSetInput) String() string {
  4501. return awsutil.Prettify(s)
  4502. }
  4503. // GoString returns the string representation
  4504. func (s CreateChangeSetInput) GoString() string {
  4505. return s.String()
  4506. }
  4507. // Validate inspects the fields of the type to determine if they are valid.
  4508. func (s *CreateChangeSetInput) Validate() error {
  4509. invalidParams := request.ErrInvalidParams{Context: "CreateChangeSetInput"}
  4510. if s.ChangeSetName == nil {
  4511. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  4512. }
  4513. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  4514. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  4515. }
  4516. if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  4517. invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  4518. }
  4519. if s.Description != nil && len(*s.Description) < 1 {
  4520. invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  4521. }
  4522. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  4523. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  4524. }
  4525. if s.StackName == nil {
  4526. invalidParams.Add(request.NewErrParamRequired("StackName"))
  4527. }
  4528. if s.StackName != nil && len(*s.StackName) < 1 {
  4529. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  4530. }
  4531. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  4532. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  4533. }
  4534. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  4535. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  4536. }
  4537. if s.RollbackConfiguration != nil {
  4538. if err := s.RollbackConfiguration.Validate(); err != nil {
  4539. invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams))
  4540. }
  4541. }
  4542. if s.Tags != nil {
  4543. for i, v := range s.Tags {
  4544. if v == nil {
  4545. continue
  4546. }
  4547. if err := v.Validate(); err != nil {
  4548. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4549. }
  4550. }
  4551. }
  4552. if invalidParams.Len() > 0 {
  4553. return invalidParams
  4554. }
  4555. return nil
  4556. }
  4557. // SetCapabilities sets the Capabilities field's value.
  4558. func (s *CreateChangeSetInput) SetCapabilities(v []*string) *CreateChangeSetInput {
  4559. s.Capabilities = v
  4560. return s
  4561. }
  4562. // SetChangeSetName sets the ChangeSetName field's value.
  4563. func (s *CreateChangeSetInput) SetChangeSetName(v string) *CreateChangeSetInput {
  4564. s.ChangeSetName = &v
  4565. return s
  4566. }
  4567. // SetChangeSetType sets the ChangeSetType field's value.
  4568. func (s *CreateChangeSetInput) SetChangeSetType(v string) *CreateChangeSetInput {
  4569. s.ChangeSetType = &v
  4570. return s
  4571. }
  4572. // SetClientToken sets the ClientToken field's value.
  4573. func (s *CreateChangeSetInput) SetClientToken(v string) *CreateChangeSetInput {
  4574. s.ClientToken = &v
  4575. return s
  4576. }
  4577. // SetDescription sets the Description field's value.
  4578. func (s *CreateChangeSetInput) SetDescription(v string) *CreateChangeSetInput {
  4579. s.Description = &v
  4580. return s
  4581. }
  4582. // SetNotificationARNs sets the NotificationARNs field's value.
  4583. func (s *CreateChangeSetInput) SetNotificationARNs(v []*string) *CreateChangeSetInput {
  4584. s.NotificationARNs = v
  4585. return s
  4586. }
  4587. // SetParameters sets the Parameters field's value.
  4588. func (s *CreateChangeSetInput) SetParameters(v []*Parameter) *CreateChangeSetInput {
  4589. s.Parameters = v
  4590. return s
  4591. }
  4592. // SetResourceTypes sets the ResourceTypes field's value.
  4593. func (s *CreateChangeSetInput) SetResourceTypes(v []*string) *CreateChangeSetInput {
  4594. s.ResourceTypes = v
  4595. return s
  4596. }
  4597. // SetRoleARN sets the RoleARN field's value.
  4598. func (s *CreateChangeSetInput) SetRoleARN(v string) *CreateChangeSetInput {
  4599. s.RoleARN = &v
  4600. return s
  4601. }
  4602. // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  4603. func (s *CreateChangeSetInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateChangeSetInput {
  4604. s.RollbackConfiguration = v
  4605. return s
  4606. }
  4607. // SetStackName sets the StackName field's value.
  4608. func (s *CreateChangeSetInput) SetStackName(v string) *CreateChangeSetInput {
  4609. s.StackName = &v
  4610. return s
  4611. }
  4612. // SetTags sets the Tags field's value.
  4613. func (s *CreateChangeSetInput) SetTags(v []*Tag) *CreateChangeSetInput {
  4614. s.Tags = v
  4615. return s
  4616. }
  4617. // SetTemplateBody sets the TemplateBody field's value.
  4618. func (s *CreateChangeSetInput) SetTemplateBody(v string) *CreateChangeSetInput {
  4619. s.TemplateBody = &v
  4620. return s
  4621. }
  4622. // SetTemplateURL sets the TemplateURL field's value.
  4623. func (s *CreateChangeSetInput) SetTemplateURL(v string) *CreateChangeSetInput {
  4624. s.TemplateURL = &v
  4625. return s
  4626. }
  4627. // SetUsePreviousTemplate sets the UsePreviousTemplate field's value.
  4628. func (s *CreateChangeSetInput) SetUsePreviousTemplate(v bool) *CreateChangeSetInput {
  4629. s.UsePreviousTemplate = &v
  4630. return s
  4631. }
  4632. // The output for the CreateChangeSet action.
  4633. type CreateChangeSetOutput struct {
  4634. _ struct{} `type:"structure"`
  4635. // The Amazon Resource Name (ARN) of the change set.
  4636. Id *string `min:"1" type:"string"`
  4637. // The unique ID of the stack.
  4638. StackId *string `type:"string"`
  4639. }
  4640. // String returns the string representation
  4641. func (s CreateChangeSetOutput) String() string {
  4642. return awsutil.Prettify(s)
  4643. }
  4644. // GoString returns the string representation
  4645. func (s CreateChangeSetOutput) GoString() string {
  4646. return s.String()
  4647. }
  4648. // SetId sets the Id field's value.
  4649. func (s *CreateChangeSetOutput) SetId(v string) *CreateChangeSetOutput {
  4650. s.Id = &v
  4651. return s
  4652. }
  4653. // SetStackId sets the StackId field's value.
  4654. func (s *CreateChangeSetOutput) SetStackId(v string) *CreateChangeSetOutput {
  4655. s.StackId = &v
  4656. return s
  4657. }
  4658. // The input for CreateStack action.
  4659. type CreateStackInput struct {
  4660. _ struct{} `type:"structure"`
  4661. // In some cases, you must explicity acknowledge that your stack template contains
  4662. // certain capabilities in order for AWS CloudFormation to create the stack.
  4663. //
  4664. // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM
  4665. //
  4666. // Some stack templates might include resources that can affect permissions
  4667. // in your AWS account; for example, by creating new AWS Identity and Access
  4668. // Management (IAM) users. For those stacks, you must explicitly acknowledge
  4669. // this by specifying one of these capabilities.
  4670. //
  4671. // The following IAM resources require you to specify either the CAPABILITY_IAM
  4672. // or CAPABILITY_NAMED_IAM capability.
  4673. //
  4674. // If you have IAM resources, you can specify either capability.
  4675. //
  4676. // If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.
  4677. //
  4678. //
  4679. // If you don't specify either of these capabilities, AWS CloudFormation returns
  4680. // an InsufficientCapabilities error.
  4681. //
  4682. // If your stack template contains these resources, we recommend that you review
  4683. // all permissions associated with them and edit their permissions if necessary.
  4684. //
  4685. // AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html)
  4686. //
  4687. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)
  4688. //
  4689. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)
  4690. //
  4691. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)
  4692. //
  4693. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)
  4694. //
  4695. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html)
  4696. //
  4697. // AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html)
  4698. //
  4699. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  4700. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  4701. //
  4702. // * CAPABILITY_AUTO_EXPAND
  4703. //
  4704. // Some template contain macros. Macros perform custom processing on templates;
  4705. // this can include simple actions like find-and-replace operations, all
  4706. // the way to extensive transformations of entire templates. Because of this,
  4707. // users typically create a change set from the processed template, so that
  4708. // they can review the changes resulting from the macros before actually
  4709. // creating the stack. If your stack template contains one or more macros,
  4710. // and you choose to create a stack directly from the processed template,
  4711. // without first reviewing the resulting changes in a change set, you must
  4712. // acknowledge this capability. This includes the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
  4713. // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
  4714. // transforms, which are macros hosted by AWS CloudFormation.
  4715. //
  4716. // Change sets do not currently support nested stacks. If you want to create
  4717. // a stack from a stack template that contains macros and nested stacks,
  4718. // you must create the stack directly from the template using this capability.
  4719. //
  4720. // You should only create stacks directly from a stack template that contains
  4721. // macros if you know what processing the macro performs.
  4722. //
  4723. // Each macro relies on an underlying Lambda service function for processing
  4724. // stack templates. Be aware that the Lambda function owner can update the
  4725. // function operation without AWS CloudFormation being notified.
  4726. //
  4727. // For more information, see Using AWS CloudFormation Macros to Perform Custom
  4728. // Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
  4729. Capabilities []*string `type:"list"`
  4730. // A unique identifier for this CreateStack request. Specify this token if you
  4731. // plan to retry requests so that AWS CloudFormation knows that you're not attempting
  4732. // to create a stack with the same name. You might retry CreateStack requests
  4733. // to ensure that AWS CloudFormation successfully received them.
  4734. //
  4735. // All events triggered by a given stack operation are assigned the same client
  4736. // request token, which you can use to track operations. For example, if you
  4737. // execute a CreateStack operation with the token token1, then all the StackEvents
  4738. // generated by that operation will have ClientRequestToken set as token1.
  4739. //
  4740. // In the console, stack operations display the client request token on the
  4741. // Events tab. Stack operations that are initiated from the console use the
  4742. // token format Console-StackOperation-ID, which helps you easily identify the
  4743. // stack operation . For example, if you create a stack using the console, each
  4744. // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
  4745. ClientRequestToken *string `min:"1" type:"string"`
  4746. // Set to true to disable rollback of the stack if stack creation failed. You
  4747. // can specify either DisableRollback or OnFailure, but not both.
  4748. //
  4749. // Default: false
  4750. DisableRollback *bool `type:"boolean"`
  4751. // Whether to enable termination protection on the specified stack. If a user
  4752. // attempts to delete a stack with termination protection enabled, the operation
  4753. // fails and the stack remains unchanged. For more information, see Protecting
  4754. // a Stack From Being Deleted (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)
  4755. // in the AWS CloudFormation User Guide. Termination protection is disabled
  4756. // on stacks by default.
  4757. //
  4758. // For nested stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html),
  4759. // termination protection is set on the root stack and cannot be changed directly
  4760. // on the nested stack.
  4761. EnableTerminationProtection *bool `type:"boolean"`
  4762. // The Simple Notification Service (SNS) topic ARNs to publish stack related
  4763. // events. You can find your SNS topic ARNs using the SNS console or your Command
  4764. // Line Interface (CLI).
  4765. NotificationARNs []*string `type:"list"`
  4766. // Determines what action will be taken if stack creation fails. This must be
  4767. // one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure
  4768. // or DisableRollback, but not both.
  4769. //
  4770. // Default: ROLLBACK
  4771. OnFailure *string `type:"string" enum:"OnFailure"`
  4772. // A list of Parameter structures that specify input parameters for the stack.
  4773. // For more information, see the Parameter (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  4774. // data type.
  4775. Parameters []*Parameter `type:"list"`
  4776. // The template resource types that you have permissions to work with for this
  4777. // create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  4778. // Use the following syntax to describe template resource types: AWS::* (for
  4779. // all AWS resource), Custom::* (for all custom resources), Custom::logical_ID
  4780. // (for a specific custom resource), AWS::service_name::* (for all resources
  4781. // of a particular AWS service), and AWS::service_name::resource_logical_ID
  4782. // (for a specific AWS resource).
  4783. //
  4784. // If the list of resource types doesn't include a resource that you're creating,
  4785. // the stack creation fails. By default, AWS CloudFormation grants permissions
  4786. // to all resource types. AWS Identity and Access Management (IAM) uses this
  4787. // parameter for AWS CloudFormation-specific condition keys in IAM policies.
  4788. // For more information, see Controlling Access with AWS Identity and Access
  4789. // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html).
  4790. ResourceTypes []*string `type:"list"`
  4791. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  4792. // role that AWS CloudFormation assumes to create the stack. AWS CloudFormation
  4793. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  4794. // always uses this role for all future operations on the stack. As long as
  4795. // users have permission to operate on the stack, AWS CloudFormation uses this
  4796. // role even if the users don't have permission to pass it. Ensure that the
  4797. // role grants least privilege.
  4798. //
  4799. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  4800. // associated with the stack. If no role is available, AWS CloudFormation uses
  4801. // a temporary session that is generated from your user credentials.
  4802. RoleARN *string `min:"20" type:"string"`
  4803. // The rollback triggers for AWS CloudFormation to monitor during stack creation
  4804. // and updating operations, and for the specified monitoring period afterwards.
  4805. RollbackConfiguration *RollbackConfiguration `type:"structure"`
  4806. // The name that is associated with the stack. The name must be unique in the
  4807. // region in which you are creating the stack.
  4808. //
  4809. // A stack name can contain only alphanumeric characters (case sensitive) and
  4810. // hyphens. It must start with an alphabetic character and cannot be longer
  4811. // than 128 characters.
  4812. //
  4813. // StackName is a required field
  4814. StackName *string `type:"string" required:"true"`
  4815. // Structure containing the stack policy body. For more information, go to
  4816. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  4817. // in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody
  4818. // or the StackPolicyURL parameter, but not both.
  4819. StackPolicyBody *string `min:"1" type:"string"`
  4820. // Location of a file containing the stack policy. The URL must point to a policy
  4821. // (maximum size: 16 KB) located in an S3 bucket in the same region as the stack.
  4822. // You can specify either the StackPolicyBody or the StackPolicyURL parameter,
  4823. // but not both.
  4824. StackPolicyURL *string `min:"1" type:"string"`
  4825. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  4826. // these tags to the resources created in the stack. A maximum number of 50
  4827. // tags can be specified.
  4828. Tags []*Tag `type:"list"`
  4829. // Structure containing the template body with a minimum length of 1 byte and
  4830. // a maximum length of 51,200 bytes. For more information, go to Template Anatomy
  4831. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  4832. // in the AWS CloudFormation User Guide.
  4833. //
  4834. // Conditional: You must specify either the TemplateBody or the TemplateURL
  4835. // parameter, but not both.
  4836. TemplateBody *string `min:"1" type:"string"`
  4837. // Location of file containing the template body. The URL must point to a template
  4838. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  4839. // information, go to the Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  4840. // in the AWS CloudFormation User Guide.
  4841. //
  4842. // Conditional: You must specify either the TemplateBody or the TemplateURL
  4843. // parameter, but not both.
  4844. TemplateURL *string `min:"1" type:"string"`
  4845. // The amount of time that can pass before the stack status becomes CREATE_FAILED;
  4846. // if DisableRollback is not set or is set to false, the stack will be rolled
  4847. // back.
  4848. TimeoutInMinutes *int64 `min:"1" type:"integer"`
  4849. }
  4850. // String returns the string representation
  4851. func (s CreateStackInput) String() string {
  4852. return awsutil.Prettify(s)
  4853. }
  4854. // GoString returns the string representation
  4855. func (s CreateStackInput) GoString() string {
  4856. return s.String()
  4857. }
  4858. // Validate inspects the fields of the type to determine if they are valid.
  4859. func (s *CreateStackInput) Validate() error {
  4860. invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
  4861. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4862. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4863. }
  4864. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  4865. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  4866. }
  4867. if s.StackName == nil {
  4868. invalidParams.Add(request.NewErrParamRequired("StackName"))
  4869. }
  4870. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  4871. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  4872. }
  4873. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  4874. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  4875. }
  4876. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  4877. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  4878. }
  4879. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  4880. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  4881. }
  4882. if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 {
  4883. invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1))
  4884. }
  4885. if s.RollbackConfiguration != nil {
  4886. if err := s.RollbackConfiguration.Validate(); err != nil {
  4887. invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams))
  4888. }
  4889. }
  4890. if s.Tags != nil {
  4891. for i, v := range s.Tags {
  4892. if v == nil {
  4893. continue
  4894. }
  4895. if err := v.Validate(); err != nil {
  4896. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4897. }
  4898. }
  4899. }
  4900. if invalidParams.Len() > 0 {
  4901. return invalidParams
  4902. }
  4903. return nil
  4904. }
  4905. // SetCapabilities sets the Capabilities field's value.
  4906. func (s *CreateStackInput) SetCapabilities(v []*string) *CreateStackInput {
  4907. s.Capabilities = v
  4908. return s
  4909. }
  4910. // SetClientRequestToken sets the ClientRequestToken field's value.
  4911. func (s *CreateStackInput) SetClientRequestToken(v string) *CreateStackInput {
  4912. s.ClientRequestToken = &v
  4913. return s
  4914. }
  4915. // SetDisableRollback sets the DisableRollback field's value.
  4916. func (s *CreateStackInput) SetDisableRollback(v bool) *CreateStackInput {
  4917. s.DisableRollback = &v
  4918. return s
  4919. }
  4920. // SetEnableTerminationProtection sets the EnableTerminationProtection field's value.
  4921. func (s *CreateStackInput) SetEnableTerminationProtection(v bool) *CreateStackInput {
  4922. s.EnableTerminationProtection = &v
  4923. return s
  4924. }
  4925. // SetNotificationARNs sets the NotificationARNs field's value.
  4926. func (s *CreateStackInput) SetNotificationARNs(v []*string) *CreateStackInput {
  4927. s.NotificationARNs = v
  4928. return s
  4929. }
  4930. // SetOnFailure sets the OnFailure field's value.
  4931. func (s *CreateStackInput) SetOnFailure(v string) *CreateStackInput {
  4932. s.OnFailure = &v
  4933. return s
  4934. }
  4935. // SetParameters sets the Parameters field's value.
  4936. func (s *CreateStackInput) SetParameters(v []*Parameter) *CreateStackInput {
  4937. s.Parameters = v
  4938. return s
  4939. }
  4940. // SetResourceTypes sets the ResourceTypes field's value.
  4941. func (s *CreateStackInput) SetResourceTypes(v []*string) *CreateStackInput {
  4942. s.ResourceTypes = v
  4943. return s
  4944. }
  4945. // SetRoleARN sets the RoleARN field's value.
  4946. func (s *CreateStackInput) SetRoleARN(v string) *CreateStackInput {
  4947. s.RoleARN = &v
  4948. return s
  4949. }
  4950. // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  4951. func (s *CreateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateStackInput {
  4952. s.RollbackConfiguration = v
  4953. return s
  4954. }
  4955. // SetStackName sets the StackName field's value.
  4956. func (s *CreateStackInput) SetStackName(v string) *CreateStackInput {
  4957. s.StackName = &v
  4958. return s
  4959. }
  4960. // SetStackPolicyBody sets the StackPolicyBody field's value.
  4961. func (s *CreateStackInput) SetStackPolicyBody(v string) *CreateStackInput {
  4962. s.StackPolicyBody = &v
  4963. return s
  4964. }
  4965. // SetStackPolicyURL sets the StackPolicyURL field's value.
  4966. func (s *CreateStackInput) SetStackPolicyURL(v string) *CreateStackInput {
  4967. s.StackPolicyURL = &v
  4968. return s
  4969. }
  4970. // SetTags sets the Tags field's value.
  4971. func (s *CreateStackInput) SetTags(v []*Tag) *CreateStackInput {
  4972. s.Tags = v
  4973. return s
  4974. }
  4975. // SetTemplateBody sets the TemplateBody field's value.
  4976. func (s *CreateStackInput) SetTemplateBody(v string) *CreateStackInput {
  4977. s.TemplateBody = &v
  4978. return s
  4979. }
  4980. // SetTemplateURL sets the TemplateURL field's value.
  4981. func (s *CreateStackInput) SetTemplateURL(v string) *CreateStackInput {
  4982. s.TemplateURL = &v
  4983. return s
  4984. }
  4985. // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
  4986. func (s *CreateStackInput) SetTimeoutInMinutes(v int64) *CreateStackInput {
  4987. s.TimeoutInMinutes = &v
  4988. return s
  4989. }
  4990. type CreateStackInstancesInput struct {
  4991. _ struct{} `type:"structure"`
  4992. // The names of one or more AWS accounts that you want to create stack instances
  4993. // in the specified region(s) for.
  4994. //
  4995. // Accounts is a required field
  4996. Accounts []*string `type:"list" required:"true"`
  4997. // The unique identifier for this stack set operation.
  4998. //
  4999. // The operation ID also functions as an idempotency token, to ensure that AWS
  5000. // CloudFormation performs the stack set operation only once, even if you retry
  5001. // the request multiple times. You might retry stack set operation requests
  5002. // to ensure that AWS CloudFormation successfully received them.
  5003. //
  5004. // If you don't specify an operation ID, the SDK generates one automatically.
  5005. //
  5006. // Repeating this stack set operation with a new operation ID retries all stack
  5007. // instances whose status is OUTDATED.
  5008. OperationId *string `min:"1" type:"string" idempotencyToken:"true"`
  5009. // Preferences for how AWS CloudFormation performs this stack set operation.
  5010. OperationPreferences *StackSetOperationPreferences `type:"structure"`
  5011. // A list of stack set parameters whose values you want to override in the selected
  5012. // stack instances.
  5013. //
  5014. // Any overridden parameter values will be applied to all stack instances in
  5015. // the specified accounts and regions. When specifying parameters and their
  5016. // values, be aware of how AWS CloudFormation sets parameter values during stack
  5017. // instance operations:
  5018. //
  5019. // * To override the current value for a parameter, include the parameter
  5020. // and specify its value.
  5021. //
  5022. // * To leave a parameter set to its present value, you can do one of the
  5023. // following:
  5024. //
  5025. // Do not include the parameter in the list.
  5026. //
  5027. // Include the parameter and specify UsePreviousValue as true. (You cannot specify
  5028. // both a value and set UsePreviousValue to true.)
  5029. //
  5030. // * To set all overridden parameter back to the values specified in the
  5031. // stack set, specify a parameter list but do not include any parameters.
  5032. //
  5033. // * To leave all parameters set to their present values, do not specify
  5034. // this property at all.
  5035. //
  5036. // During stack set updates, any parameter values overridden for a stack instance
  5037. // are not updated, but retain their overridden value.
  5038. //
  5039. // You can only override the parameter values that are specified in the stack
  5040. // set; to add or delete a parameter itself, use UpdateStackSet (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)
  5041. // to update the stack set template.
  5042. ParameterOverrides []*Parameter `type:"list"`
  5043. // The names of one or more regions where you want to create stack instances
  5044. // using the specified AWS account(s).
  5045. //
  5046. // Regions is a required field
  5047. Regions []*string `type:"list" required:"true"`
  5048. // The name or unique ID of the stack set that you want to create stack instances
  5049. // from.
  5050. //
  5051. // StackSetName is a required field
  5052. StackSetName *string `type:"string" required:"true"`
  5053. }
  5054. // String returns the string representation
  5055. func (s CreateStackInstancesInput) String() string {
  5056. return awsutil.Prettify(s)
  5057. }
  5058. // GoString returns the string representation
  5059. func (s CreateStackInstancesInput) GoString() string {
  5060. return s.String()
  5061. }
  5062. // Validate inspects the fields of the type to determine if they are valid.
  5063. func (s *CreateStackInstancesInput) Validate() error {
  5064. invalidParams := request.ErrInvalidParams{Context: "CreateStackInstancesInput"}
  5065. if s.Accounts == nil {
  5066. invalidParams.Add(request.NewErrParamRequired("Accounts"))
  5067. }
  5068. if s.OperationId != nil && len(*s.OperationId) < 1 {
  5069. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  5070. }
  5071. if s.Regions == nil {
  5072. invalidParams.Add(request.NewErrParamRequired("Regions"))
  5073. }
  5074. if s.StackSetName == nil {
  5075. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  5076. }
  5077. if s.OperationPreferences != nil {
  5078. if err := s.OperationPreferences.Validate(); err != nil {
  5079. invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams))
  5080. }
  5081. }
  5082. if invalidParams.Len() > 0 {
  5083. return invalidParams
  5084. }
  5085. return nil
  5086. }
  5087. // SetAccounts sets the Accounts field's value.
  5088. func (s *CreateStackInstancesInput) SetAccounts(v []*string) *CreateStackInstancesInput {
  5089. s.Accounts = v
  5090. return s
  5091. }
  5092. // SetOperationId sets the OperationId field's value.
  5093. func (s *CreateStackInstancesInput) SetOperationId(v string) *CreateStackInstancesInput {
  5094. s.OperationId = &v
  5095. return s
  5096. }
  5097. // SetOperationPreferences sets the OperationPreferences field's value.
  5098. func (s *CreateStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *CreateStackInstancesInput {
  5099. s.OperationPreferences = v
  5100. return s
  5101. }
  5102. // SetParameterOverrides sets the ParameterOverrides field's value.
  5103. func (s *CreateStackInstancesInput) SetParameterOverrides(v []*Parameter) *CreateStackInstancesInput {
  5104. s.ParameterOverrides = v
  5105. return s
  5106. }
  5107. // SetRegions sets the Regions field's value.
  5108. func (s *CreateStackInstancesInput) SetRegions(v []*string) *CreateStackInstancesInput {
  5109. s.Regions = v
  5110. return s
  5111. }
  5112. // SetStackSetName sets the StackSetName field's value.
  5113. func (s *CreateStackInstancesInput) SetStackSetName(v string) *CreateStackInstancesInput {
  5114. s.StackSetName = &v
  5115. return s
  5116. }
  5117. type CreateStackInstancesOutput struct {
  5118. _ struct{} `type:"structure"`
  5119. // The unique identifier for this stack set operation.
  5120. OperationId *string `min:"1" type:"string"`
  5121. }
  5122. // String returns the string representation
  5123. func (s CreateStackInstancesOutput) String() string {
  5124. return awsutil.Prettify(s)
  5125. }
  5126. // GoString returns the string representation
  5127. func (s CreateStackInstancesOutput) GoString() string {
  5128. return s.String()
  5129. }
  5130. // SetOperationId sets the OperationId field's value.
  5131. func (s *CreateStackInstancesOutput) SetOperationId(v string) *CreateStackInstancesOutput {
  5132. s.OperationId = &v
  5133. return s
  5134. }
  5135. // The output for a CreateStack action.
  5136. type CreateStackOutput struct {
  5137. _ struct{} `type:"structure"`
  5138. // Unique identifier of the stack.
  5139. StackId *string `type:"string"`
  5140. }
  5141. // String returns the string representation
  5142. func (s CreateStackOutput) String() string {
  5143. return awsutil.Prettify(s)
  5144. }
  5145. // GoString returns the string representation
  5146. func (s CreateStackOutput) GoString() string {
  5147. return s.String()
  5148. }
  5149. // SetStackId sets the StackId field's value.
  5150. func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput {
  5151. s.StackId = &v
  5152. return s
  5153. }
  5154. type CreateStackSetInput struct {
  5155. _ struct{} `type:"structure"`
  5156. // The Amazon Resource Number (ARN) of the IAM role to use to create this stack
  5157. // set.
  5158. //
  5159. // Specify an IAM role only if you are using customized administrator roles
  5160. // to control which users or groups can manage specific stack sets within the
  5161. // same administrator account. For more information, see Prerequisites: Granting
  5162. // Permissions for Stack Set Operations (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
  5163. // in the AWS CloudFormation User Guide.
  5164. AdministrationRoleARN *string `min:"20" type:"string"`
  5165. // In some cases, you must explicity acknowledge that your stack set template
  5166. // contains certain capabilities in order for AWS CloudFormation to create the
  5167. // stack set and related stack instances.
  5168. //
  5169. // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM
  5170. //
  5171. // Some stack templates might include resources that can affect permissions
  5172. // in your AWS account; for example, by creating new AWS Identity and Access
  5173. // Management (IAM) users. For those stack sets, you must explicitly acknowledge
  5174. // this by specifying one of these capabilities.
  5175. //
  5176. // The following IAM resources require you to specify either the CAPABILITY_IAM
  5177. // or CAPABILITY_NAMED_IAM capability.
  5178. //
  5179. // If you have IAM resources, you can specify either capability.
  5180. //
  5181. // If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.
  5182. //
  5183. //
  5184. // If you don't specify either of these capabilities, AWS CloudFormation returns
  5185. // an InsufficientCapabilities error.
  5186. //
  5187. // If your stack template contains these resources, we recommend that you review
  5188. // all permissions associated with them and edit their permissions if necessary.
  5189. //
  5190. // AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html)
  5191. //
  5192. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)
  5193. //
  5194. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)
  5195. //
  5196. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)
  5197. //
  5198. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)
  5199. //
  5200. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html)
  5201. //
  5202. // AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html)
  5203. //
  5204. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  5205. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  5206. //
  5207. // * CAPABILITY_AUTO_EXPAND
  5208. //
  5209. // Some templates contain macros. If your stack template contains one or more
  5210. // macros, and you choose to create a stack directly from the processed template,
  5211. // without first reviewing the resulting changes in a change set, you must
  5212. // acknowledge this capability. For more information, see Using AWS CloudFormation
  5213. // Macros to Perform Custom Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
  5214. //
  5215. // Stack sets do not currently support macros in stack templates. (This includes
  5216. // the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
  5217. // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
  5218. // transforms, which are macros hosted by AWS CloudFormation.) Even if you
  5219. // specify this capability, if you include a macro in your template the stack
  5220. // set operation will fail.
  5221. Capabilities []*string `type:"list"`
  5222. // A unique identifier for this CreateStackSet request. Specify this token if
  5223. // you plan to retry requests so that AWS CloudFormation knows that you're not
  5224. // attempting to create another stack set with the same name. You might retry
  5225. // CreateStackSet requests to ensure that AWS CloudFormation successfully received
  5226. // them.
  5227. //
  5228. // If you don't specify an operation ID, the SDK generates one automatically.
  5229. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  5230. // A description of the stack set. You can use the description to identify the
  5231. // stack set's purpose or other important information.
  5232. Description *string `min:"1" type:"string"`
  5233. // The name of the IAM execution role to use to create the stack set. If you
  5234. // do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole
  5235. // role for the stack set operation.
  5236. //
  5237. // Specify an IAM role only if you are using customized execution roles to control
  5238. // which stack resources users and groups can include in their stack sets.
  5239. ExecutionRoleName *string `min:"1" type:"string"`
  5240. // The input parameters for the stack set template.
  5241. Parameters []*Parameter `type:"list"`
  5242. // The name to associate with the stack set. The name must be unique in the
  5243. // region where you create your stack set.
  5244. //
  5245. // A stack name can contain only alphanumeric characters (case-sensitive) and
  5246. // hyphens. It must start with an alphabetic character and can't be longer than
  5247. // 128 characters.
  5248. //
  5249. // StackSetName is a required field
  5250. StackSetName *string `type:"string" required:"true"`
  5251. // The key-value pairs to associate with this stack set and the stacks created
  5252. // from it. AWS CloudFormation also propagates these tags to supported resources
  5253. // that are created in the stacks. A maximum number of 50 tags can be specified.
  5254. //
  5255. // If you specify tags as part of a CreateStackSet action, AWS CloudFormation
  5256. // checks to see if you have the required IAM permission to tag resources. If
  5257. // you don't, the entire CreateStackSet action fails with an access denied error,
  5258. // and the stack set is not created.
  5259. Tags []*Tag `type:"list"`
  5260. // The structure that contains the template body, with a minimum length of 1
  5261. // byte and a maximum length of 51,200 bytes. For more information, see Template
  5262. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  5263. // in the AWS CloudFormation User Guide.
  5264. //
  5265. // Conditional: You must specify either the TemplateBody or the TemplateURL
  5266. // parameter, but not both.
  5267. TemplateBody *string `min:"1" type:"string"`
  5268. // The location of the file that contains the template body. The URL must point
  5269. // to a template (maximum size: 460,800 bytes) that's located in an Amazon S3
  5270. // bucket. For more information, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  5271. // in the AWS CloudFormation User Guide.
  5272. //
  5273. // Conditional: You must specify either the TemplateBody or the TemplateURL
  5274. // parameter, but not both.
  5275. TemplateURL *string `min:"1" type:"string"`
  5276. }
  5277. // String returns the string representation
  5278. func (s CreateStackSetInput) String() string {
  5279. return awsutil.Prettify(s)
  5280. }
  5281. // GoString returns the string representation
  5282. func (s CreateStackSetInput) GoString() string {
  5283. return s.String()
  5284. }
  5285. // Validate inspects the fields of the type to determine if they are valid.
  5286. func (s *CreateStackSetInput) Validate() error {
  5287. invalidParams := request.ErrInvalidParams{Context: "CreateStackSetInput"}
  5288. if s.AdministrationRoleARN != nil && len(*s.AdministrationRoleARN) < 20 {
  5289. invalidParams.Add(request.NewErrParamMinLen("AdministrationRoleARN", 20))
  5290. }
  5291. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  5292. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  5293. }
  5294. if s.Description != nil && len(*s.Description) < 1 {
  5295. invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  5296. }
  5297. if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 {
  5298. invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1))
  5299. }
  5300. if s.StackSetName == nil {
  5301. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  5302. }
  5303. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  5304. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  5305. }
  5306. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  5307. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  5308. }
  5309. if s.Tags != nil {
  5310. for i, v := range s.Tags {
  5311. if v == nil {
  5312. continue
  5313. }
  5314. if err := v.Validate(); err != nil {
  5315. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5316. }
  5317. }
  5318. }
  5319. if invalidParams.Len() > 0 {
  5320. return invalidParams
  5321. }
  5322. return nil
  5323. }
  5324. // SetAdministrationRoleARN sets the AdministrationRoleARN field's value.
  5325. func (s *CreateStackSetInput) SetAdministrationRoleARN(v string) *CreateStackSetInput {
  5326. s.AdministrationRoleARN = &v
  5327. return s
  5328. }
  5329. // SetCapabilities sets the Capabilities field's value.
  5330. func (s *CreateStackSetInput) SetCapabilities(v []*string) *CreateStackSetInput {
  5331. s.Capabilities = v
  5332. return s
  5333. }
  5334. // SetClientRequestToken sets the ClientRequestToken field's value.
  5335. func (s *CreateStackSetInput) SetClientRequestToken(v string) *CreateStackSetInput {
  5336. s.ClientRequestToken = &v
  5337. return s
  5338. }
  5339. // SetDescription sets the Description field's value.
  5340. func (s *CreateStackSetInput) SetDescription(v string) *CreateStackSetInput {
  5341. s.Description = &v
  5342. return s
  5343. }
  5344. // SetExecutionRoleName sets the ExecutionRoleName field's value.
  5345. func (s *CreateStackSetInput) SetExecutionRoleName(v string) *CreateStackSetInput {
  5346. s.ExecutionRoleName = &v
  5347. return s
  5348. }
  5349. // SetParameters sets the Parameters field's value.
  5350. func (s *CreateStackSetInput) SetParameters(v []*Parameter) *CreateStackSetInput {
  5351. s.Parameters = v
  5352. return s
  5353. }
  5354. // SetStackSetName sets the StackSetName field's value.
  5355. func (s *CreateStackSetInput) SetStackSetName(v string) *CreateStackSetInput {
  5356. s.StackSetName = &v
  5357. return s
  5358. }
  5359. // SetTags sets the Tags field's value.
  5360. func (s *CreateStackSetInput) SetTags(v []*Tag) *CreateStackSetInput {
  5361. s.Tags = v
  5362. return s
  5363. }
  5364. // SetTemplateBody sets the TemplateBody field's value.
  5365. func (s *CreateStackSetInput) SetTemplateBody(v string) *CreateStackSetInput {
  5366. s.TemplateBody = &v
  5367. return s
  5368. }
  5369. // SetTemplateURL sets the TemplateURL field's value.
  5370. func (s *CreateStackSetInput) SetTemplateURL(v string) *CreateStackSetInput {
  5371. s.TemplateURL = &v
  5372. return s
  5373. }
  5374. type CreateStackSetOutput struct {
  5375. _ struct{} `type:"structure"`
  5376. // The ID of the stack set that you're creating.
  5377. StackSetId *string `type:"string"`
  5378. }
  5379. // String returns the string representation
  5380. func (s CreateStackSetOutput) String() string {
  5381. return awsutil.Prettify(s)
  5382. }
  5383. // GoString returns the string representation
  5384. func (s CreateStackSetOutput) GoString() string {
  5385. return s.String()
  5386. }
  5387. // SetStackSetId sets the StackSetId field's value.
  5388. func (s *CreateStackSetOutput) SetStackSetId(v string) *CreateStackSetOutput {
  5389. s.StackSetId = &v
  5390. return s
  5391. }
  5392. // The input for the DeleteChangeSet action.
  5393. type DeleteChangeSetInput struct {
  5394. _ struct{} `type:"structure"`
  5395. // The name or Amazon Resource Name (ARN) of the change set that you want to
  5396. // delete.
  5397. //
  5398. // ChangeSetName is a required field
  5399. ChangeSetName *string `min:"1" type:"string" required:"true"`
  5400. // If you specified the name of a change set to delete, specify the stack name
  5401. // or ID (ARN) that is associated with it.
  5402. StackName *string `min:"1" type:"string"`
  5403. }
  5404. // String returns the string representation
  5405. func (s DeleteChangeSetInput) String() string {
  5406. return awsutil.Prettify(s)
  5407. }
  5408. // GoString returns the string representation
  5409. func (s DeleteChangeSetInput) GoString() string {
  5410. return s.String()
  5411. }
  5412. // Validate inspects the fields of the type to determine if they are valid.
  5413. func (s *DeleteChangeSetInput) Validate() error {
  5414. invalidParams := request.ErrInvalidParams{Context: "DeleteChangeSetInput"}
  5415. if s.ChangeSetName == nil {
  5416. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  5417. }
  5418. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  5419. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  5420. }
  5421. if s.StackName != nil && len(*s.StackName) < 1 {
  5422. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  5423. }
  5424. if invalidParams.Len() > 0 {
  5425. return invalidParams
  5426. }
  5427. return nil
  5428. }
  5429. // SetChangeSetName sets the ChangeSetName field's value.
  5430. func (s *DeleteChangeSetInput) SetChangeSetName(v string) *DeleteChangeSetInput {
  5431. s.ChangeSetName = &v
  5432. return s
  5433. }
  5434. // SetStackName sets the StackName field's value.
  5435. func (s *DeleteChangeSetInput) SetStackName(v string) *DeleteChangeSetInput {
  5436. s.StackName = &v
  5437. return s
  5438. }
  5439. // The output for the DeleteChangeSet action.
  5440. type DeleteChangeSetOutput struct {
  5441. _ struct{} `type:"structure"`
  5442. }
  5443. // String returns the string representation
  5444. func (s DeleteChangeSetOutput) String() string {
  5445. return awsutil.Prettify(s)
  5446. }
  5447. // GoString returns the string representation
  5448. func (s DeleteChangeSetOutput) GoString() string {
  5449. return s.String()
  5450. }
  5451. // The input for DeleteStack action.
  5452. type DeleteStackInput struct {
  5453. _ struct{} `type:"structure"`
  5454. // A unique identifier for this DeleteStack request. Specify this token if you
  5455. // plan to retry requests so that AWS CloudFormation knows that you're not attempting
  5456. // to delete a stack with the same name. You might retry DeleteStack requests
  5457. // to ensure that AWS CloudFormation successfully received them.
  5458. //
  5459. // All events triggered by a given stack operation are assigned the same client
  5460. // request token, which you can use to track operations. For example, if you
  5461. // execute a CreateStack operation with the token token1, then all the StackEvents
  5462. // generated by that operation will have ClientRequestToken set as token1.
  5463. //
  5464. // In the console, stack operations display the client request token on the
  5465. // Events tab. Stack operations that are initiated from the console use the
  5466. // token format Console-StackOperation-ID, which helps you easily identify the
  5467. // stack operation . For example, if you create a stack using the console, each
  5468. // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
  5469. ClientRequestToken *string `min:"1" type:"string"`
  5470. // For stacks in the DELETE_FAILED state, a list of resource logical IDs that
  5471. // are associated with the resources you want to retain. During deletion, AWS
  5472. // CloudFormation deletes the stack but does not delete the retained resources.
  5473. //
  5474. // Retaining resources is useful when you cannot delete a resource, such as
  5475. // a non-empty S3 bucket, but you want to delete the stack.
  5476. RetainResources []*string `type:"list"`
  5477. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  5478. // role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation
  5479. // uses the role's credentials to make calls on your behalf.
  5480. //
  5481. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  5482. // associated with the stack. If no role is available, AWS CloudFormation uses
  5483. // a temporary session that is generated from your user credentials.
  5484. RoleARN *string `min:"20" type:"string"`
  5485. // The name or the unique stack ID that is associated with the stack.
  5486. //
  5487. // StackName is a required field
  5488. StackName *string `type:"string" required:"true"`
  5489. }
  5490. // String returns the string representation
  5491. func (s DeleteStackInput) String() string {
  5492. return awsutil.Prettify(s)
  5493. }
  5494. // GoString returns the string representation
  5495. func (s DeleteStackInput) GoString() string {
  5496. return s.String()
  5497. }
  5498. // Validate inspects the fields of the type to determine if they are valid.
  5499. func (s *DeleteStackInput) Validate() error {
  5500. invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
  5501. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  5502. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  5503. }
  5504. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  5505. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  5506. }
  5507. if s.StackName == nil {
  5508. invalidParams.Add(request.NewErrParamRequired("StackName"))
  5509. }
  5510. if invalidParams.Len() > 0 {
  5511. return invalidParams
  5512. }
  5513. return nil
  5514. }
  5515. // SetClientRequestToken sets the ClientRequestToken field's value.
  5516. func (s *DeleteStackInput) SetClientRequestToken(v string) *DeleteStackInput {
  5517. s.ClientRequestToken = &v
  5518. return s
  5519. }
  5520. // SetRetainResources sets the RetainResources field's value.
  5521. func (s *DeleteStackInput) SetRetainResources(v []*string) *DeleteStackInput {
  5522. s.RetainResources = v
  5523. return s
  5524. }
  5525. // SetRoleARN sets the RoleARN field's value.
  5526. func (s *DeleteStackInput) SetRoleARN(v string) *DeleteStackInput {
  5527. s.RoleARN = &v
  5528. return s
  5529. }
  5530. // SetStackName sets the StackName field's value.
  5531. func (s *DeleteStackInput) SetStackName(v string) *DeleteStackInput {
  5532. s.StackName = &v
  5533. return s
  5534. }
  5535. type DeleteStackInstancesInput struct {
  5536. _ struct{} `type:"structure"`
  5537. // The names of the AWS accounts that you want to delete stack instances for.
  5538. //
  5539. // Accounts is a required field
  5540. Accounts []*string `type:"list" required:"true"`
  5541. // The unique identifier for this stack set operation.
  5542. //
  5543. // If you don't specify an operation ID, the SDK generates one automatically.
  5544. //
  5545. // The operation ID also functions as an idempotency token, to ensure that AWS
  5546. // CloudFormation performs the stack set operation only once, even if you retry
  5547. // the request multiple times. You can retry stack set operation requests to
  5548. // ensure that AWS CloudFormation successfully received them.
  5549. //
  5550. // Repeating this stack set operation with a new operation ID retries all stack
  5551. // instances whose status is OUTDATED.
  5552. OperationId *string `min:"1" type:"string" idempotencyToken:"true"`
  5553. // Preferences for how AWS CloudFormation performs this stack set operation.
  5554. OperationPreferences *StackSetOperationPreferences `type:"structure"`
  5555. // The regions where you want to delete stack set instances.
  5556. //
  5557. // Regions is a required field
  5558. Regions []*string `type:"list" required:"true"`
  5559. // Removes the stack instances from the specified stack set, but doesn't delete
  5560. // the stacks. You can't reassociate a retained stack or add an existing, saved
  5561. // stack to a new stack set.
  5562. //
  5563. // For more information, see Stack set operation options (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options).
  5564. //
  5565. // RetainStacks is a required field
  5566. RetainStacks *bool `type:"boolean" required:"true"`
  5567. // The name or unique ID of the stack set that you want to delete stack instances
  5568. // for.
  5569. //
  5570. // StackSetName is a required field
  5571. StackSetName *string `type:"string" required:"true"`
  5572. }
  5573. // String returns the string representation
  5574. func (s DeleteStackInstancesInput) String() string {
  5575. return awsutil.Prettify(s)
  5576. }
  5577. // GoString returns the string representation
  5578. func (s DeleteStackInstancesInput) GoString() string {
  5579. return s.String()
  5580. }
  5581. // Validate inspects the fields of the type to determine if they are valid.
  5582. func (s *DeleteStackInstancesInput) Validate() error {
  5583. invalidParams := request.ErrInvalidParams{Context: "DeleteStackInstancesInput"}
  5584. if s.Accounts == nil {
  5585. invalidParams.Add(request.NewErrParamRequired("Accounts"))
  5586. }
  5587. if s.OperationId != nil && len(*s.OperationId) < 1 {
  5588. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  5589. }
  5590. if s.Regions == nil {
  5591. invalidParams.Add(request.NewErrParamRequired("Regions"))
  5592. }
  5593. if s.RetainStacks == nil {
  5594. invalidParams.Add(request.NewErrParamRequired("RetainStacks"))
  5595. }
  5596. if s.StackSetName == nil {
  5597. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  5598. }
  5599. if s.OperationPreferences != nil {
  5600. if err := s.OperationPreferences.Validate(); err != nil {
  5601. invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams))
  5602. }
  5603. }
  5604. if invalidParams.Len() > 0 {
  5605. return invalidParams
  5606. }
  5607. return nil
  5608. }
  5609. // SetAccounts sets the Accounts field's value.
  5610. func (s *DeleteStackInstancesInput) SetAccounts(v []*string) *DeleteStackInstancesInput {
  5611. s.Accounts = v
  5612. return s
  5613. }
  5614. // SetOperationId sets the OperationId field's value.
  5615. func (s *DeleteStackInstancesInput) SetOperationId(v string) *DeleteStackInstancesInput {
  5616. s.OperationId = &v
  5617. return s
  5618. }
  5619. // SetOperationPreferences sets the OperationPreferences field's value.
  5620. func (s *DeleteStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *DeleteStackInstancesInput {
  5621. s.OperationPreferences = v
  5622. return s
  5623. }
  5624. // SetRegions sets the Regions field's value.
  5625. func (s *DeleteStackInstancesInput) SetRegions(v []*string) *DeleteStackInstancesInput {
  5626. s.Regions = v
  5627. return s
  5628. }
  5629. // SetRetainStacks sets the RetainStacks field's value.
  5630. func (s *DeleteStackInstancesInput) SetRetainStacks(v bool) *DeleteStackInstancesInput {
  5631. s.RetainStacks = &v
  5632. return s
  5633. }
  5634. // SetStackSetName sets the StackSetName field's value.
  5635. func (s *DeleteStackInstancesInput) SetStackSetName(v string) *DeleteStackInstancesInput {
  5636. s.StackSetName = &v
  5637. return s
  5638. }
  5639. type DeleteStackInstancesOutput struct {
  5640. _ struct{} `type:"structure"`
  5641. // The unique identifier for this stack set operation.
  5642. OperationId *string `min:"1" type:"string"`
  5643. }
  5644. // String returns the string representation
  5645. func (s DeleteStackInstancesOutput) String() string {
  5646. return awsutil.Prettify(s)
  5647. }
  5648. // GoString returns the string representation
  5649. func (s DeleteStackInstancesOutput) GoString() string {
  5650. return s.String()
  5651. }
  5652. // SetOperationId sets the OperationId field's value.
  5653. func (s *DeleteStackInstancesOutput) SetOperationId(v string) *DeleteStackInstancesOutput {
  5654. s.OperationId = &v
  5655. return s
  5656. }
  5657. type DeleteStackOutput struct {
  5658. _ struct{} `type:"structure"`
  5659. }
  5660. // String returns the string representation
  5661. func (s DeleteStackOutput) String() string {
  5662. return awsutil.Prettify(s)
  5663. }
  5664. // GoString returns the string representation
  5665. func (s DeleteStackOutput) GoString() string {
  5666. return s.String()
  5667. }
  5668. type DeleteStackSetInput struct {
  5669. _ struct{} `type:"structure"`
  5670. // The name or unique ID of the stack set that you're deleting. You can obtain
  5671. // this value by running ListStackSets.
  5672. //
  5673. // StackSetName is a required field
  5674. StackSetName *string `type:"string" required:"true"`
  5675. }
  5676. // String returns the string representation
  5677. func (s DeleteStackSetInput) String() string {
  5678. return awsutil.Prettify(s)
  5679. }
  5680. // GoString returns the string representation
  5681. func (s DeleteStackSetInput) GoString() string {
  5682. return s.String()
  5683. }
  5684. // Validate inspects the fields of the type to determine if they are valid.
  5685. func (s *DeleteStackSetInput) Validate() error {
  5686. invalidParams := request.ErrInvalidParams{Context: "DeleteStackSetInput"}
  5687. if s.StackSetName == nil {
  5688. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  5689. }
  5690. if invalidParams.Len() > 0 {
  5691. return invalidParams
  5692. }
  5693. return nil
  5694. }
  5695. // SetStackSetName sets the StackSetName field's value.
  5696. func (s *DeleteStackSetInput) SetStackSetName(v string) *DeleteStackSetInput {
  5697. s.StackSetName = &v
  5698. return s
  5699. }
  5700. type DeleteStackSetOutput struct {
  5701. _ struct{} `type:"structure"`
  5702. }
  5703. // String returns the string representation
  5704. func (s DeleteStackSetOutput) String() string {
  5705. return awsutil.Prettify(s)
  5706. }
  5707. // GoString returns the string representation
  5708. func (s DeleteStackSetOutput) GoString() string {
  5709. return s.String()
  5710. }
  5711. // The input for the DescribeAccountLimits action.
  5712. type DescribeAccountLimitsInput struct {
  5713. _ struct{} `type:"structure"`
  5714. // A string that identifies the next page of limits that you want to retrieve.
  5715. NextToken *string `min:"1" type:"string"`
  5716. }
  5717. // String returns the string representation
  5718. func (s DescribeAccountLimitsInput) String() string {
  5719. return awsutil.Prettify(s)
  5720. }
  5721. // GoString returns the string representation
  5722. func (s DescribeAccountLimitsInput) GoString() string {
  5723. return s.String()
  5724. }
  5725. // Validate inspects the fields of the type to determine if they are valid.
  5726. func (s *DescribeAccountLimitsInput) Validate() error {
  5727. invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"}
  5728. if s.NextToken != nil && len(*s.NextToken) < 1 {
  5729. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  5730. }
  5731. if invalidParams.Len() > 0 {
  5732. return invalidParams
  5733. }
  5734. return nil
  5735. }
  5736. // SetNextToken sets the NextToken field's value.
  5737. func (s *DescribeAccountLimitsInput) SetNextToken(v string) *DescribeAccountLimitsInput {
  5738. s.NextToken = &v
  5739. return s
  5740. }
  5741. // The output for the DescribeAccountLimits action.
  5742. type DescribeAccountLimitsOutput struct {
  5743. _ struct{} `type:"structure"`
  5744. // An account limit structure that contain a list of AWS CloudFormation account
  5745. // limits and their values.
  5746. AccountLimits []*AccountLimit `type:"list"`
  5747. // If the output exceeds 1 MB in size, a string that identifies the next page
  5748. // of limits. If no additional page exists, this value is null.
  5749. NextToken *string `min:"1" type:"string"`
  5750. }
  5751. // String returns the string representation
  5752. func (s DescribeAccountLimitsOutput) String() string {
  5753. return awsutil.Prettify(s)
  5754. }
  5755. // GoString returns the string representation
  5756. func (s DescribeAccountLimitsOutput) GoString() string {
  5757. return s.String()
  5758. }
  5759. // SetAccountLimits sets the AccountLimits field's value.
  5760. func (s *DescribeAccountLimitsOutput) SetAccountLimits(v []*AccountLimit) *DescribeAccountLimitsOutput {
  5761. s.AccountLimits = v
  5762. return s
  5763. }
  5764. // SetNextToken sets the NextToken field's value.
  5765. func (s *DescribeAccountLimitsOutput) SetNextToken(v string) *DescribeAccountLimitsOutput {
  5766. s.NextToken = &v
  5767. return s
  5768. }
  5769. // The input for the DescribeChangeSet action.
  5770. type DescribeChangeSetInput struct {
  5771. _ struct{} `type:"structure"`
  5772. // The name or Amazon Resource Name (ARN) of the change set that you want to
  5773. // describe.
  5774. //
  5775. // ChangeSetName is a required field
  5776. ChangeSetName *string `min:"1" type:"string" required:"true"`
  5777. // A string (provided by the DescribeChangeSet response output) that identifies
  5778. // the next page of information that you want to retrieve.
  5779. NextToken *string `min:"1" type:"string"`
  5780. // If you specified the name of a change set, specify the stack name or ID (ARN)
  5781. // of the change set you want to describe.
  5782. StackName *string `min:"1" type:"string"`
  5783. }
  5784. // String returns the string representation
  5785. func (s DescribeChangeSetInput) String() string {
  5786. return awsutil.Prettify(s)
  5787. }
  5788. // GoString returns the string representation
  5789. func (s DescribeChangeSetInput) GoString() string {
  5790. return s.String()
  5791. }
  5792. // Validate inspects the fields of the type to determine if they are valid.
  5793. func (s *DescribeChangeSetInput) Validate() error {
  5794. invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"}
  5795. if s.ChangeSetName == nil {
  5796. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  5797. }
  5798. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  5799. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  5800. }
  5801. if s.NextToken != nil && len(*s.NextToken) < 1 {
  5802. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  5803. }
  5804. if s.StackName != nil && len(*s.StackName) < 1 {
  5805. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  5806. }
  5807. if invalidParams.Len() > 0 {
  5808. return invalidParams
  5809. }
  5810. return nil
  5811. }
  5812. // SetChangeSetName sets the ChangeSetName field's value.
  5813. func (s *DescribeChangeSetInput) SetChangeSetName(v string) *DescribeChangeSetInput {
  5814. s.ChangeSetName = &v
  5815. return s
  5816. }
  5817. // SetNextToken sets the NextToken field's value.
  5818. func (s *DescribeChangeSetInput) SetNextToken(v string) *DescribeChangeSetInput {
  5819. s.NextToken = &v
  5820. return s
  5821. }
  5822. // SetStackName sets the StackName field's value.
  5823. func (s *DescribeChangeSetInput) SetStackName(v string) *DescribeChangeSetInput {
  5824. s.StackName = &v
  5825. return s
  5826. }
  5827. // The output for the DescribeChangeSet action.
  5828. type DescribeChangeSetOutput struct {
  5829. _ struct{} `type:"structure"`
  5830. // If you execute the change set, the list of capabilities that were explicitly
  5831. // acknowledged when the change set was created.
  5832. Capabilities []*string `type:"list"`
  5833. // The ARN of the change set.
  5834. ChangeSetId *string `min:"1" type:"string"`
  5835. // The name of the change set.
  5836. ChangeSetName *string `min:"1" type:"string"`
  5837. // A list of Change structures that describes the resources AWS CloudFormation
  5838. // changes if you execute the change set.
  5839. Changes []*Change `type:"list"`
  5840. // The start time when the change set was created, in UTC.
  5841. CreationTime *time.Time `type:"timestamp"`
  5842. // Information about the change set.
  5843. Description *string `min:"1" type:"string"`
  5844. // If the change set execution status is AVAILABLE, you can execute the change
  5845. // set. If you can’t execute the change set, the status indicates why. For example,
  5846. // a change set might be in an UNAVAILABLE state because AWS CloudFormation
  5847. // is still creating it or in an OBSOLETE state because the stack was already
  5848. // updated.
  5849. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"`
  5850. // If the output exceeds 1 MB, a string that identifies the next page of changes.
  5851. // If there is no additional page, this value is null.
  5852. NextToken *string `min:"1" type:"string"`
  5853. // The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that
  5854. // will be associated with the stack if you execute the change set.
  5855. NotificationARNs []*string `type:"list"`
  5856. // A list of Parameter structures that describes the input parameters and their
  5857. // values used to create the change set. For more information, see the Parameter
  5858. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  5859. // data type.
  5860. Parameters []*Parameter `type:"list"`
  5861. // The rollback triggers for AWS CloudFormation to monitor during stack creation
  5862. // and updating operations, and for the specified monitoring period afterwards.
  5863. RollbackConfiguration *RollbackConfiguration `type:"structure"`
  5864. // The ARN of the stack that is associated with the change set.
  5865. StackId *string `type:"string"`
  5866. // The name of the stack that is associated with the change set.
  5867. StackName *string `type:"string"`
  5868. // The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE,
  5869. // or FAILED.
  5870. Status *string `type:"string" enum:"ChangeSetStatus"`
  5871. // A description of the change set's status. For example, if your attempt to
  5872. // create a change set failed, AWS CloudFormation shows the error message.
  5873. StatusReason *string `type:"string"`
  5874. // If you execute the change set, the tags that will be associated with the
  5875. // stack.
  5876. Tags []*Tag `type:"list"`
  5877. }
  5878. // String returns the string representation
  5879. func (s DescribeChangeSetOutput) String() string {
  5880. return awsutil.Prettify(s)
  5881. }
  5882. // GoString returns the string representation
  5883. func (s DescribeChangeSetOutput) GoString() string {
  5884. return s.String()
  5885. }
  5886. // SetCapabilities sets the Capabilities field's value.
  5887. func (s *DescribeChangeSetOutput) SetCapabilities(v []*string) *DescribeChangeSetOutput {
  5888. s.Capabilities = v
  5889. return s
  5890. }
  5891. // SetChangeSetId sets the ChangeSetId field's value.
  5892. func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput {
  5893. s.ChangeSetId = &v
  5894. return s
  5895. }
  5896. // SetChangeSetName sets the ChangeSetName field's value.
  5897. func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput {
  5898. s.ChangeSetName = &v
  5899. return s
  5900. }
  5901. // SetChanges sets the Changes field's value.
  5902. func (s *DescribeChangeSetOutput) SetChanges(v []*Change) *DescribeChangeSetOutput {
  5903. s.Changes = v
  5904. return s
  5905. }
  5906. // SetCreationTime sets the CreationTime field's value.
  5907. func (s *DescribeChangeSetOutput) SetCreationTime(v time.Time) *DescribeChangeSetOutput {
  5908. s.CreationTime = &v
  5909. return s
  5910. }
  5911. // SetDescription sets the Description field's value.
  5912. func (s *DescribeChangeSetOutput) SetDescription(v string) *DescribeChangeSetOutput {
  5913. s.Description = &v
  5914. return s
  5915. }
  5916. // SetExecutionStatus sets the ExecutionStatus field's value.
  5917. func (s *DescribeChangeSetOutput) SetExecutionStatus(v string) *DescribeChangeSetOutput {
  5918. s.ExecutionStatus = &v
  5919. return s
  5920. }
  5921. // SetNextToken sets the NextToken field's value.
  5922. func (s *DescribeChangeSetOutput) SetNextToken(v string) *DescribeChangeSetOutput {
  5923. s.NextToken = &v
  5924. return s
  5925. }
  5926. // SetNotificationARNs sets the NotificationARNs field's value.
  5927. func (s *DescribeChangeSetOutput) SetNotificationARNs(v []*string) *DescribeChangeSetOutput {
  5928. s.NotificationARNs = v
  5929. return s
  5930. }
  5931. // SetParameters sets the Parameters field's value.
  5932. func (s *DescribeChangeSetOutput) SetParameters(v []*Parameter) *DescribeChangeSetOutput {
  5933. s.Parameters = v
  5934. return s
  5935. }
  5936. // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  5937. func (s *DescribeChangeSetOutput) SetRollbackConfiguration(v *RollbackConfiguration) *DescribeChangeSetOutput {
  5938. s.RollbackConfiguration = v
  5939. return s
  5940. }
  5941. // SetStackId sets the StackId field's value.
  5942. func (s *DescribeChangeSetOutput) SetStackId(v string) *DescribeChangeSetOutput {
  5943. s.StackId = &v
  5944. return s
  5945. }
  5946. // SetStackName sets the StackName field's value.
  5947. func (s *DescribeChangeSetOutput) SetStackName(v string) *DescribeChangeSetOutput {
  5948. s.StackName = &v
  5949. return s
  5950. }
  5951. // SetStatus sets the Status field's value.
  5952. func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput {
  5953. s.Status = &v
  5954. return s
  5955. }
  5956. // SetStatusReason sets the StatusReason field's value.
  5957. func (s *DescribeChangeSetOutput) SetStatusReason(v string) *DescribeChangeSetOutput {
  5958. s.StatusReason = &v
  5959. return s
  5960. }
  5961. // SetTags sets the Tags field's value.
  5962. func (s *DescribeChangeSetOutput) SetTags(v []*Tag) *DescribeChangeSetOutput {
  5963. s.Tags = v
  5964. return s
  5965. }
  5966. type DescribeStackDriftDetectionStatusInput struct {
  5967. _ struct{} `type:"structure"`
  5968. // The ID of the drift detection results of this operation.
  5969. //
  5970. // AWS CloudFormation generates new results, with a new drift detection ID,
  5971. // each time this operation is run. However, the number of drift results AWS
  5972. // CloudFormation retains for any given stack, and for how long, may vary.
  5973. //
  5974. // StackDriftDetectionId is a required field
  5975. StackDriftDetectionId *string `min:"1" type:"string" required:"true"`
  5976. }
  5977. // String returns the string representation
  5978. func (s DescribeStackDriftDetectionStatusInput) String() string {
  5979. return awsutil.Prettify(s)
  5980. }
  5981. // GoString returns the string representation
  5982. func (s DescribeStackDriftDetectionStatusInput) GoString() string {
  5983. return s.String()
  5984. }
  5985. // Validate inspects the fields of the type to determine if they are valid.
  5986. func (s *DescribeStackDriftDetectionStatusInput) Validate() error {
  5987. invalidParams := request.ErrInvalidParams{Context: "DescribeStackDriftDetectionStatusInput"}
  5988. if s.StackDriftDetectionId == nil {
  5989. invalidParams.Add(request.NewErrParamRequired("StackDriftDetectionId"))
  5990. }
  5991. if s.StackDriftDetectionId != nil && len(*s.StackDriftDetectionId) < 1 {
  5992. invalidParams.Add(request.NewErrParamMinLen("StackDriftDetectionId", 1))
  5993. }
  5994. if invalidParams.Len() > 0 {
  5995. return invalidParams
  5996. }
  5997. return nil
  5998. }
  5999. // SetStackDriftDetectionId sets the StackDriftDetectionId field's value.
  6000. func (s *DescribeStackDriftDetectionStatusInput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusInput {
  6001. s.StackDriftDetectionId = &v
  6002. return s
  6003. }
  6004. type DescribeStackDriftDetectionStatusOutput struct {
  6005. _ struct{} `type:"structure"`
  6006. // The status of the stack drift detection operation.
  6007. //
  6008. // * DETECTION_COMPLETE: The stack drift detection operation has successfully
  6009. // completed for all resources in the stack that support drift detection.
  6010. // (Resources that do not currently support stack detection remain unchecked.)
  6011. //
  6012. // If you specified logical resource IDs for AWS CloudFormation to use as a
  6013. // filter for the stack drift detection operation, only the resources with
  6014. // those logical IDs are checked for drift.
  6015. //
  6016. // * DETECTION_FAILED: The stack drift detection operation has failed for
  6017. // at least one resource in the stack. Results will be available for resources
  6018. // on which AWS CloudFormation successfully completed drift detection.
  6019. //
  6020. // * DETECTION_IN_PROGRESS: The stack drift detection operation is currently
  6021. // in progress.
  6022. //
  6023. // DetectionStatus is a required field
  6024. DetectionStatus *string `type:"string" required:"true" enum:"StackDriftDetectionStatus"`
  6025. // The reason the stack drift detection operation has its current status.
  6026. DetectionStatusReason *string `type:"string"`
  6027. // Total number of stack resources that have drifted. This is NULL until the
  6028. // drift detection operation reaches a status of DETECTION_COMPLETE. This value
  6029. // will be 0 for stacks whose drift status is IN_SYNC.
  6030. DriftedStackResourceCount *int64 `type:"integer"`
  6031. // The ID of the drift detection results of this operation.
  6032. //
  6033. // AWS CloudFormation generates new results, with a new drift detection ID,
  6034. // each time this operation is run. However, the number of reports AWS CloudFormation
  6035. // retains for any given stack, and for how long, may vary.
  6036. //
  6037. // StackDriftDetectionId is a required field
  6038. StackDriftDetectionId *string `min:"1" type:"string" required:"true"`
  6039. // Status of the stack's actual configuration compared to its expected configuration.
  6040. //
  6041. // * DRIFTED: The stack differs from its expected template configuration.
  6042. // A stack is considered to have drifted if one or more of its resources
  6043. // have drifted.
  6044. //
  6045. // * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs
  6046. // from its expected template configuration.
  6047. //
  6048. // * IN_SYNC: The stack's actual configuration matches its expected template
  6049. // configuration.
  6050. //
  6051. // * UNKNOWN: This value is reserved for future use.
  6052. StackDriftStatus *string `type:"string" enum:"StackDriftStatus"`
  6053. // The ID of the stack.
  6054. //
  6055. // StackId is a required field
  6056. StackId *string `type:"string" required:"true"`
  6057. // Time at which the stack drift detection operation was initiated.
  6058. //
  6059. // Timestamp is a required field
  6060. Timestamp *time.Time `type:"timestamp" required:"true"`
  6061. }
  6062. // String returns the string representation
  6063. func (s DescribeStackDriftDetectionStatusOutput) String() string {
  6064. return awsutil.Prettify(s)
  6065. }
  6066. // GoString returns the string representation
  6067. func (s DescribeStackDriftDetectionStatusOutput) GoString() string {
  6068. return s.String()
  6069. }
  6070. // SetDetectionStatus sets the DetectionStatus field's value.
  6071. func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatus(v string) *DescribeStackDriftDetectionStatusOutput {
  6072. s.DetectionStatus = &v
  6073. return s
  6074. }
  6075. // SetDetectionStatusReason sets the DetectionStatusReason field's value.
  6076. func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatusReason(v string) *DescribeStackDriftDetectionStatusOutput {
  6077. s.DetectionStatusReason = &v
  6078. return s
  6079. }
  6080. // SetDriftedStackResourceCount sets the DriftedStackResourceCount field's value.
  6081. func (s *DescribeStackDriftDetectionStatusOutput) SetDriftedStackResourceCount(v int64) *DescribeStackDriftDetectionStatusOutput {
  6082. s.DriftedStackResourceCount = &v
  6083. return s
  6084. }
  6085. // SetStackDriftDetectionId sets the StackDriftDetectionId field's value.
  6086. func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusOutput {
  6087. s.StackDriftDetectionId = &v
  6088. return s
  6089. }
  6090. // SetStackDriftStatus sets the StackDriftStatus field's value.
  6091. func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftStatus(v string) *DescribeStackDriftDetectionStatusOutput {
  6092. s.StackDriftStatus = &v
  6093. return s
  6094. }
  6095. // SetStackId sets the StackId field's value.
  6096. func (s *DescribeStackDriftDetectionStatusOutput) SetStackId(v string) *DescribeStackDriftDetectionStatusOutput {
  6097. s.StackId = &v
  6098. return s
  6099. }
  6100. // SetTimestamp sets the Timestamp field's value.
  6101. func (s *DescribeStackDriftDetectionStatusOutput) SetTimestamp(v time.Time) *DescribeStackDriftDetectionStatusOutput {
  6102. s.Timestamp = &v
  6103. return s
  6104. }
  6105. // The input for DescribeStackEvents action.
  6106. type DescribeStackEventsInput struct {
  6107. _ struct{} `type:"structure"`
  6108. // A string that identifies the next page of events that you want to retrieve.
  6109. NextToken *string `min:"1" type:"string"`
  6110. // The name or the unique stack ID that is associated with the stack, which
  6111. // are not always interchangeable:
  6112. //
  6113. // * Running stacks: You can specify either the stack's name or its unique
  6114. // stack ID.
  6115. //
  6116. // * Deleted stacks: You must specify the unique stack ID.
  6117. //
  6118. // Default: There is no default value.
  6119. StackName *string `type:"string"`
  6120. }
  6121. // String returns the string representation
  6122. func (s DescribeStackEventsInput) String() string {
  6123. return awsutil.Prettify(s)
  6124. }
  6125. // GoString returns the string representation
  6126. func (s DescribeStackEventsInput) GoString() string {
  6127. return s.String()
  6128. }
  6129. // Validate inspects the fields of the type to determine if they are valid.
  6130. func (s *DescribeStackEventsInput) Validate() error {
  6131. invalidParams := request.ErrInvalidParams{Context: "DescribeStackEventsInput"}
  6132. if s.NextToken != nil && len(*s.NextToken) < 1 {
  6133. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6134. }
  6135. if invalidParams.Len() > 0 {
  6136. return invalidParams
  6137. }
  6138. return nil
  6139. }
  6140. // SetNextToken sets the NextToken field's value.
  6141. func (s *DescribeStackEventsInput) SetNextToken(v string) *DescribeStackEventsInput {
  6142. s.NextToken = &v
  6143. return s
  6144. }
  6145. // SetStackName sets the StackName field's value.
  6146. func (s *DescribeStackEventsInput) SetStackName(v string) *DescribeStackEventsInput {
  6147. s.StackName = &v
  6148. return s
  6149. }
  6150. // The output for a DescribeStackEvents action.
  6151. type DescribeStackEventsOutput struct {
  6152. _ struct{} `type:"structure"`
  6153. // If the output exceeds 1 MB in size, a string that identifies the next page
  6154. // of events. If no additional page exists, this value is null.
  6155. NextToken *string `min:"1" type:"string"`
  6156. // A list of StackEvents structures.
  6157. StackEvents []*StackEvent `type:"list"`
  6158. }
  6159. // String returns the string representation
  6160. func (s DescribeStackEventsOutput) String() string {
  6161. return awsutil.Prettify(s)
  6162. }
  6163. // GoString returns the string representation
  6164. func (s DescribeStackEventsOutput) GoString() string {
  6165. return s.String()
  6166. }
  6167. // SetNextToken sets the NextToken field's value.
  6168. func (s *DescribeStackEventsOutput) SetNextToken(v string) *DescribeStackEventsOutput {
  6169. s.NextToken = &v
  6170. return s
  6171. }
  6172. // SetStackEvents sets the StackEvents field's value.
  6173. func (s *DescribeStackEventsOutput) SetStackEvents(v []*StackEvent) *DescribeStackEventsOutput {
  6174. s.StackEvents = v
  6175. return s
  6176. }
  6177. type DescribeStackInstanceInput struct {
  6178. _ struct{} `type:"structure"`
  6179. // The ID of an AWS account that's associated with this stack instance.
  6180. //
  6181. // StackInstanceAccount is a required field
  6182. StackInstanceAccount *string `type:"string" required:"true"`
  6183. // The name of a region that's associated with this stack instance.
  6184. //
  6185. // StackInstanceRegion is a required field
  6186. StackInstanceRegion *string `type:"string" required:"true"`
  6187. // The name or the unique stack ID of the stack set that you want to get stack
  6188. // instance information for.
  6189. //
  6190. // StackSetName is a required field
  6191. StackSetName *string `type:"string" required:"true"`
  6192. }
  6193. // String returns the string representation
  6194. func (s DescribeStackInstanceInput) String() string {
  6195. return awsutil.Prettify(s)
  6196. }
  6197. // GoString returns the string representation
  6198. func (s DescribeStackInstanceInput) GoString() string {
  6199. return s.String()
  6200. }
  6201. // Validate inspects the fields of the type to determine if they are valid.
  6202. func (s *DescribeStackInstanceInput) Validate() error {
  6203. invalidParams := request.ErrInvalidParams{Context: "DescribeStackInstanceInput"}
  6204. if s.StackInstanceAccount == nil {
  6205. invalidParams.Add(request.NewErrParamRequired("StackInstanceAccount"))
  6206. }
  6207. if s.StackInstanceRegion == nil {
  6208. invalidParams.Add(request.NewErrParamRequired("StackInstanceRegion"))
  6209. }
  6210. if s.StackSetName == nil {
  6211. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  6212. }
  6213. if invalidParams.Len() > 0 {
  6214. return invalidParams
  6215. }
  6216. return nil
  6217. }
  6218. // SetStackInstanceAccount sets the StackInstanceAccount field's value.
  6219. func (s *DescribeStackInstanceInput) SetStackInstanceAccount(v string) *DescribeStackInstanceInput {
  6220. s.StackInstanceAccount = &v
  6221. return s
  6222. }
  6223. // SetStackInstanceRegion sets the StackInstanceRegion field's value.
  6224. func (s *DescribeStackInstanceInput) SetStackInstanceRegion(v string) *DescribeStackInstanceInput {
  6225. s.StackInstanceRegion = &v
  6226. return s
  6227. }
  6228. // SetStackSetName sets the StackSetName field's value.
  6229. func (s *DescribeStackInstanceInput) SetStackSetName(v string) *DescribeStackInstanceInput {
  6230. s.StackSetName = &v
  6231. return s
  6232. }
  6233. type DescribeStackInstanceOutput struct {
  6234. _ struct{} `type:"structure"`
  6235. // The stack instance that matches the specified request parameters.
  6236. StackInstance *StackInstance `type:"structure"`
  6237. }
  6238. // String returns the string representation
  6239. func (s DescribeStackInstanceOutput) String() string {
  6240. return awsutil.Prettify(s)
  6241. }
  6242. // GoString returns the string representation
  6243. func (s DescribeStackInstanceOutput) GoString() string {
  6244. return s.String()
  6245. }
  6246. // SetStackInstance sets the StackInstance field's value.
  6247. func (s *DescribeStackInstanceOutput) SetStackInstance(v *StackInstance) *DescribeStackInstanceOutput {
  6248. s.StackInstance = v
  6249. return s
  6250. }
  6251. type DescribeStackResourceDriftsInput struct {
  6252. _ struct{} `type:"structure"`
  6253. // The maximum number of results to be returned with a single call. If the number
  6254. // of available results exceeds this maximum, the response includes a NextToken
  6255. // value that you can assign to the NextToken request parameter to get the next
  6256. // set of results.
  6257. MaxResults *int64 `min:"1" type:"integer"`
  6258. // A string that identifies the next page of stack resource drift results.
  6259. NextToken *string `min:"1" type:"string"`
  6260. // The name of the stack for which you want drift information.
  6261. //
  6262. // StackName is a required field
  6263. StackName *string `min:"1" type:"string" required:"true"`
  6264. // The resource drift status values to use as filters for the resource drift
  6265. // results returned.
  6266. //
  6267. // * DELETED: The resource differs from its expected template configuration
  6268. // in that the resource has been deleted.
  6269. //
  6270. // * MODIFIED: One or more resource properties differ from their expected
  6271. // template values.
  6272. //
  6273. // * IN_SYNC: The resources's actual configuration matches its expected template
  6274. // configuration.
  6275. //
  6276. // * NOT_CHECKED: AWS CloudFormation does not currently return this value.
  6277. StackResourceDriftStatusFilters []*string `min:"1" type:"list"`
  6278. }
  6279. // String returns the string representation
  6280. func (s DescribeStackResourceDriftsInput) String() string {
  6281. return awsutil.Prettify(s)
  6282. }
  6283. // GoString returns the string representation
  6284. func (s DescribeStackResourceDriftsInput) GoString() string {
  6285. return s.String()
  6286. }
  6287. // Validate inspects the fields of the type to determine if they are valid.
  6288. func (s *DescribeStackResourceDriftsInput) Validate() error {
  6289. invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceDriftsInput"}
  6290. if s.MaxResults != nil && *s.MaxResults < 1 {
  6291. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6292. }
  6293. if s.NextToken != nil && len(*s.NextToken) < 1 {
  6294. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6295. }
  6296. if s.StackName == nil {
  6297. invalidParams.Add(request.NewErrParamRequired("StackName"))
  6298. }
  6299. if s.StackName != nil && len(*s.StackName) < 1 {
  6300. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  6301. }
  6302. if s.StackResourceDriftStatusFilters != nil && len(s.StackResourceDriftStatusFilters) < 1 {
  6303. invalidParams.Add(request.NewErrParamMinLen("StackResourceDriftStatusFilters", 1))
  6304. }
  6305. if invalidParams.Len() > 0 {
  6306. return invalidParams
  6307. }
  6308. return nil
  6309. }
  6310. // SetMaxResults sets the MaxResults field's value.
  6311. func (s *DescribeStackResourceDriftsInput) SetMaxResults(v int64) *DescribeStackResourceDriftsInput {
  6312. s.MaxResults = &v
  6313. return s
  6314. }
  6315. // SetNextToken sets the NextToken field's value.
  6316. func (s *DescribeStackResourceDriftsInput) SetNextToken(v string) *DescribeStackResourceDriftsInput {
  6317. s.NextToken = &v
  6318. return s
  6319. }
  6320. // SetStackName sets the StackName field's value.
  6321. func (s *DescribeStackResourceDriftsInput) SetStackName(v string) *DescribeStackResourceDriftsInput {
  6322. s.StackName = &v
  6323. return s
  6324. }
  6325. // SetStackResourceDriftStatusFilters sets the StackResourceDriftStatusFilters field's value.
  6326. func (s *DescribeStackResourceDriftsInput) SetStackResourceDriftStatusFilters(v []*string) *DescribeStackResourceDriftsInput {
  6327. s.StackResourceDriftStatusFilters = v
  6328. return s
  6329. }
  6330. type DescribeStackResourceDriftsOutput struct {
  6331. _ struct{} `type:"structure"`
  6332. // If the request doesn't return all of the remaining results, NextToken is
  6333. // set to a token. To retrieve the next set of results, call DescribeStackResourceDrifts
  6334. // again and assign that token to the request object's NextToken parameter.
  6335. // If the request returns all results, NextToken is set to null.
  6336. NextToken *string `min:"1" type:"string"`
  6337. // Drift information for the resources that have been checked for drift in the
  6338. // specified stack. This includes actual and expected configuration values for
  6339. // resources where AWS CloudFormation detects drift.
  6340. //
  6341. // For a given stack, there will be one StackResourceDrift for each stack resource
  6342. // that has been checked for drift. Resources that have not yet been checked
  6343. // for drift are not included. Resources that do not currently support drift
  6344. // detection are not checked, and so not included. For a list of resources that
  6345. // support drift detection, see Resources that Support Drift Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  6346. //
  6347. // StackResourceDrifts is a required field
  6348. StackResourceDrifts []*StackResourceDrift `type:"list" required:"true"`
  6349. }
  6350. // String returns the string representation
  6351. func (s DescribeStackResourceDriftsOutput) String() string {
  6352. return awsutil.Prettify(s)
  6353. }
  6354. // GoString returns the string representation
  6355. func (s DescribeStackResourceDriftsOutput) GoString() string {
  6356. return s.String()
  6357. }
  6358. // SetNextToken sets the NextToken field's value.
  6359. func (s *DescribeStackResourceDriftsOutput) SetNextToken(v string) *DescribeStackResourceDriftsOutput {
  6360. s.NextToken = &v
  6361. return s
  6362. }
  6363. // SetStackResourceDrifts sets the StackResourceDrifts field's value.
  6364. func (s *DescribeStackResourceDriftsOutput) SetStackResourceDrifts(v []*StackResourceDrift) *DescribeStackResourceDriftsOutput {
  6365. s.StackResourceDrifts = v
  6366. return s
  6367. }
  6368. // The input for DescribeStackResource action.
  6369. type DescribeStackResourceInput struct {
  6370. _ struct{} `type:"structure"`
  6371. // The logical name of the resource as specified in the template.
  6372. //
  6373. // Default: There is no default value.
  6374. //
  6375. // LogicalResourceId is a required field
  6376. LogicalResourceId *string `type:"string" required:"true"`
  6377. // The name or the unique stack ID that is associated with the stack, which
  6378. // are not always interchangeable:
  6379. //
  6380. // * Running stacks: You can specify either the stack's name or its unique
  6381. // stack ID.
  6382. //
  6383. // * Deleted stacks: You must specify the unique stack ID.
  6384. //
  6385. // Default: There is no default value.
  6386. //
  6387. // StackName is a required field
  6388. StackName *string `type:"string" required:"true"`
  6389. }
  6390. // String returns the string representation
  6391. func (s DescribeStackResourceInput) String() string {
  6392. return awsutil.Prettify(s)
  6393. }
  6394. // GoString returns the string representation
  6395. func (s DescribeStackResourceInput) GoString() string {
  6396. return s.String()
  6397. }
  6398. // Validate inspects the fields of the type to determine if they are valid.
  6399. func (s *DescribeStackResourceInput) Validate() error {
  6400. invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceInput"}
  6401. if s.LogicalResourceId == nil {
  6402. invalidParams.Add(request.NewErrParamRequired("LogicalResourceId"))
  6403. }
  6404. if s.StackName == nil {
  6405. invalidParams.Add(request.NewErrParamRequired("StackName"))
  6406. }
  6407. if invalidParams.Len() > 0 {
  6408. return invalidParams
  6409. }
  6410. return nil
  6411. }
  6412. // SetLogicalResourceId sets the LogicalResourceId field's value.
  6413. func (s *DescribeStackResourceInput) SetLogicalResourceId(v string) *DescribeStackResourceInput {
  6414. s.LogicalResourceId = &v
  6415. return s
  6416. }
  6417. // SetStackName sets the StackName field's value.
  6418. func (s *DescribeStackResourceInput) SetStackName(v string) *DescribeStackResourceInput {
  6419. s.StackName = &v
  6420. return s
  6421. }
  6422. // The output for a DescribeStackResource action.
  6423. type DescribeStackResourceOutput struct {
  6424. _ struct{} `type:"structure"`
  6425. // A StackResourceDetail structure containing the description of the specified
  6426. // resource in the specified stack.
  6427. StackResourceDetail *StackResourceDetail `type:"structure"`
  6428. }
  6429. // String returns the string representation
  6430. func (s DescribeStackResourceOutput) String() string {
  6431. return awsutil.Prettify(s)
  6432. }
  6433. // GoString returns the string representation
  6434. func (s DescribeStackResourceOutput) GoString() string {
  6435. return s.String()
  6436. }
  6437. // SetStackResourceDetail sets the StackResourceDetail field's value.
  6438. func (s *DescribeStackResourceOutput) SetStackResourceDetail(v *StackResourceDetail) *DescribeStackResourceOutput {
  6439. s.StackResourceDetail = v
  6440. return s
  6441. }
  6442. // The input for DescribeStackResources action.
  6443. type DescribeStackResourcesInput struct {
  6444. _ struct{} `type:"structure"`
  6445. // The logical name of the resource as specified in the template.
  6446. //
  6447. // Default: There is no default value.
  6448. LogicalResourceId *string `type:"string"`
  6449. // The name or unique identifier that corresponds to a physical instance ID
  6450. // of a resource supported by AWS CloudFormation.
  6451. //
  6452. // For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId
  6453. // corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources
  6454. // to find which stack the instance belongs to and what other resources are
  6455. // part of the stack.
  6456. //
  6457. // Required: Conditional. If you do not specify PhysicalResourceId, you must
  6458. // specify StackName.
  6459. //
  6460. // Default: There is no default value.
  6461. PhysicalResourceId *string `type:"string"`
  6462. // The name or the unique stack ID that is associated with the stack, which
  6463. // are not always interchangeable:
  6464. //
  6465. // * Running stacks: You can specify either the stack's name or its unique
  6466. // stack ID.
  6467. //
  6468. // * Deleted stacks: You must specify the unique stack ID.
  6469. //
  6470. // Default: There is no default value.
  6471. //
  6472. // Required: Conditional. If you do not specify StackName, you must specify
  6473. // PhysicalResourceId.
  6474. StackName *string `type:"string"`
  6475. }
  6476. // String returns the string representation
  6477. func (s DescribeStackResourcesInput) String() string {
  6478. return awsutil.Prettify(s)
  6479. }
  6480. // GoString returns the string representation
  6481. func (s DescribeStackResourcesInput) GoString() string {
  6482. return s.String()
  6483. }
  6484. // SetLogicalResourceId sets the LogicalResourceId field's value.
  6485. func (s *DescribeStackResourcesInput) SetLogicalResourceId(v string) *DescribeStackResourcesInput {
  6486. s.LogicalResourceId = &v
  6487. return s
  6488. }
  6489. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  6490. func (s *DescribeStackResourcesInput) SetPhysicalResourceId(v string) *DescribeStackResourcesInput {
  6491. s.PhysicalResourceId = &v
  6492. return s
  6493. }
  6494. // SetStackName sets the StackName field's value.
  6495. func (s *DescribeStackResourcesInput) SetStackName(v string) *DescribeStackResourcesInput {
  6496. s.StackName = &v
  6497. return s
  6498. }
  6499. // The output for a DescribeStackResources action.
  6500. type DescribeStackResourcesOutput struct {
  6501. _ struct{} `type:"structure"`
  6502. // A list of StackResource structures.
  6503. StackResources []*StackResource `type:"list"`
  6504. }
  6505. // String returns the string representation
  6506. func (s DescribeStackResourcesOutput) String() string {
  6507. return awsutil.Prettify(s)
  6508. }
  6509. // GoString returns the string representation
  6510. func (s DescribeStackResourcesOutput) GoString() string {
  6511. return s.String()
  6512. }
  6513. // SetStackResources sets the StackResources field's value.
  6514. func (s *DescribeStackResourcesOutput) SetStackResources(v []*StackResource) *DescribeStackResourcesOutput {
  6515. s.StackResources = v
  6516. return s
  6517. }
  6518. type DescribeStackSetInput struct {
  6519. _ struct{} `type:"structure"`
  6520. // The name or unique ID of the stack set whose description you want.
  6521. //
  6522. // StackSetName is a required field
  6523. StackSetName *string `type:"string" required:"true"`
  6524. }
  6525. // String returns the string representation
  6526. func (s DescribeStackSetInput) String() string {
  6527. return awsutil.Prettify(s)
  6528. }
  6529. // GoString returns the string representation
  6530. func (s DescribeStackSetInput) GoString() string {
  6531. return s.String()
  6532. }
  6533. // Validate inspects the fields of the type to determine if they are valid.
  6534. func (s *DescribeStackSetInput) Validate() error {
  6535. invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetInput"}
  6536. if s.StackSetName == nil {
  6537. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  6538. }
  6539. if invalidParams.Len() > 0 {
  6540. return invalidParams
  6541. }
  6542. return nil
  6543. }
  6544. // SetStackSetName sets the StackSetName field's value.
  6545. func (s *DescribeStackSetInput) SetStackSetName(v string) *DescribeStackSetInput {
  6546. s.StackSetName = &v
  6547. return s
  6548. }
  6549. type DescribeStackSetOperationInput struct {
  6550. _ struct{} `type:"structure"`
  6551. // The unique ID of the stack set operation.
  6552. //
  6553. // OperationId is a required field
  6554. OperationId *string `min:"1" type:"string" required:"true"`
  6555. // The name or the unique stack ID of the stack set for the stack operation.
  6556. //
  6557. // StackSetName is a required field
  6558. StackSetName *string `type:"string" required:"true"`
  6559. }
  6560. // String returns the string representation
  6561. func (s DescribeStackSetOperationInput) String() string {
  6562. return awsutil.Prettify(s)
  6563. }
  6564. // GoString returns the string representation
  6565. func (s DescribeStackSetOperationInput) GoString() string {
  6566. return s.String()
  6567. }
  6568. // Validate inspects the fields of the type to determine if they are valid.
  6569. func (s *DescribeStackSetOperationInput) Validate() error {
  6570. invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetOperationInput"}
  6571. if s.OperationId == nil {
  6572. invalidParams.Add(request.NewErrParamRequired("OperationId"))
  6573. }
  6574. if s.OperationId != nil && len(*s.OperationId) < 1 {
  6575. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  6576. }
  6577. if s.StackSetName == nil {
  6578. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  6579. }
  6580. if invalidParams.Len() > 0 {
  6581. return invalidParams
  6582. }
  6583. return nil
  6584. }
  6585. // SetOperationId sets the OperationId field's value.
  6586. func (s *DescribeStackSetOperationInput) SetOperationId(v string) *DescribeStackSetOperationInput {
  6587. s.OperationId = &v
  6588. return s
  6589. }
  6590. // SetStackSetName sets the StackSetName field's value.
  6591. func (s *DescribeStackSetOperationInput) SetStackSetName(v string) *DescribeStackSetOperationInput {
  6592. s.StackSetName = &v
  6593. return s
  6594. }
  6595. type DescribeStackSetOperationOutput struct {
  6596. _ struct{} `type:"structure"`
  6597. // The specified stack set operation.
  6598. StackSetOperation *StackSetOperation `type:"structure"`
  6599. }
  6600. // String returns the string representation
  6601. func (s DescribeStackSetOperationOutput) String() string {
  6602. return awsutil.Prettify(s)
  6603. }
  6604. // GoString returns the string representation
  6605. func (s DescribeStackSetOperationOutput) GoString() string {
  6606. return s.String()
  6607. }
  6608. // SetStackSetOperation sets the StackSetOperation field's value.
  6609. func (s *DescribeStackSetOperationOutput) SetStackSetOperation(v *StackSetOperation) *DescribeStackSetOperationOutput {
  6610. s.StackSetOperation = v
  6611. return s
  6612. }
  6613. type DescribeStackSetOutput struct {
  6614. _ struct{} `type:"structure"`
  6615. // The specified stack set.
  6616. StackSet *StackSet `type:"structure"`
  6617. }
  6618. // String returns the string representation
  6619. func (s DescribeStackSetOutput) String() string {
  6620. return awsutil.Prettify(s)
  6621. }
  6622. // GoString returns the string representation
  6623. func (s DescribeStackSetOutput) GoString() string {
  6624. return s.String()
  6625. }
  6626. // SetStackSet sets the StackSet field's value.
  6627. func (s *DescribeStackSetOutput) SetStackSet(v *StackSet) *DescribeStackSetOutput {
  6628. s.StackSet = v
  6629. return s
  6630. }
  6631. // The input for DescribeStacks action.
  6632. type DescribeStacksInput struct {
  6633. _ struct{} `type:"structure"`
  6634. // A string that identifies the next page of stacks that you want to retrieve.
  6635. NextToken *string `min:"1" type:"string"`
  6636. // The name or the unique stack ID that is associated with the stack, which
  6637. // are not always interchangeable:
  6638. //
  6639. // * Running stacks: You can specify either the stack's name or its unique
  6640. // stack ID.
  6641. //
  6642. // * Deleted stacks: You must specify the unique stack ID.
  6643. //
  6644. // Default: There is no default value.
  6645. StackName *string `type:"string"`
  6646. }
  6647. // String returns the string representation
  6648. func (s DescribeStacksInput) String() string {
  6649. return awsutil.Prettify(s)
  6650. }
  6651. // GoString returns the string representation
  6652. func (s DescribeStacksInput) GoString() string {
  6653. return s.String()
  6654. }
  6655. // Validate inspects the fields of the type to determine if they are valid.
  6656. func (s *DescribeStacksInput) Validate() error {
  6657. invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"}
  6658. if s.NextToken != nil && len(*s.NextToken) < 1 {
  6659. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6660. }
  6661. if invalidParams.Len() > 0 {
  6662. return invalidParams
  6663. }
  6664. return nil
  6665. }
  6666. // SetNextToken sets the NextToken field's value.
  6667. func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput {
  6668. s.NextToken = &v
  6669. return s
  6670. }
  6671. // SetStackName sets the StackName field's value.
  6672. func (s *DescribeStacksInput) SetStackName(v string) *DescribeStacksInput {
  6673. s.StackName = &v
  6674. return s
  6675. }
  6676. // The output for a DescribeStacks action.
  6677. type DescribeStacksOutput struct {
  6678. _ struct{} `type:"structure"`
  6679. // If the output exceeds 1 MB in size, a string that identifies the next page
  6680. // of stacks. If no additional page exists, this value is null.
  6681. NextToken *string `min:"1" type:"string"`
  6682. // A list of stack structures.
  6683. Stacks []*Stack `type:"list"`
  6684. }
  6685. // String returns the string representation
  6686. func (s DescribeStacksOutput) String() string {
  6687. return awsutil.Prettify(s)
  6688. }
  6689. // GoString returns the string representation
  6690. func (s DescribeStacksOutput) GoString() string {
  6691. return s.String()
  6692. }
  6693. // SetNextToken sets the NextToken field's value.
  6694. func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput {
  6695. s.NextToken = &v
  6696. return s
  6697. }
  6698. // SetStacks sets the Stacks field's value.
  6699. func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
  6700. s.Stacks = v
  6701. return s
  6702. }
  6703. type DetectStackDriftInput struct {
  6704. _ struct{} `type:"structure"`
  6705. // The logical names of any resources you want to use as filters.
  6706. LogicalResourceIds []*string `min:"1" type:"list"`
  6707. // The name of the stack for which you want to detect drift.
  6708. //
  6709. // StackName is a required field
  6710. StackName *string `min:"1" type:"string" required:"true"`
  6711. }
  6712. // String returns the string representation
  6713. func (s DetectStackDriftInput) String() string {
  6714. return awsutil.Prettify(s)
  6715. }
  6716. // GoString returns the string representation
  6717. func (s DetectStackDriftInput) GoString() string {
  6718. return s.String()
  6719. }
  6720. // Validate inspects the fields of the type to determine if they are valid.
  6721. func (s *DetectStackDriftInput) Validate() error {
  6722. invalidParams := request.ErrInvalidParams{Context: "DetectStackDriftInput"}
  6723. if s.LogicalResourceIds != nil && len(s.LogicalResourceIds) < 1 {
  6724. invalidParams.Add(request.NewErrParamMinLen("LogicalResourceIds", 1))
  6725. }
  6726. if s.StackName == nil {
  6727. invalidParams.Add(request.NewErrParamRequired("StackName"))
  6728. }
  6729. if s.StackName != nil && len(*s.StackName) < 1 {
  6730. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  6731. }
  6732. if invalidParams.Len() > 0 {
  6733. return invalidParams
  6734. }
  6735. return nil
  6736. }
  6737. // SetLogicalResourceIds sets the LogicalResourceIds field's value.
  6738. func (s *DetectStackDriftInput) SetLogicalResourceIds(v []*string) *DetectStackDriftInput {
  6739. s.LogicalResourceIds = v
  6740. return s
  6741. }
  6742. // SetStackName sets the StackName field's value.
  6743. func (s *DetectStackDriftInput) SetStackName(v string) *DetectStackDriftInput {
  6744. s.StackName = &v
  6745. return s
  6746. }
  6747. type DetectStackDriftOutput struct {
  6748. _ struct{} `type:"structure"`
  6749. // The ID of the drift detection results of this operation.
  6750. //
  6751. // AWS CloudFormation generates new results, with a new drift detection ID,
  6752. // each time this operation is run. However, the number of drift results AWS
  6753. // CloudFormation retains for any given stack, and for how long, may vary.
  6754. //
  6755. // StackDriftDetectionId is a required field
  6756. StackDriftDetectionId *string `min:"1" type:"string" required:"true"`
  6757. }
  6758. // String returns the string representation
  6759. func (s DetectStackDriftOutput) String() string {
  6760. return awsutil.Prettify(s)
  6761. }
  6762. // GoString returns the string representation
  6763. func (s DetectStackDriftOutput) GoString() string {
  6764. return s.String()
  6765. }
  6766. // SetStackDriftDetectionId sets the StackDriftDetectionId field's value.
  6767. func (s *DetectStackDriftOutput) SetStackDriftDetectionId(v string) *DetectStackDriftOutput {
  6768. s.StackDriftDetectionId = &v
  6769. return s
  6770. }
  6771. type DetectStackResourceDriftInput struct {
  6772. _ struct{} `type:"structure"`
  6773. // The logical name of the resource for which to return drift information.
  6774. //
  6775. // LogicalResourceId is a required field
  6776. LogicalResourceId *string `type:"string" required:"true"`
  6777. // The name of the stack to which the resource belongs.
  6778. //
  6779. // StackName is a required field
  6780. StackName *string `min:"1" type:"string" required:"true"`
  6781. }
  6782. // String returns the string representation
  6783. func (s DetectStackResourceDriftInput) String() string {
  6784. return awsutil.Prettify(s)
  6785. }
  6786. // GoString returns the string representation
  6787. func (s DetectStackResourceDriftInput) GoString() string {
  6788. return s.String()
  6789. }
  6790. // Validate inspects the fields of the type to determine if they are valid.
  6791. func (s *DetectStackResourceDriftInput) Validate() error {
  6792. invalidParams := request.ErrInvalidParams{Context: "DetectStackResourceDriftInput"}
  6793. if s.LogicalResourceId == nil {
  6794. invalidParams.Add(request.NewErrParamRequired("LogicalResourceId"))
  6795. }
  6796. if s.StackName == nil {
  6797. invalidParams.Add(request.NewErrParamRequired("StackName"))
  6798. }
  6799. if s.StackName != nil && len(*s.StackName) < 1 {
  6800. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  6801. }
  6802. if invalidParams.Len() > 0 {
  6803. return invalidParams
  6804. }
  6805. return nil
  6806. }
  6807. // SetLogicalResourceId sets the LogicalResourceId field's value.
  6808. func (s *DetectStackResourceDriftInput) SetLogicalResourceId(v string) *DetectStackResourceDriftInput {
  6809. s.LogicalResourceId = &v
  6810. return s
  6811. }
  6812. // SetStackName sets the StackName field's value.
  6813. func (s *DetectStackResourceDriftInput) SetStackName(v string) *DetectStackResourceDriftInput {
  6814. s.StackName = &v
  6815. return s
  6816. }
  6817. type DetectStackResourceDriftOutput struct {
  6818. _ struct{} `type:"structure"`
  6819. // Information about whether the resource's actual configuration has drifted
  6820. // from its expected template configuration, including actual and expected property
  6821. // values and any differences detected.
  6822. //
  6823. // StackResourceDrift is a required field
  6824. StackResourceDrift *StackResourceDrift `type:"structure" required:"true"`
  6825. }
  6826. // String returns the string representation
  6827. func (s DetectStackResourceDriftOutput) String() string {
  6828. return awsutil.Prettify(s)
  6829. }
  6830. // GoString returns the string representation
  6831. func (s DetectStackResourceDriftOutput) GoString() string {
  6832. return s.String()
  6833. }
  6834. // SetStackResourceDrift sets the StackResourceDrift field's value.
  6835. func (s *DetectStackResourceDriftOutput) SetStackResourceDrift(v *StackResourceDrift) *DetectStackResourceDriftOutput {
  6836. s.StackResourceDrift = v
  6837. return s
  6838. }
  6839. // The input for an EstimateTemplateCost action.
  6840. type EstimateTemplateCostInput struct {
  6841. _ struct{} `type:"structure"`
  6842. // A list of Parameter structures that specify input parameters.
  6843. Parameters []*Parameter `type:"list"`
  6844. // Structure containing the template body with a minimum length of 1 byte and
  6845. // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy
  6846. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  6847. // in the AWS CloudFormation User Guide.)
  6848. //
  6849. // Conditional: You must pass TemplateBody or TemplateURL. If both are passed,
  6850. // only TemplateBody is used.
  6851. TemplateBody *string `min:"1" type:"string"`
  6852. // Location of file containing the template body. The URL must point to a template
  6853. // that is located in an Amazon S3 bucket. For more information, go to Template
  6854. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  6855. // in the AWS CloudFormation User Guide.
  6856. //
  6857. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  6858. // only TemplateBody is used.
  6859. TemplateURL *string `min:"1" type:"string"`
  6860. }
  6861. // String returns the string representation
  6862. func (s EstimateTemplateCostInput) String() string {
  6863. return awsutil.Prettify(s)
  6864. }
  6865. // GoString returns the string representation
  6866. func (s EstimateTemplateCostInput) GoString() string {
  6867. return s.String()
  6868. }
  6869. // Validate inspects the fields of the type to determine if they are valid.
  6870. func (s *EstimateTemplateCostInput) Validate() error {
  6871. invalidParams := request.ErrInvalidParams{Context: "EstimateTemplateCostInput"}
  6872. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  6873. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  6874. }
  6875. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  6876. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  6877. }
  6878. if invalidParams.Len() > 0 {
  6879. return invalidParams
  6880. }
  6881. return nil
  6882. }
  6883. // SetParameters sets the Parameters field's value.
  6884. func (s *EstimateTemplateCostInput) SetParameters(v []*Parameter) *EstimateTemplateCostInput {
  6885. s.Parameters = v
  6886. return s
  6887. }
  6888. // SetTemplateBody sets the TemplateBody field's value.
  6889. func (s *EstimateTemplateCostInput) SetTemplateBody(v string) *EstimateTemplateCostInput {
  6890. s.TemplateBody = &v
  6891. return s
  6892. }
  6893. // SetTemplateURL sets the TemplateURL field's value.
  6894. func (s *EstimateTemplateCostInput) SetTemplateURL(v string) *EstimateTemplateCostInput {
  6895. s.TemplateURL = &v
  6896. return s
  6897. }
  6898. // The output for a EstimateTemplateCost action.
  6899. type EstimateTemplateCostOutput struct {
  6900. _ struct{} `type:"structure"`
  6901. // An AWS Simple Monthly Calculator URL with a query string that describes the
  6902. // resources required to run the template.
  6903. Url *string `type:"string"`
  6904. }
  6905. // String returns the string representation
  6906. func (s EstimateTemplateCostOutput) String() string {
  6907. return awsutil.Prettify(s)
  6908. }
  6909. // GoString returns the string representation
  6910. func (s EstimateTemplateCostOutput) GoString() string {
  6911. return s.String()
  6912. }
  6913. // SetUrl sets the Url field's value.
  6914. func (s *EstimateTemplateCostOutput) SetUrl(v string) *EstimateTemplateCostOutput {
  6915. s.Url = &v
  6916. return s
  6917. }
  6918. // The input for the ExecuteChangeSet action.
  6919. type ExecuteChangeSetInput struct {
  6920. _ struct{} `type:"structure"`
  6921. // The name or ARN of the change set that you want use to update the specified
  6922. // stack.
  6923. //
  6924. // ChangeSetName is a required field
  6925. ChangeSetName *string `min:"1" type:"string" required:"true"`
  6926. // A unique identifier for this ExecuteChangeSet request. Specify this token
  6927. // if you plan to retry requests so that AWS CloudFormation knows that you're
  6928. // not attempting to execute a change set to update a stack with the same name.
  6929. // You might retry ExecuteChangeSet requests to ensure that AWS CloudFormation
  6930. // successfully received them.
  6931. ClientRequestToken *string `min:"1" type:"string"`
  6932. // If you specified the name of a change set, specify the stack name or ID (ARN)
  6933. // that is associated with the change set you want to execute.
  6934. StackName *string `min:"1" type:"string"`
  6935. }
  6936. // String returns the string representation
  6937. func (s ExecuteChangeSetInput) String() string {
  6938. return awsutil.Prettify(s)
  6939. }
  6940. // GoString returns the string representation
  6941. func (s ExecuteChangeSetInput) GoString() string {
  6942. return s.String()
  6943. }
  6944. // Validate inspects the fields of the type to determine if they are valid.
  6945. func (s *ExecuteChangeSetInput) Validate() error {
  6946. invalidParams := request.ErrInvalidParams{Context: "ExecuteChangeSetInput"}
  6947. if s.ChangeSetName == nil {
  6948. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  6949. }
  6950. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  6951. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  6952. }
  6953. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  6954. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  6955. }
  6956. if s.StackName != nil && len(*s.StackName) < 1 {
  6957. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  6958. }
  6959. if invalidParams.Len() > 0 {
  6960. return invalidParams
  6961. }
  6962. return nil
  6963. }
  6964. // SetChangeSetName sets the ChangeSetName field's value.
  6965. func (s *ExecuteChangeSetInput) SetChangeSetName(v string) *ExecuteChangeSetInput {
  6966. s.ChangeSetName = &v
  6967. return s
  6968. }
  6969. // SetClientRequestToken sets the ClientRequestToken field's value.
  6970. func (s *ExecuteChangeSetInput) SetClientRequestToken(v string) *ExecuteChangeSetInput {
  6971. s.ClientRequestToken = &v
  6972. return s
  6973. }
  6974. // SetStackName sets the StackName field's value.
  6975. func (s *ExecuteChangeSetInput) SetStackName(v string) *ExecuteChangeSetInput {
  6976. s.StackName = &v
  6977. return s
  6978. }
  6979. // The output for the ExecuteChangeSet action.
  6980. type ExecuteChangeSetOutput struct {
  6981. _ struct{} `type:"structure"`
  6982. }
  6983. // String returns the string representation
  6984. func (s ExecuteChangeSetOutput) String() string {
  6985. return awsutil.Prettify(s)
  6986. }
  6987. // GoString returns the string representation
  6988. func (s ExecuteChangeSetOutput) GoString() string {
  6989. return s.String()
  6990. }
  6991. // The Export structure describes the exported output values for a stack.
  6992. type Export struct {
  6993. _ struct{} `type:"structure"`
  6994. // The stack that contains the exported output name and value.
  6995. ExportingStackId *string `type:"string"`
  6996. // The name of exported output value. Use this name and the Fn::ImportValue
  6997. // function to import the associated value into other stacks. The name is defined
  6998. // in the Export field in the associated stack's Outputs section.
  6999. Name *string `type:"string"`
  7000. // The value of the exported output, such as a resource physical ID. This value
  7001. // is defined in the Export field in the associated stack's Outputs section.
  7002. Value *string `type:"string"`
  7003. }
  7004. // String returns the string representation
  7005. func (s Export) String() string {
  7006. return awsutil.Prettify(s)
  7007. }
  7008. // GoString returns the string representation
  7009. func (s Export) GoString() string {
  7010. return s.String()
  7011. }
  7012. // SetExportingStackId sets the ExportingStackId field's value.
  7013. func (s *Export) SetExportingStackId(v string) *Export {
  7014. s.ExportingStackId = &v
  7015. return s
  7016. }
  7017. // SetName sets the Name field's value.
  7018. func (s *Export) SetName(v string) *Export {
  7019. s.Name = &v
  7020. return s
  7021. }
  7022. // SetValue sets the Value field's value.
  7023. func (s *Export) SetValue(v string) *Export {
  7024. s.Value = &v
  7025. return s
  7026. }
  7027. // The input for the GetStackPolicy action.
  7028. type GetStackPolicyInput struct {
  7029. _ struct{} `type:"structure"`
  7030. // The name or unique stack ID that is associated with the stack whose policy
  7031. // you want to get.
  7032. //
  7033. // StackName is a required field
  7034. StackName *string `type:"string" required:"true"`
  7035. }
  7036. // String returns the string representation
  7037. func (s GetStackPolicyInput) String() string {
  7038. return awsutil.Prettify(s)
  7039. }
  7040. // GoString returns the string representation
  7041. func (s GetStackPolicyInput) GoString() string {
  7042. return s.String()
  7043. }
  7044. // Validate inspects the fields of the type to determine if they are valid.
  7045. func (s *GetStackPolicyInput) Validate() error {
  7046. invalidParams := request.ErrInvalidParams{Context: "GetStackPolicyInput"}
  7047. if s.StackName == nil {
  7048. invalidParams.Add(request.NewErrParamRequired("StackName"))
  7049. }
  7050. if invalidParams.Len() > 0 {
  7051. return invalidParams
  7052. }
  7053. return nil
  7054. }
  7055. // SetStackName sets the StackName field's value.
  7056. func (s *GetStackPolicyInput) SetStackName(v string) *GetStackPolicyInput {
  7057. s.StackName = &v
  7058. return s
  7059. }
  7060. // The output for the GetStackPolicy action.
  7061. type GetStackPolicyOutput struct {
  7062. _ struct{} `type:"structure"`
  7063. // Structure containing the stack policy body. (For more information, go to
  7064. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  7065. // in the AWS CloudFormation User Guide.)
  7066. StackPolicyBody *string `min:"1" type:"string"`
  7067. }
  7068. // String returns the string representation
  7069. func (s GetStackPolicyOutput) String() string {
  7070. return awsutil.Prettify(s)
  7071. }
  7072. // GoString returns the string representation
  7073. func (s GetStackPolicyOutput) GoString() string {
  7074. return s.String()
  7075. }
  7076. // SetStackPolicyBody sets the StackPolicyBody field's value.
  7077. func (s *GetStackPolicyOutput) SetStackPolicyBody(v string) *GetStackPolicyOutput {
  7078. s.StackPolicyBody = &v
  7079. return s
  7080. }
  7081. // The input for a GetTemplate action.
  7082. type GetTemplateInput struct {
  7083. _ struct{} `type:"structure"`
  7084. // The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation
  7085. // returns the associated template. If you specify a name, you must also specify
  7086. // the StackName.
  7087. ChangeSetName *string `min:"1" type:"string"`
  7088. // The name or the unique stack ID that is associated with the stack, which
  7089. // are not always interchangeable:
  7090. //
  7091. // * Running stacks: You can specify either the stack's name or its unique
  7092. // stack ID.
  7093. //
  7094. // * Deleted stacks: You must specify the unique stack ID.
  7095. //
  7096. // Default: There is no default value.
  7097. StackName *string `type:"string"`
  7098. // For templates that include transforms, the stage of the template that AWS
  7099. // CloudFormation returns. To get the user-submitted template, specify Original.
  7100. // To get the template after AWS CloudFormation has processed all transforms,
  7101. // specify Processed.
  7102. //
  7103. // If the template doesn't include transforms, Original and Processed return
  7104. // the same template. By default, AWS CloudFormation specifies Original.
  7105. TemplateStage *string `type:"string" enum:"TemplateStage"`
  7106. }
  7107. // String returns the string representation
  7108. func (s GetTemplateInput) String() string {
  7109. return awsutil.Prettify(s)
  7110. }
  7111. // GoString returns the string representation
  7112. func (s GetTemplateInput) GoString() string {
  7113. return s.String()
  7114. }
  7115. // Validate inspects the fields of the type to determine if they are valid.
  7116. func (s *GetTemplateInput) Validate() error {
  7117. invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"}
  7118. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  7119. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  7120. }
  7121. if invalidParams.Len() > 0 {
  7122. return invalidParams
  7123. }
  7124. return nil
  7125. }
  7126. // SetChangeSetName sets the ChangeSetName field's value.
  7127. func (s *GetTemplateInput) SetChangeSetName(v string) *GetTemplateInput {
  7128. s.ChangeSetName = &v
  7129. return s
  7130. }
  7131. // SetStackName sets the StackName field's value.
  7132. func (s *GetTemplateInput) SetStackName(v string) *GetTemplateInput {
  7133. s.StackName = &v
  7134. return s
  7135. }
  7136. // SetTemplateStage sets the TemplateStage field's value.
  7137. func (s *GetTemplateInput) SetTemplateStage(v string) *GetTemplateInput {
  7138. s.TemplateStage = &v
  7139. return s
  7140. }
  7141. // The output for GetTemplate action.
  7142. type GetTemplateOutput struct {
  7143. _ struct{} `type:"structure"`
  7144. // The stage of the template that you can retrieve. For stacks, the Original
  7145. // and Processed templates are always available. For change sets, the Original
  7146. // template is always available. After AWS CloudFormation finishes creating
  7147. // the change set, the Processed template becomes available.
  7148. StagesAvailable []*string `type:"list"`
  7149. // Structure containing the template body. (For more information, go to Template
  7150. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  7151. // in the AWS CloudFormation User Guide.)
  7152. //
  7153. // AWS CloudFormation returns the same template that was used when the stack
  7154. // was created.
  7155. TemplateBody *string `min:"1" type:"string"`
  7156. }
  7157. // String returns the string representation
  7158. func (s GetTemplateOutput) String() string {
  7159. return awsutil.Prettify(s)
  7160. }
  7161. // GoString returns the string representation
  7162. func (s GetTemplateOutput) GoString() string {
  7163. return s.String()
  7164. }
  7165. // SetStagesAvailable sets the StagesAvailable field's value.
  7166. func (s *GetTemplateOutput) SetStagesAvailable(v []*string) *GetTemplateOutput {
  7167. s.StagesAvailable = v
  7168. return s
  7169. }
  7170. // SetTemplateBody sets the TemplateBody field's value.
  7171. func (s *GetTemplateOutput) SetTemplateBody(v string) *GetTemplateOutput {
  7172. s.TemplateBody = &v
  7173. return s
  7174. }
  7175. // The input for the GetTemplateSummary action.
  7176. type GetTemplateSummaryInput struct {
  7177. _ struct{} `type:"structure"`
  7178. // The name or the stack ID that is associated with the stack, which are not
  7179. // always interchangeable. For running stacks, you can specify either the stack's
  7180. // name or its unique stack ID. For deleted stack, you must specify the unique
  7181. // stack ID.
  7182. //
  7183. // Conditional: You must specify only one of the following parameters: StackName,
  7184. // StackSetName, TemplateBody, or TemplateURL.
  7185. StackName *string `min:"1" type:"string"`
  7186. // The name or unique ID of the stack set from which the stack was created.
  7187. //
  7188. // Conditional: You must specify only one of the following parameters: StackName,
  7189. // StackSetName, TemplateBody, or TemplateURL.
  7190. StackSetName *string `type:"string"`
  7191. // Structure containing the template body with a minimum length of 1 byte and
  7192. // a maximum length of 51,200 bytes. For more information about templates, see
  7193. // Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  7194. // in the AWS CloudFormation User Guide.
  7195. //
  7196. // Conditional: You must specify only one of the following parameters: StackName,
  7197. // StackSetName, TemplateBody, or TemplateURL.
  7198. TemplateBody *string `min:"1" type:"string"`
  7199. // Location of file containing the template body. The URL must point to a template
  7200. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  7201. // information about templates, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  7202. // in the AWS CloudFormation User Guide.
  7203. //
  7204. // Conditional: You must specify only one of the following parameters: StackName,
  7205. // StackSetName, TemplateBody, or TemplateURL.
  7206. TemplateURL *string `min:"1" type:"string"`
  7207. }
  7208. // String returns the string representation
  7209. func (s GetTemplateSummaryInput) String() string {
  7210. return awsutil.Prettify(s)
  7211. }
  7212. // GoString returns the string representation
  7213. func (s GetTemplateSummaryInput) GoString() string {
  7214. return s.String()
  7215. }
  7216. // Validate inspects the fields of the type to determine if they are valid.
  7217. func (s *GetTemplateSummaryInput) Validate() error {
  7218. invalidParams := request.ErrInvalidParams{Context: "GetTemplateSummaryInput"}
  7219. if s.StackName != nil && len(*s.StackName) < 1 {
  7220. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  7221. }
  7222. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  7223. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  7224. }
  7225. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  7226. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  7227. }
  7228. if invalidParams.Len() > 0 {
  7229. return invalidParams
  7230. }
  7231. return nil
  7232. }
  7233. // SetStackName sets the StackName field's value.
  7234. func (s *GetTemplateSummaryInput) SetStackName(v string) *GetTemplateSummaryInput {
  7235. s.StackName = &v
  7236. return s
  7237. }
  7238. // SetStackSetName sets the StackSetName field's value.
  7239. func (s *GetTemplateSummaryInput) SetStackSetName(v string) *GetTemplateSummaryInput {
  7240. s.StackSetName = &v
  7241. return s
  7242. }
  7243. // SetTemplateBody sets the TemplateBody field's value.
  7244. func (s *GetTemplateSummaryInput) SetTemplateBody(v string) *GetTemplateSummaryInput {
  7245. s.TemplateBody = &v
  7246. return s
  7247. }
  7248. // SetTemplateURL sets the TemplateURL field's value.
  7249. func (s *GetTemplateSummaryInput) SetTemplateURL(v string) *GetTemplateSummaryInput {
  7250. s.TemplateURL = &v
  7251. return s
  7252. }
  7253. // The output for the GetTemplateSummary action.
  7254. type GetTemplateSummaryOutput struct {
  7255. _ struct{} `type:"structure"`
  7256. // The capabilities found within the template. If your template contains IAM
  7257. // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value
  7258. // for this parameter when you use the CreateStack or UpdateStack actions with
  7259. // your template; otherwise, those actions return an InsufficientCapabilities
  7260. // error.
  7261. //
  7262. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  7263. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  7264. Capabilities []*string `type:"list"`
  7265. // The list of resources that generated the values in the Capabilities response
  7266. // element.
  7267. CapabilitiesReason *string `type:"string"`
  7268. // A list of the transforms that are declared in the template.
  7269. DeclaredTransforms []*string `type:"list"`
  7270. // The value that is defined in the Description property of the template.
  7271. Description *string `min:"1" type:"string"`
  7272. // The value that is defined for the Metadata property of the template.
  7273. Metadata *string `type:"string"`
  7274. // A list of parameter declarations that describe various properties for each
  7275. // parameter.
  7276. Parameters []*ParameterDeclaration `type:"list"`
  7277. // A list of all the template resource types that are defined in the template,
  7278. // such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance.
  7279. ResourceTypes []*string `type:"list"`
  7280. // The AWS template format version, which identifies the capabilities of the
  7281. // template.
  7282. Version *string `type:"string"`
  7283. }
  7284. // String returns the string representation
  7285. func (s GetTemplateSummaryOutput) String() string {
  7286. return awsutil.Prettify(s)
  7287. }
  7288. // GoString returns the string representation
  7289. func (s GetTemplateSummaryOutput) GoString() string {
  7290. return s.String()
  7291. }
  7292. // SetCapabilities sets the Capabilities field's value.
  7293. func (s *GetTemplateSummaryOutput) SetCapabilities(v []*string) *GetTemplateSummaryOutput {
  7294. s.Capabilities = v
  7295. return s
  7296. }
  7297. // SetCapabilitiesReason sets the CapabilitiesReason field's value.
  7298. func (s *GetTemplateSummaryOutput) SetCapabilitiesReason(v string) *GetTemplateSummaryOutput {
  7299. s.CapabilitiesReason = &v
  7300. return s
  7301. }
  7302. // SetDeclaredTransforms sets the DeclaredTransforms field's value.
  7303. func (s *GetTemplateSummaryOutput) SetDeclaredTransforms(v []*string) *GetTemplateSummaryOutput {
  7304. s.DeclaredTransforms = v
  7305. return s
  7306. }
  7307. // SetDescription sets the Description field's value.
  7308. func (s *GetTemplateSummaryOutput) SetDescription(v string) *GetTemplateSummaryOutput {
  7309. s.Description = &v
  7310. return s
  7311. }
  7312. // SetMetadata sets the Metadata field's value.
  7313. func (s *GetTemplateSummaryOutput) SetMetadata(v string) *GetTemplateSummaryOutput {
  7314. s.Metadata = &v
  7315. return s
  7316. }
  7317. // SetParameters sets the Parameters field's value.
  7318. func (s *GetTemplateSummaryOutput) SetParameters(v []*ParameterDeclaration) *GetTemplateSummaryOutput {
  7319. s.Parameters = v
  7320. return s
  7321. }
  7322. // SetResourceTypes sets the ResourceTypes field's value.
  7323. func (s *GetTemplateSummaryOutput) SetResourceTypes(v []*string) *GetTemplateSummaryOutput {
  7324. s.ResourceTypes = v
  7325. return s
  7326. }
  7327. // SetVersion sets the Version field's value.
  7328. func (s *GetTemplateSummaryOutput) SetVersion(v string) *GetTemplateSummaryOutput {
  7329. s.Version = &v
  7330. return s
  7331. }
  7332. // The input for the ListChangeSets action.
  7333. type ListChangeSetsInput struct {
  7334. _ struct{} `type:"structure"`
  7335. // A string (provided by the ListChangeSets response output) that identifies
  7336. // the next page of change sets that you want to retrieve.
  7337. NextToken *string `min:"1" type:"string"`
  7338. // The name or the Amazon Resource Name (ARN) of the stack for which you want
  7339. // to list change sets.
  7340. //
  7341. // StackName is a required field
  7342. StackName *string `min:"1" type:"string" required:"true"`
  7343. }
  7344. // String returns the string representation
  7345. func (s ListChangeSetsInput) String() string {
  7346. return awsutil.Prettify(s)
  7347. }
  7348. // GoString returns the string representation
  7349. func (s ListChangeSetsInput) GoString() string {
  7350. return s.String()
  7351. }
  7352. // Validate inspects the fields of the type to determine if they are valid.
  7353. func (s *ListChangeSetsInput) Validate() error {
  7354. invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"}
  7355. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7356. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7357. }
  7358. if s.StackName == nil {
  7359. invalidParams.Add(request.NewErrParamRequired("StackName"))
  7360. }
  7361. if s.StackName != nil && len(*s.StackName) < 1 {
  7362. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  7363. }
  7364. if invalidParams.Len() > 0 {
  7365. return invalidParams
  7366. }
  7367. return nil
  7368. }
  7369. // SetNextToken sets the NextToken field's value.
  7370. func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput {
  7371. s.NextToken = &v
  7372. return s
  7373. }
  7374. // SetStackName sets the StackName field's value.
  7375. func (s *ListChangeSetsInput) SetStackName(v string) *ListChangeSetsInput {
  7376. s.StackName = &v
  7377. return s
  7378. }
  7379. // The output for the ListChangeSets action.
  7380. type ListChangeSetsOutput struct {
  7381. _ struct{} `type:"structure"`
  7382. // If the output exceeds 1 MB, a string that identifies the next page of change
  7383. // sets. If there is no additional page, this value is null.
  7384. NextToken *string `min:"1" type:"string"`
  7385. // A list of ChangeSetSummary structures that provides the ID and status of
  7386. // each change set for the specified stack.
  7387. Summaries []*ChangeSetSummary `type:"list"`
  7388. }
  7389. // String returns the string representation
  7390. func (s ListChangeSetsOutput) String() string {
  7391. return awsutil.Prettify(s)
  7392. }
  7393. // GoString returns the string representation
  7394. func (s ListChangeSetsOutput) GoString() string {
  7395. return s.String()
  7396. }
  7397. // SetNextToken sets the NextToken field's value.
  7398. func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput {
  7399. s.NextToken = &v
  7400. return s
  7401. }
  7402. // SetSummaries sets the Summaries field's value.
  7403. func (s *ListChangeSetsOutput) SetSummaries(v []*ChangeSetSummary) *ListChangeSetsOutput {
  7404. s.Summaries = v
  7405. return s
  7406. }
  7407. type ListExportsInput struct {
  7408. _ struct{} `type:"structure"`
  7409. // A string (provided by the ListExports response output) that identifies the
  7410. // next page of exported output values that you asked to retrieve.
  7411. NextToken *string `min:"1" type:"string"`
  7412. }
  7413. // String returns the string representation
  7414. func (s ListExportsInput) String() string {
  7415. return awsutil.Prettify(s)
  7416. }
  7417. // GoString returns the string representation
  7418. func (s ListExportsInput) GoString() string {
  7419. return s.String()
  7420. }
  7421. // Validate inspects the fields of the type to determine if they are valid.
  7422. func (s *ListExportsInput) Validate() error {
  7423. invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"}
  7424. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7425. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7426. }
  7427. if invalidParams.Len() > 0 {
  7428. return invalidParams
  7429. }
  7430. return nil
  7431. }
  7432. // SetNextToken sets the NextToken field's value.
  7433. func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput {
  7434. s.NextToken = &v
  7435. return s
  7436. }
  7437. type ListExportsOutput struct {
  7438. _ struct{} `type:"structure"`
  7439. // The output for the ListExports action.
  7440. Exports []*Export `type:"list"`
  7441. // If the output exceeds 100 exported output values, a string that identifies
  7442. // the next page of exports. If there is no additional page, this value is null.
  7443. NextToken *string `min:"1" type:"string"`
  7444. }
  7445. // String returns the string representation
  7446. func (s ListExportsOutput) String() string {
  7447. return awsutil.Prettify(s)
  7448. }
  7449. // GoString returns the string representation
  7450. func (s ListExportsOutput) GoString() string {
  7451. return s.String()
  7452. }
  7453. // SetExports sets the Exports field's value.
  7454. func (s *ListExportsOutput) SetExports(v []*Export) *ListExportsOutput {
  7455. s.Exports = v
  7456. return s
  7457. }
  7458. // SetNextToken sets the NextToken field's value.
  7459. func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput {
  7460. s.NextToken = &v
  7461. return s
  7462. }
  7463. type ListImportsInput struct {
  7464. _ struct{} `type:"structure"`
  7465. // The name of the exported output value. AWS CloudFormation returns the stack
  7466. // names that are importing this value.
  7467. //
  7468. // ExportName is a required field
  7469. ExportName *string `type:"string" required:"true"`
  7470. // A string (provided by the ListImports response output) that identifies the
  7471. // next page of stacks that are importing the specified exported output value.
  7472. NextToken *string `min:"1" type:"string"`
  7473. }
  7474. // String returns the string representation
  7475. func (s ListImportsInput) String() string {
  7476. return awsutil.Prettify(s)
  7477. }
  7478. // GoString returns the string representation
  7479. func (s ListImportsInput) GoString() string {
  7480. return s.String()
  7481. }
  7482. // Validate inspects the fields of the type to determine if they are valid.
  7483. func (s *ListImportsInput) Validate() error {
  7484. invalidParams := request.ErrInvalidParams{Context: "ListImportsInput"}
  7485. if s.ExportName == nil {
  7486. invalidParams.Add(request.NewErrParamRequired("ExportName"))
  7487. }
  7488. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7489. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7490. }
  7491. if invalidParams.Len() > 0 {
  7492. return invalidParams
  7493. }
  7494. return nil
  7495. }
  7496. // SetExportName sets the ExportName field's value.
  7497. func (s *ListImportsInput) SetExportName(v string) *ListImportsInput {
  7498. s.ExportName = &v
  7499. return s
  7500. }
  7501. // SetNextToken sets the NextToken field's value.
  7502. func (s *ListImportsInput) SetNextToken(v string) *ListImportsInput {
  7503. s.NextToken = &v
  7504. return s
  7505. }
  7506. type ListImportsOutput struct {
  7507. _ struct{} `type:"structure"`
  7508. // A list of stack names that are importing the specified exported output value.
  7509. Imports []*string `type:"list"`
  7510. // A string that identifies the next page of exports. If there is no additional
  7511. // page, this value is null.
  7512. NextToken *string `min:"1" type:"string"`
  7513. }
  7514. // String returns the string representation
  7515. func (s ListImportsOutput) String() string {
  7516. return awsutil.Prettify(s)
  7517. }
  7518. // GoString returns the string representation
  7519. func (s ListImportsOutput) GoString() string {
  7520. return s.String()
  7521. }
  7522. // SetImports sets the Imports field's value.
  7523. func (s *ListImportsOutput) SetImports(v []*string) *ListImportsOutput {
  7524. s.Imports = v
  7525. return s
  7526. }
  7527. // SetNextToken sets the NextToken field's value.
  7528. func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput {
  7529. s.NextToken = &v
  7530. return s
  7531. }
  7532. type ListStackInstancesInput struct {
  7533. _ struct{} `type:"structure"`
  7534. // The maximum number of results to be returned with a single call. If the number
  7535. // of available results exceeds this maximum, the response includes a NextToken
  7536. // value that you can assign to the NextToken request parameter to get the next
  7537. // set of results.
  7538. MaxResults *int64 `min:"1" type:"integer"`
  7539. // If the previous request didn't return all of the remaining results, the response's
  7540. // NextToken parameter value is set to a token. To retrieve the next set of
  7541. // results, call ListStackInstances again and assign that token to the request
  7542. // object's NextToken parameter. If there are no remaining results, the previous
  7543. // response object's NextToken parameter is set to null.
  7544. NextToken *string `min:"1" type:"string"`
  7545. // The name of the AWS account that you want to list stack instances for.
  7546. StackInstanceAccount *string `type:"string"`
  7547. // The name of the region where you want to list stack instances.
  7548. StackInstanceRegion *string `type:"string"`
  7549. // The name or unique ID of the stack set that you want to list stack instances
  7550. // for.
  7551. //
  7552. // StackSetName is a required field
  7553. StackSetName *string `type:"string" required:"true"`
  7554. }
  7555. // String returns the string representation
  7556. func (s ListStackInstancesInput) String() string {
  7557. return awsutil.Prettify(s)
  7558. }
  7559. // GoString returns the string representation
  7560. func (s ListStackInstancesInput) GoString() string {
  7561. return s.String()
  7562. }
  7563. // Validate inspects the fields of the type to determine if they are valid.
  7564. func (s *ListStackInstancesInput) Validate() error {
  7565. invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesInput"}
  7566. if s.MaxResults != nil && *s.MaxResults < 1 {
  7567. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7568. }
  7569. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7570. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7571. }
  7572. if s.StackSetName == nil {
  7573. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  7574. }
  7575. if invalidParams.Len() > 0 {
  7576. return invalidParams
  7577. }
  7578. return nil
  7579. }
  7580. // SetMaxResults sets the MaxResults field's value.
  7581. func (s *ListStackInstancesInput) SetMaxResults(v int64) *ListStackInstancesInput {
  7582. s.MaxResults = &v
  7583. return s
  7584. }
  7585. // SetNextToken sets the NextToken field's value.
  7586. func (s *ListStackInstancesInput) SetNextToken(v string) *ListStackInstancesInput {
  7587. s.NextToken = &v
  7588. return s
  7589. }
  7590. // SetStackInstanceAccount sets the StackInstanceAccount field's value.
  7591. func (s *ListStackInstancesInput) SetStackInstanceAccount(v string) *ListStackInstancesInput {
  7592. s.StackInstanceAccount = &v
  7593. return s
  7594. }
  7595. // SetStackInstanceRegion sets the StackInstanceRegion field's value.
  7596. func (s *ListStackInstancesInput) SetStackInstanceRegion(v string) *ListStackInstancesInput {
  7597. s.StackInstanceRegion = &v
  7598. return s
  7599. }
  7600. // SetStackSetName sets the StackSetName field's value.
  7601. func (s *ListStackInstancesInput) SetStackSetName(v string) *ListStackInstancesInput {
  7602. s.StackSetName = &v
  7603. return s
  7604. }
  7605. type ListStackInstancesOutput struct {
  7606. _ struct{} `type:"structure"`
  7607. // If the request doesn't return all of the remaining results, NextToken is
  7608. // set to a token. To retrieve the next set of results, call ListStackInstances
  7609. // again and assign that token to the request object's NextToken parameter.
  7610. // If the request returns all results, NextToken is set to null.
  7611. NextToken *string `min:"1" type:"string"`
  7612. // A list of StackInstanceSummary structures that contain information about
  7613. // the specified stack instances.
  7614. Summaries []*StackInstanceSummary `type:"list"`
  7615. }
  7616. // String returns the string representation
  7617. func (s ListStackInstancesOutput) String() string {
  7618. return awsutil.Prettify(s)
  7619. }
  7620. // GoString returns the string representation
  7621. func (s ListStackInstancesOutput) GoString() string {
  7622. return s.String()
  7623. }
  7624. // SetNextToken sets the NextToken field's value.
  7625. func (s *ListStackInstancesOutput) SetNextToken(v string) *ListStackInstancesOutput {
  7626. s.NextToken = &v
  7627. return s
  7628. }
  7629. // SetSummaries sets the Summaries field's value.
  7630. func (s *ListStackInstancesOutput) SetSummaries(v []*StackInstanceSummary) *ListStackInstancesOutput {
  7631. s.Summaries = v
  7632. return s
  7633. }
  7634. // The input for the ListStackResource action.
  7635. type ListStackResourcesInput struct {
  7636. _ struct{} `type:"structure"`
  7637. // A string that identifies the next page of stack resources that you want to
  7638. // retrieve.
  7639. NextToken *string `min:"1" type:"string"`
  7640. // The name or the unique stack ID that is associated with the stack, which
  7641. // are not always interchangeable:
  7642. //
  7643. // * Running stacks: You can specify either the stack's name or its unique
  7644. // stack ID.
  7645. //
  7646. // * Deleted stacks: You must specify the unique stack ID.
  7647. //
  7648. // Default: There is no default value.
  7649. //
  7650. // StackName is a required field
  7651. StackName *string `type:"string" required:"true"`
  7652. }
  7653. // String returns the string representation
  7654. func (s ListStackResourcesInput) String() string {
  7655. return awsutil.Prettify(s)
  7656. }
  7657. // GoString returns the string representation
  7658. func (s ListStackResourcesInput) GoString() string {
  7659. return s.String()
  7660. }
  7661. // Validate inspects the fields of the type to determine if they are valid.
  7662. func (s *ListStackResourcesInput) Validate() error {
  7663. invalidParams := request.ErrInvalidParams{Context: "ListStackResourcesInput"}
  7664. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7665. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7666. }
  7667. if s.StackName == nil {
  7668. invalidParams.Add(request.NewErrParamRequired("StackName"))
  7669. }
  7670. if invalidParams.Len() > 0 {
  7671. return invalidParams
  7672. }
  7673. return nil
  7674. }
  7675. // SetNextToken sets the NextToken field's value.
  7676. func (s *ListStackResourcesInput) SetNextToken(v string) *ListStackResourcesInput {
  7677. s.NextToken = &v
  7678. return s
  7679. }
  7680. // SetStackName sets the StackName field's value.
  7681. func (s *ListStackResourcesInput) SetStackName(v string) *ListStackResourcesInput {
  7682. s.StackName = &v
  7683. return s
  7684. }
  7685. // The output for a ListStackResources action.
  7686. type ListStackResourcesOutput struct {
  7687. _ struct{} `type:"structure"`
  7688. // If the output exceeds 1 MB, a string that identifies the next page of stack
  7689. // resources. If no additional page exists, this value is null.
  7690. NextToken *string `min:"1" type:"string"`
  7691. // A list of StackResourceSummary structures.
  7692. StackResourceSummaries []*StackResourceSummary `type:"list"`
  7693. }
  7694. // String returns the string representation
  7695. func (s ListStackResourcesOutput) String() string {
  7696. return awsutil.Prettify(s)
  7697. }
  7698. // GoString returns the string representation
  7699. func (s ListStackResourcesOutput) GoString() string {
  7700. return s.String()
  7701. }
  7702. // SetNextToken sets the NextToken field's value.
  7703. func (s *ListStackResourcesOutput) SetNextToken(v string) *ListStackResourcesOutput {
  7704. s.NextToken = &v
  7705. return s
  7706. }
  7707. // SetStackResourceSummaries sets the StackResourceSummaries field's value.
  7708. func (s *ListStackResourcesOutput) SetStackResourceSummaries(v []*StackResourceSummary) *ListStackResourcesOutput {
  7709. s.StackResourceSummaries = v
  7710. return s
  7711. }
  7712. type ListStackSetOperationResultsInput struct {
  7713. _ struct{} `type:"structure"`
  7714. // The maximum number of results to be returned with a single call. If the number
  7715. // of available results exceeds this maximum, the response includes a NextToken
  7716. // value that you can assign to the NextToken request parameter to get the next
  7717. // set of results.
  7718. MaxResults *int64 `min:"1" type:"integer"`
  7719. // If the previous request didn't return all of the remaining results, the response
  7720. // object's NextToken parameter value is set to a token. To retrieve the next
  7721. // set of results, call ListStackSetOperationResults again and assign that token
  7722. // to the request object's NextToken parameter. If there are no remaining results,
  7723. // the previous response object's NextToken parameter is set to null.
  7724. NextToken *string `min:"1" type:"string"`
  7725. // The ID of the stack set operation.
  7726. //
  7727. // OperationId is a required field
  7728. OperationId *string `min:"1" type:"string" required:"true"`
  7729. // The name or unique ID of the stack set that you want to get operation results
  7730. // for.
  7731. //
  7732. // StackSetName is a required field
  7733. StackSetName *string `type:"string" required:"true"`
  7734. }
  7735. // String returns the string representation
  7736. func (s ListStackSetOperationResultsInput) String() string {
  7737. return awsutil.Prettify(s)
  7738. }
  7739. // GoString returns the string representation
  7740. func (s ListStackSetOperationResultsInput) GoString() string {
  7741. return s.String()
  7742. }
  7743. // Validate inspects the fields of the type to determine if they are valid.
  7744. func (s *ListStackSetOperationResultsInput) Validate() error {
  7745. invalidParams := request.ErrInvalidParams{Context: "ListStackSetOperationResultsInput"}
  7746. if s.MaxResults != nil && *s.MaxResults < 1 {
  7747. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7748. }
  7749. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7750. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7751. }
  7752. if s.OperationId == nil {
  7753. invalidParams.Add(request.NewErrParamRequired("OperationId"))
  7754. }
  7755. if s.OperationId != nil && len(*s.OperationId) < 1 {
  7756. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  7757. }
  7758. if s.StackSetName == nil {
  7759. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  7760. }
  7761. if invalidParams.Len() > 0 {
  7762. return invalidParams
  7763. }
  7764. return nil
  7765. }
  7766. // SetMaxResults sets the MaxResults field's value.
  7767. func (s *ListStackSetOperationResultsInput) SetMaxResults(v int64) *ListStackSetOperationResultsInput {
  7768. s.MaxResults = &v
  7769. return s
  7770. }
  7771. // SetNextToken sets the NextToken field's value.
  7772. func (s *ListStackSetOperationResultsInput) SetNextToken(v string) *ListStackSetOperationResultsInput {
  7773. s.NextToken = &v
  7774. return s
  7775. }
  7776. // SetOperationId sets the OperationId field's value.
  7777. func (s *ListStackSetOperationResultsInput) SetOperationId(v string) *ListStackSetOperationResultsInput {
  7778. s.OperationId = &v
  7779. return s
  7780. }
  7781. // SetStackSetName sets the StackSetName field's value.
  7782. func (s *ListStackSetOperationResultsInput) SetStackSetName(v string) *ListStackSetOperationResultsInput {
  7783. s.StackSetName = &v
  7784. return s
  7785. }
  7786. type ListStackSetOperationResultsOutput struct {
  7787. _ struct{} `type:"structure"`
  7788. // If the request doesn't return all results, NextToken is set to a token. To
  7789. // retrieve the next set of results, call ListOperationResults again and assign
  7790. // that token to the request object's NextToken parameter. If there are no remaining
  7791. // results, NextToken is set to null.
  7792. NextToken *string `min:"1" type:"string"`
  7793. // A list of StackSetOperationResultSummary structures that contain information
  7794. // about the specified operation results, for accounts and regions that are
  7795. // included in the operation.
  7796. Summaries []*StackSetOperationResultSummary `type:"list"`
  7797. }
  7798. // String returns the string representation
  7799. func (s ListStackSetOperationResultsOutput) String() string {
  7800. return awsutil.Prettify(s)
  7801. }
  7802. // GoString returns the string representation
  7803. func (s ListStackSetOperationResultsOutput) GoString() string {
  7804. return s.String()
  7805. }
  7806. // SetNextToken sets the NextToken field's value.
  7807. func (s *ListStackSetOperationResultsOutput) SetNextToken(v string) *ListStackSetOperationResultsOutput {
  7808. s.NextToken = &v
  7809. return s
  7810. }
  7811. // SetSummaries sets the Summaries field's value.
  7812. func (s *ListStackSetOperationResultsOutput) SetSummaries(v []*StackSetOperationResultSummary) *ListStackSetOperationResultsOutput {
  7813. s.Summaries = v
  7814. return s
  7815. }
  7816. type ListStackSetOperationsInput struct {
  7817. _ struct{} `type:"structure"`
  7818. // The maximum number of results to be returned with a single call. If the number
  7819. // of available results exceeds this maximum, the response includes a NextToken
  7820. // value that you can assign to the NextToken request parameter to get the next
  7821. // set of results.
  7822. MaxResults *int64 `min:"1" type:"integer"`
  7823. // If the previous paginated request didn't return all of the remaining results,
  7824. // the response object's NextToken parameter value is set to a token. To retrieve
  7825. // the next set of results, call ListStackSetOperations again and assign that
  7826. // token to the request object's NextToken parameter. If there are no remaining
  7827. // results, the previous response object's NextToken parameter is set to null.
  7828. NextToken *string `min:"1" type:"string"`
  7829. // The name or unique ID of the stack set that you want to get operation summaries
  7830. // for.
  7831. //
  7832. // StackSetName is a required field
  7833. StackSetName *string `type:"string" required:"true"`
  7834. }
  7835. // String returns the string representation
  7836. func (s ListStackSetOperationsInput) String() string {
  7837. return awsutil.Prettify(s)
  7838. }
  7839. // GoString returns the string representation
  7840. func (s ListStackSetOperationsInput) GoString() string {
  7841. return s.String()
  7842. }
  7843. // Validate inspects the fields of the type to determine if they are valid.
  7844. func (s *ListStackSetOperationsInput) Validate() error {
  7845. invalidParams := request.ErrInvalidParams{Context: "ListStackSetOperationsInput"}
  7846. if s.MaxResults != nil && *s.MaxResults < 1 {
  7847. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7848. }
  7849. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7850. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7851. }
  7852. if s.StackSetName == nil {
  7853. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  7854. }
  7855. if invalidParams.Len() > 0 {
  7856. return invalidParams
  7857. }
  7858. return nil
  7859. }
  7860. // SetMaxResults sets the MaxResults field's value.
  7861. func (s *ListStackSetOperationsInput) SetMaxResults(v int64) *ListStackSetOperationsInput {
  7862. s.MaxResults = &v
  7863. return s
  7864. }
  7865. // SetNextToken sets the NextToken field's value.
  7866. func (s *ListStackSetOperationsInput) SetNextToken(v string) *ListStackSetOperationsInput {
  7867. s.NextToken = &v
  7868. return s
  7869. }
  7870. // SetStackSetName sets the StackSetName field's value.
  7871. func (s *ListStackSetOperationsInput) SetStackSetName(v string) *ListStackSetOperationsInput {
  7872. s.StackSetName = &v
  7873. return s
  7874. }
  7875. type ListStackSetOperationsOutput struct {
  7876. _ struct{} `type:"structure"`
  7877. // If the request doesn't return all results, NextToken is set to a token. To
  7878. // retrieve the next set of results, call ListOperationResults again and assign
  7879. // that token to the request object's NextToken parameter. If there are no remaining
  7880. // results, NextToken is set to null.
  7881. NextToken *string `min:"1" type:"string"`
  7882. // A list of StackSetOperationSummary structures that contain summary information
  7883. // about operations for the specified stack set.
  7884. Summaries []*StackSetOperationSummary `type:"list"`
  7885. }
  7886. // String returns the string representation
  7887. func (s ListStackSetOperationsOutput) String() string {
  7888. return awsutil.Prettify(s)
  7889. }
  7890. // GoString returns the string representation
  7891. func (s ListStackSetOperationsOutput) GoString() string {
  7892. return s.String()
  7893. }
  7894. // SetNextToken sets the NextToken field's value.
  7895. func (s *ListStackSetOperationsOutput) SetNextToken(v string) *ListStackSetOperationsOutput {
  7896. s.NextToken = &v
  7897. return s
  7898. }
  7899. // SetSummaries sets the Summaries field's value.
  7900. func (s *ListStackSetOperationsOutput) SetSummaries(v []*StackSetOperationSummary) *ListStackSetOperationsOutput {
  7901. s.Summaries = v
  7902. return s
  7903. }
  7904. type ListStackSetsInput struct {
  7905. _ struct{} `type:"structure"`
  7906. // The maximum number of results to be returned with a single call. If the number
  7907. // of available results exceeds this maximum, the response includes a NextToken
  7908. // value that you can assign to the NextToken request parameter to get the next
  7909. // set of results.
  7910. MaxResults *int64 `min:"1" type:"integer"`
  7911. // If the previous paginated request didn't return all of the remaining results,
  7912. // the response object's NextToken parameter value is set to a token. To retrieve
  7913. // the next set of results, call ListStackSets again and assign that token to
  7914. // the request object's NextToken parameter. If there are no remaining results,
  7915. // the previous response object's NextToken parameter is set to null.
  7916. NextToken *string `min:"1" type:"string"`
  7917. // The status of the stack sets that you want to get summary information about.
  7918. Status *string `type:"string" enum:"StackSetStatus"`
  7919. }
  7920. // String returns the string representation
  7921. func (s ListStackSetsInput) String() string {
  7922. return awsutil.Prettify(s)
  7923. }
  7924. // GoString returns the string representation
  7925. func (s ListStackSetsInput) GoString() string {
  7926. return s.String()
  7927. }
  7928. // Validate inspects the fields of the type to determine if they are valid.
  7929. func (s *ListStackSetsInput) Validate() error {
  7930. invalidParams := request.ErrInvalidParams{Context: "ListStackSetsInput"}
  7931. if s.MaxResults != nil && *s.MaxResults < 1 {
  7932. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7933. }
  7934. if s.NextToken != nil && len(*s.NextToken) < 1 {
  7935. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7936. }
  7937. if invalidParams.Len() > 0 {
  7938. return invalidParams
  7939. }
  7940. return nil
  7941. }
  7942. // SetMaxResults sets the MaxResults field's value.
  7943. func (s *ListStackSetsInput) SetMaxResults(v int64) *ListStackSetsInput {
  7944. s.MaxResults = &v
  7945. return s
  7946. }
  7947. // SetNextToken sets the NextToken field's value.
  7948. func (s *ListStackSetsInput) SetNextToken(v string) *ListStackSetsInput {
  7949. s.NextToken = &v
  7950. return s
  7951. }
  7952. // SetStatus sets the Status field's value.
  7953. func (s *ListStackSetsInput) SetStatus(v string) *ListStackSetsInput {
  7954. s.Status = &v
  7955. return s
  7956. }
  7957. type ListStackSetsOutput struct {
  7958. _ struct{} `type:"structure"`
  7959. // If the request doesn't return all of the remaining results, NextToken is
  7960. // set to a token. To retrieve the next set of results, call ListStackInstances
  7961. // again and assign that token to the request object's NextToken parameter.
  7962. // If the request returns all results, NextToken is set to null.
  7963. NextToken *string `min:"1" type:"string"`
  7964. // A list of StackSetSummary structures that contain information about the user's
  7965. // stack sets.
  7966. Summaries []*StackSetSummary `type:"list"`
  7967. }
  7968. // String returns the string representation
  7969. func (s ListStackSetsOutput) String() string {
  7970. return awsutil.Prettify(s)
  7971. }
  7972. // GoString returns the string representation
  7973. func (s ListStackSetsOutput) GoString() string {
  7974. return s.String()
  7975. }
  7976. // SetNextToken sets the NextToken field's value.
  7977. func (s *ListStackSetsOutput) SetNextToken(v string) *ListStackSetsOutput {
  7978. s.NextToken = &v
  7979. return s
  7980. }
  7981. // SetSummaries sets the Summaries field's value.
  7982. func (s *ListStackSetsOutput) SetSummaries(v []*StackSetSummary) *ListStackSetsOutput {
  7983. s.Summaries = v
  7984. return s
  7985. }
  7986. // The input for ListStacks action.
  7987. type ListStacksInput struct {
  7988. _ struct{} `type:"structure"`
  7989. // A string that identifies the next page of stacks that you want to retrieve.
  7990. NextToken *string `min:"1" type:"string"`
  7991. // Stack status to use as a filter. Specify one or more stack status codes to
  7992. // list only stacks with the specified status codes. For a complete list of
  7993. // stack status codes, see the StackStatus parameter of the Stack data type.
  7994. StackStatusFilter []*string `type:"list"`
  7995. }
  7996. // String returns the string representation
  7997. func (s ListStacksInput) String() string {
  7998. return awsutil.Prettify(s)
  7999. }
  8000. // GoString returns the string representation
  8001. func (s ListStacksInput) GoString() string {
  8002. return s.String()
  8003. }
  8004. // Validate inspects the fields of the type to determine if they are valid.
  8005. func (s *ListStacksInput) Validate() error {
  8006. invalidParams := request.ErrInvalidParams{Context: "ListStacksInput"}
  8007. if s.NextToken != nil && len(*s.NextToken) < 1 {
  8008. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8009. }
  8010. if invalidParams.Len() > 0 {
  8011. return invalidParams
  8012. }
  8013. return nil
  8014. }
  8015. // SetNextToken sets the NextToken field's value.
  8016. func (s *ListStacksInput) SetNextToken(v string) *ListStacksInput {
  8017. s.NextToken = &v
  8018. return s
  8019. }
  8020. // SetStackStatusFilter sets the StackStatusFilter field's value.
  8021. func (s *ListStacksInput) SetStackStatusFilter(v []*string) *ListStacksInput {
  8022. s.StackStatusFilter = v
  8023. return s
  8024. }
  8025. // The output for ListStacks action.
  8026. type ListStacksOutput struct {
  8027. _ struct{} `type:"structure"`
  8028. // If the output exceeds 1 MB in size, a string that identifies the next page
  8029. // of stacks. If no additional page exists, this value is null.
  8030. NextToken *string `min:"1" type:"string"`
  8031. // A list of StackSummary structures containing information about the specified
  8032. // stacks.
  8033. StackSummaries []*StackSummary `type:"list"`
  8034. }
  8035. // String returns the string representation
  8036. func (s ListStacksOutput) String() string {
  8037. return awsutil.Prettify(s)
  8038. }
  8039. // GoString returns the string representation
  8040. func (s ListStacksOutput) GoString() string {
  8041. return s.String()
  8042. }
  8043. // SetNextToken sets the NextToken field's value.
  8044. func (s *ListStacksOutput) SetNextToken(v string) *ListStacksOutput {
  8045. s.NextToken = &v
  8046. return s
  8047. }
  8048. // SetStackSummaries sets the StackSummaries field's value.
  8049. func (s *ListStacksOutput) SetStackSummaries(v []*StackSummary) *ListStacksOutput {
  8050. s.StackSummaries = v
  8051. return s
  8052. }
  8053. // The Output data type.
  8054. type Output struct {
  8055. _ struct{} `type:"structure"`
  8056. // User defined description associated with the output.
  8057. Description *string `min:"1" type:"string"`
  8058. // The name of the export associated with the output.
  8059. ExportName *string `type:"string"`
  8060. // The key associated with the output.
  8061. OutputKey *string `type:"string"`
  8062. // The value associated with the output.
  8063. OutputValue *string `type:"string"`
  8064. }
  8065. // String returns the string representation
  8066. func (s Output) String() string {
  8067. return awsutil.Prettify(s)
  8068. }
  8069. // GoString returns the string representation
  8070. func (s Output) GoString() string {
  8071. return s.String()
  8072. }
  8073. // SetDescription sets the Description field's value.
  8074. func (s *Output) SetDescription(v string) *Output {
  8075. s.Description = &v
  8076. return s
  8077. }
  8078. // SetExportName sets the ExportName field's value.
  8079. func (s *Output) SetExportName(v string) *Output {
  8080. s.ExportName = &v
  8081. return s
  8082. }
  8083. // SetOutputKey sets the OutputKey field's value.
  8084. func (s *Output) SetOutputKey(v string) *Output {
  8085. s.OutputKey = &v
  8086. return s
  8087. }
  8088. // SetOutputValue sets the OutputValue field's value.
  8089. func (s *Output) SetOutputValue(v string) *Output {
  8090. s.OutputValue = &v
  8091. return s
  8092. }
  8093. // The Parameter data type.
  8094. type Parameter struct {
  8095. _ struct{} `type:"structure"`
  8096. // The key associated with the parameter. If you don't specify a key and value
  8097. // for a particular parameter, AWS CloudFormation uses the default value that
  8098. // is specified in your template.
  8099. ParameterKey *string `type:"string"`
  8100. // The input value associated with the parameter.
  8101. ParameterValue *string `type:"string"`
  8102. // Read-only. The value that corresponds to a Systems Manager parameter key.
  8103. // This field is returned only for SSM (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types)
  8104. // parameter types in the template.
  8105. ResolvedValue *string `type:"string"`
  8106. // During a stack update, use the existing parameter value that the stack is
  8107. // using for a given parameter key. If you specify true, do not specify a parameter
  8108. // value.
  8109. UsePreviousValue *bool `type:"boolean"`
  8110. }
  8111. // String returns the string representation
  8112. func (s Parameter) String() string {
  8113. return awsutil.Prettify(s)
  8114. }
  8115. // GoString returns the string representation
  8116. func (s Parameter) GoString() string {
  8117. return s.String()
  8118. }
  8119. // SetParameterKey sets the ParameterKey field's value.
  8120. func (s *Parameter) SetParameterKey(v string) *Parameter {
  8121. s.ParameterKey = &v
  8122. return s
  8123. }
  8124. // SetParameterValue sets the ParameterValue field's value.
  8125. func (s *Parameter) SetParameterValue(v string) *Parameter {
  8126. s.ParameterValue = &v
  8127. return s
  8128. }
  8129. // SetResolvedValue sets the ResolvedValue field's value.
  8130. func (s *Parameter) SetResolvedValue(v string) *Parameter {
  8131. s.ResolvedValue = &v
  8132. return s
  8133. }
  8134. // SetUsePreviousValue sets the UsePreviousValue field's value.
  8135. func (s *Parameter) SetUsePreviousValue(v bool) *Parameter {
  8136. s.UsePreviousValue = &v
  8137. return s
  8138. }
  8139. // A set of criteria that AWS CloudFormation uses to validate parameter values.
  8140. // Although other constraints might be defined in the stack template, AWS CloudFormation
  8141. // returns only the AllowedValues property.
  8142. type ParameterConstraints struct {
  8143. _ struct{} `type:"structure"`
  8144. // A list of values that are permitted for a parameter.
  8145. AllowedValues []*string `type:"list"`
  8146. }
  8147. // String returns the string representation
  8148. func (s ParameterConstraints) String() string {
  8149. return awsutil.Prettify(s)
  8150. }
  8151. // GoString returns the string representation
  8152. func (s ParameterConstraints) GoString() string {
  8153. return s.String()
  8154. }
  8155. // SetAllowedValues sets the AllowedValues field's value.
  8156. func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
  8157. s.AllowedValues = v
  8158. return s
  8159. }
  8160. // The ParameterDeclaration data type.
  8161. type ParameterDeclaration struct {
  8162. _ struct{} `type:"structure"`
  8163. // The default value of the parameter.
  8164. DefaultValue *string `type:"string"`
  8165. // The description that is associate with the parameter.
  8166. Description *string `min:"1" type:"string"`
  8167. // Flag that indicates whether the parameter value is shown as plain text in
  8168. // logs and in the AWS Management Console.
  8169. NoEcho *bool `type:"boolean"`
  8170. // The criteria that AWS CloudFormation uses to validate parameter values.
  8171. ParameterConstraints *ParameterConstraints `type:"structure"`
  8172. // The name that is associated with the parameter.
  8173. ParameterKey *string `type:"string"`
  8174. // The type of parameter.
  8175. ParameterType *string `type:"string"`
  8176. }
  8177. // String returns the string representation
  8178. func (s ParameterDeclaration) String() string {
  8179. return awsutil.Prettify(s)
  8180. }
  8181. // GoString returns the string representation
  8182. func (s ParameterDeclaration) GoString() string {
  8183. return s.String()
  8184. }
  8185. // SetDefaultValue sets the DefaultValue field's value.
  8186. func (s *ParameterDeclaration) SetDefaultValue(v string) *ParameterDeclaration {
  8187. s.DefaultValue = &v
  8188. return s
  8189. }
  8190. // SetDescription sets the Description field's value.
  8191. func (s *ParameterDeclaration) SetDescription(v string) *ParameterDeclaration {
  8192. s.Description = &v
  8193. return s
  8194. }
  8195. // SetNoEcho sets the NoEcho field's value.
  8196. func (s *ParameterDeclaration) SetNoEcho(v bool) *ParameterDeclaration {
  8197. s.NoEcho = &v
  8198. return s
  8199. }
  8200. // SetParameterConstraints sets the ParameterConstraints field's value.
  8201. func (s *ParameterDeclaration) SetParameterConstraints(v *ParameterConstraints) *ParameterDeclaration {
  8202. s.ParameterConstraints = v
  8203. return s
  8204. }
  8205. // SetParameterKey sets the ParameterKey field's value.
  8206. func (s *ParameterDeclaration) SetParameterKey(v string) *ParameterDeclaration {
  8207. s.ParameterKey = &v
  8208. return s
  8209. }
  8210. // SetParameterType sets the ParameterType field's value.
  8211. func (s *ParameterDeclaration) SetParameterType(v string) *ParameterDeclaration {
  8212. s.ParameterType = &v
  8213. return s
  8214. }
  8215. // Context information that enables AWS CloudFormation to uniquely identify
  8216. // a resource. AWS CloudFormation uses context key-value pairs in cases where
  8217. // a resource's logical and physical IDs are not enough to uniquely identify
  8218. // that resource. Each context key-value pair specifies a resource that contains
  8219. // the targeted resource.
  8220. type PhysicalResourceIdContextKeyValuePair struct {
  8221. _ struct{} `type:"structure"`
  8222. // The resource context key.
  8223. //
  8224. // Key is a required field
  8225. Key *string `type:"string" required:"true"`
  8226. // The resource context value.
  8227. //
  8228. // Value is a required field
  8229. Value *string `type:"string" required:"true"`
  8230. }
  8231. // String returns the string representation
  8232. func (s PhysicalResourceIdContextKeyValuePair) String() string {
  8233. return awsutil.Prettify(s)
  8234. }
  8235. // GoString returns the string representation
  8236. func (s PhysicalResourceIdContextKeyValuePair) GoString() string {
  8237. return s.String()
  8238. }
  8239. // SetKey sets the Key field's value.
  8240. func (s *PhysicalResourceIdContextKeyValuePair) SetKey(v string) *PhysicalResourceIdContextKeyValuePair {
  8241. s.Key = &v
  8242. return s
  8243. }
  8244. // SetValue sets the Value field's value.
  8245. func (s *PhysicalResourceIdContextKeyValuePair) SetValue(v string) *PhysicalResourceIdContextKeyValuePair {
  8246. s.Value = &v
  8247. return s
  8248. }
  8249. // Information about a resource property whose actual value differs from its
  8250. // expected value, as defined in the stack template and any values specified
  8251. // as template parameters. These will be present only for resources whose StackResourceDriftStatus
  8252. // is MODIFIED. For more information, see Detecting Unregulated Configuration
  8253. // Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  8254. type PropertyDifference struct {
  8255. _ struct{} `type:"structure"`
  8256. // The actual property value of the resource property.
  8257. //
  8258. // ActualValue is a required field
  8259. ActualValue *string `type:"string" required:"true"`
  8260. // The type of property difference.
  8261. //
  8262. // * ADD: A value has been added to a resource property that is an array
  8263. // or list data type.
  8264. //
  8265. // * REMOVE: The property has been removed from the current resource configuration.
  8266. //
  8267. // * NOT_EQUAL: The current property value differs from its expected value
  8268. // (as defined in the stack template and any values specified as template
  8269. // parameters).
  8270. //
  8271. // DifferenceType is a required field
  8272. DifferenceType *string `type:"string" required:"true" enum:"DifferenceType"`
  8273. // The expected property value of the resource property, as defined in the stack
  8274. // template and any values specified as template parameters.
  8275. //
  8276. // ExpectedValue is a required field
  8277. ExpectedValue *string `type:"string" required:"true"`
  8278. // The fully-qualified path to the resource property.
  8279. //
  8280. // PropertyPath is a required field
  8281. PropertyPath *string `type:"string" required:"true"`
  8282. }
  8283. // String returns the string representation
  8284. func (s PropertyDifference) String() string {
  8285. return awsutil.Prettify(s)
  8286. }
  8287. // GoString returns the string representation
  8288. func (s PropertyDifference) GoString() string {
  8289. return s.String()
  8290. }
  8291. // SetActualValue sets the ActualValue field's value.
  8292. func (s *PropertyDifference) SetActualValue(v string) *PropertyDifference {
  8293. s.ActualValue = &v
  8294. return s
  8295. }
  8296. // SetDifferenceType sets the DifferenceType field's value.
  8297. func (s *PropertyDifference) SetDifferenceType(v string) *PropertyDifference {
  8298. s.DifferenceType = &v
  8299. return s
  8300. }
  8301. // SetExpectedValue sets the ExpectedValue field's value.
  8302. func (s *PropertyDifference) SetExpectedValue(v string) *PropertyDifference {
  8303. s.ExpectedValue = &v
  8304. return s
  8305. }
  8306. // SetPropertyPath sets the PropertyPath field's value.
  8307. func (s *PropertyDifference) SetPropertyPath(v string) *PropertyDifference {
  8308. s.PropertyPath = &v
  8309. return s
  8310. }
  8311. // The ResourceChange structure describes the resource and the action that AWS
  8312. // CloudFormation will perform on it if you execute this change set.
  8313. type ResourceChange struct {
  8314. _ struct{} `type:"structure"`
  8315. // The action that AWS CloudFormation takes on the resource, such as Add (adds
  8316. // a new resource), Modify (changes a resource), or Remove (deletes a resource).
  8317. Action *string `type:"string" enum:"ChangeAction"`
  8318. // For the Modify action, a list of ResourceChangeDetail structures that describes
  8319. // the changes that AWS CloudFormation will make to the resource.
  8320. Details []*ResourceChangeDetail `type:"list"`
  8321. // The resource's logical ID, which is defined in the stack's template.
  8322. LogicalResourceId *string `type:"string"`
  8323. // The resource's physical ID (resource name). Resources that you are adding
  8324. // don't have physical IDs because they haven't been created.
  8325. PhysicalResourceId *string `type:"string"`
  8326. // For the Modify action, indicates whether AWS CloudFormation will replace
  8327. // the resource by creating a new one and deleting the old one. This value depends
  8328. // on the value of the RequiresRecreation property in the ResourceTargetDefinition
  8329. // structure. For example, if the RequiresRecreation field is Always and the
  8330. // Evaluation field is Static, Replacement is True. If the RequiresRecreation
  8331. // field is Always and the Evaluation field is Dynamic, Replacement is Conditionally.
  8332. //
  8333. // If you have multiple changes with different RequiresRecreation values, the
  8334. // Replacement value depends on the change with the most impact. A RequiresRecreation
  8335. // value of Always has the most impact, followed by Conditionally, and then
  8336. // Never.
  8337. Replacement *string `type:"string" enum:"Replacement"`
  8338. // The type of AWS CloudFormation resource, such as AWS::S3::Bucket.
  8339. ResourceType *string `min:"1" type:"string"`
  8340. // For the Modify action, indicates which resource attribute is triggering this
  8341. // update, such as a change in the resource attribute's Metadata, Properties,
  8342. // or Tags.
  8343. Scope []*string `type:"list"`
  8344. }
  8345. // String returns the string representation
  8346. func (s ResourceChange) String() string {
  8347. return awsutil.Prettify(s)
  8348. }
  8349. // GoString returns the string representation
  8350. func (s ResourceChange) GoString() string {
  8351. return s.String()
  8352. }
  8353. // SetAction sets the Action field's value.
  8354. func (s *ResourceChange) SetAction(v string) *ResourceChange {
  8355. s.Action = &v
  8356. return s
  8357. }
  8358. // SetDetails sets the Details field's value.
  8359. func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
  8360. s.Details = v
  8361. return s
  8362. }
  8363. // SetLogicalResourceId sets the LogicalResourceId field's value.
  8364. func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
  8365. s.LogicalResourceId = &v
  8366. return s
  8367. }
  8368. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  8369. func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
  8370. s.PhysicalResourceId = &v
  8371. return s
  8372. }
  8373. // SetReplacement sets the Replacement field's value.
  8374. func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
  8375. s.Replacement = &v
  8376. return s
  8377. }
  8378. // SetResourceType sets the ResourceType field's value.
  8379. func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
  8380. s.ResourceType = &v
  8381. return s
  8382. }
  8383. // SetScope sets the Scope field's value.
  8384. func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
  8385. s.Scope = v
  8386. return s
  8387. }
  8388. // For a resource with Modify as the action, the ResourceChange structure describes
  8389. // the changes AWS CloudFormation will make to that resource.
  8390. type ResourceChangeDetail struct {
  8391. _ struct{} `type:"structure"`
  8392. // The identity of the entity that triggered this change. This entity is a member
  8393. // of the group that is specified by the ChangeSource field. For example, if
  8394. // you modified the value of the KeyPairName parameter, the CausingEntity is
  8395. // the name of the parameter (KeyPairName).
  8396. //
  8397. // If the ChangeSource value is DirectModification, no value is given for CausingEntity.
  8398. CausingEntity *string `type:"string"`
  8399. // The group to which the CausingEntity value belongs. There are five entity
  8400. // groups:
  8401. //
  8402. // * ResourceReference entities are Ref intrinsic functions that refer to
  8403. // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.
  8404. //
  8405. // * ParameterReference entities are Ref intrinsic functions that get template
  8406. // parameter values, such as { "Ref" : "MyPasswordParameter" }.
  8407. //
  8408. // * ResourceAttribute entities are Fn::GetAtt intrinsic functions that get
  8409. // resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource",
  8410. // "PublicDnsName" ] }.
  8411. //
  8412. // * DirectModification entities are changes that are made directly to the
  8413. // template.
  8414. //
  8415. // * Automatic entities are AWS::CloudFormation::Stack resource types, which
  8416. // are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack
  8417. // resource, AWS CloudFormation sets the ChangeSource to Automatic because
  8418. // the nested stack's template might have changed. Changes to a nested stack's
  8419. // template aren't visible to AWS CloudFormation until you run an update
  8420. // on the parent stack.
  8421. ChangeSource *string `type:"string" enum:"ChangeSource"`
  8422. // Indicates whether AWS CloudFormation can determine the target value, and
  8423. // whether the target value will change before you execute a change set.
  8424. //
  8425. // For Static evaluations, AWS CloudFormation can determine that the target
  8426. // value will change, and its value. For example, if you directly modify the
  8427. // InstanceType property of an EC2 instance, AWS CloudFormation knows that this
  8428. // property value will change, and its value, so this is a Static evaluation.
  8429. //
  8430. // For Dynamic evaluations, cannot determine the target value because it depends
  8431. // on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic
  8432. // function, when the stack is updated. For example, if your template includes
  8433. // a reference to a resource that is conditionally recreated, the value of the
  8434. // reference (the physical ID of the resource) might change, depending on if
  8435. // the resource is recreated. If the resource is recreated, it will have a new
  8436. // physical ID, so all references to that resource will also be updated.
  8437. Evaluation *string `type:"string" enum:"EvaluationType"`
  8438. // A ResourceTargetDefinition structure that describes the field that AWS CloudFormation
  8439. // will change and whether the resource will be recreated.
  8440. Target *ResourceTargetDefinition `type:"structure"`
  8441. }
  8442. // String returns the string representation
  8443. func (s ResourceChangeDetail) String() string {
  8444. return awsutil.Prettify(s)
  8445. }
  8446. // GoString returns the string representation
  8447. func (s ResourceChangeDetail) GoString() string {
  8448. return s.String()
  8449. }
  8450. // SetCausingEntity sets the CausingEntity field's value.
  8451. func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
  8452. s.CausingEntity = &v
  8453. return s
  8454. }
  8455. // SetChangeSource sets the ChangeSource field's value.
  8456. func (s *ResourceChangeDetail) SetChangeSource(v string) *ResourceChangeDetail {
  8457. s.ChangeSource = &v
  8458. return s
  8459. }
  8460. // SetEvaluation sets the Evaluation field's value.
  8461. func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
  8462. s.Evaluation = &v
  8463. return s
  8464. }
  8465. // SetTarget sets the Target field's value.
  8466. func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
  8467. s.Target = v
  8468. return s
  8469. }
  8470. // The field that AWS CloudFormation will change, such as the name of a resource's
  8471. // property, and whether the resource will be recreated.
  8472. type ResourceTargetDefinition struct {
  8473. _ struct{} `type:"structure"`
  8474. // Indicates which resource attribute is triggering this update, such as a change
  8475. // in the resource attribute's Metadata, Properties, or Tags.
  8476. Attribute *string `type:"string" enum:"ResourceAttribute"`
  8477. // If the Attribute value is Properties, the name of the property. For all other
  8478. // attributes, the value is null.
  8479. Name *string `type:"string"`
  8480. // If the Attribute value is Properties, indicates whether a change to this
  8481. // property causes the resource to be recreated. The value can be Never, Always,
  8482. // or Conditionally. To determine the conditions for a Conditionally recreation,
  8483. // see the update behavior for that property (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  8484. // in the AWS CloudFormation User Guide.
  8485. RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
  8486. }
  8487. // String returns the string representation
  8488. func (s ResourceTargetDefinition) String() string {
  8489. return awsutil.Prettify(s)
  8490. }
  8491. // GoString returns the string representation
  8492. func (s ResourceTargetDefinition) GoString() string {
  8493. return s.String()
  8494. }
  8495. // SetAttribute sets the Attribute field's value.
  8496. func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
  8497. s.Attribute = &v
  8498. return s
  8499. }
  8500. // SetName sets the Name field's value.
  8501. func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
  8502. s.Name = &v
  8503. return s
  8504. }
  8505. // SetRequiresRecreation sets the RequiresRecreation field's value.
  8506. func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
  8507. s.RequiresRecreation = &v
  8508. return s
  8509. }
  8510. // Structure containing the rollback triggers for AWS CloudFormation to monitor
  8511. // during stack creation and updating operations, and for the specified monitoring
  8512. // period afterwards.
  8513. //
  8514. // Rollback triggers enable you to have AWS CloudFormation monitor the state
  8515. // of your application during stack creation and updating, and to roll back
  8516. // that operation if the application breaches the threshold of any of the alarms
  8517. // you've specified. For more information, see Monitor and Roll Back Stack Operations
  8518. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-rollback-triggers.html).
  8519. type RollbackConfiguration struct {
  8520. _ struct{} `type:"structure"`
  8521. // The amount of time, in minutes, during which CloudFormation should monitor
  8522. // all the rollback triggers after the stack creation or update operation deploys
  8523. // all necessary resources.
  8524. //
  8525. // The default is 0 minutes.
  8526. //
  8527. // If you specify a monitoring period but do not specify any rollback triggers,
  8528. // CloudFormation still waits the specified period of time before cleaning up
  8529. // old resources after update operations. You can use this monitoring period
  8530. // to perform any manual stack validation desired, and manually cancel the stack
  8531. // creation or update (using CancelUpdateStack (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html),
  8532. // for example) as necessary.
  8533. //
  8534. // If you specify 0 for this parameter, CloudFormation still monitors the specified
  8535. // rollback triggers during stack creation and update operations. Then, for
  8536. // update operations, it begins disposing of old resources immediately once
  8537. // the operation completes.
  8538. MonitoringTimeInMinutes *int64 `type:"integer"`
  8539. // The triggers to monitor during stack creation or update actions.
  8540. //
  8541. // By default, AWS CloudFormation saves the rollback triggers specified for
  8542. // a stack and applies them to any subsequent update operations for the stack,
  8543. // unless you specify otherwise. If you do specify rollback triggers for this
  8544. // parameter, those triggers replace any list of triggers previously specified
  8545. // for the stack. This means:
  8546. //
  8547. // * To use the rollback triggers previously specified for this stack, if
  8548. // any, don't specify this parameter.
  8549. //
  8550. // * To specify new or updated rollback triggers, you must specify all the
  8551. // triggers that you want used for this stack, even triggers you've specifed
  8552. // before (for example, when creating the stack or during a previous stack
  8553. // update). Any triggers that you don't include in the updated list of triggers
  8554. // are no longer applied to the stack.
  8555. //
  8556. // * To remove all currently specified triggers, specify an empty list for
  8557. // this parameter.
  8558. //
  8559. // If a specified trigger is missing, the entire stack operation fails and is
  8560. // rolled back.
  8561. RollbackTriggers []*RollbackTrigger `type:"list"`
  8562. }
  8563. // String returns the string representation
  8564. func (s RollbackConfiguration) String() string {
  8565. return awsutil.Prettify(s)
  8566. }
  8567. // GoString returns the string representation
  8568. func (s RollbackConfiguration) GoString() string {
  8569. return s.String()
  8570. }
  8571. // Validate inspects the fields of the type to determine if they are valid.
  8572. func (s *RollbackConfiguration) Validate() error {
  8573. invalidParams := request.ErrInvalidParams{Context: "RollbackConfiguration"}
  8574. if s.RollbackTriggers != nil {
  8575. for i, v := range s.RollbackTriggers {
  8576. if v == nil {
  8577. continue
  8578. }
  8579. if err := v.Validate(); err != nil {
  8580. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RollbackTriggers", i), err.(request.ErrInvalidParams))
  8581. }
  8582. }
  8583. }
  8584. if invalidParams.Len() > 0 {
  8585. return invalidParams
  8586. }
  8587. return nil
  8588. }
  8589. // SetMonitoringTimeInMinutes sets the MonitoringTimeInMinutes field's value.
  8590. func (s *RollbackConfiguration) SetMonitoringTimeInMinutes(v int64) *RollbackConfiguration {
  8591. s.MonitoringTimeInMinutes = &v
  8592. return s
  8593. }
  8594. // SetRollbackTriggers sets the RollbackTriggers field's value.
  8595. func (s *RollbackConfiguration) SetRollbackTriggers(v []*RollbackTrigger) *RollbackConfiguration {
  8596. s.RollbackTriggers = v
  8597. return s
  8598. }
  8599. // A rollback trigger AWS CloudFormation monitors during creation and updating
  8600. // of stacks. If any of the alarms you specify goes to ALARM state during the
  8601. // stack operation or within the specified monitoring period afterwards, CloudFormation
  8602. // rolls back the entire stack operation.
  8603. type RollbackTrigger struct {
  8604. _ struct{} `type:"structure"`
  8605. // The Amazon Resource Name (ARN) of the rollback trigger.
  8606. //
  8607. // If a specified trigger is missing, the entire stack operation fails and is
  8608. // rolled back.
  8609. //
  8610. // Arn is a required field
  8611. Arn *string `type:"string" required:"true"`
  8612. // The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm
  8613. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html)
  8614. // is the only supported resource type.
  8615. //
  8616. // Type is a required field
  8617. Type *string `type:"string" required:"true"`
  8618. }
  8619. // String returns the string representation
  8620. func (s RollbackTrigger) String() string {
  8621. return awsutil.Prettify(s)
  8622. }
  8623. // GoString returns the string representation
  8624. func (s RollbackTrigger) GoString() string {
  8625. return s.String()
  8626. }
  8627. // Validate inspects the fields of the type to determine if they are valid.
  8628. func (s *RollbackTrigger) Validate() error {
  8629. invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"}
  8630. if s.Arn == nil {
  8631. invalidParams.Add(request.NewErrParamRequired("Arn"))
  8632. }
  8633. if s.Type == nil {
  8634. invalidParams.Add(request.NewErrParamRequired("Type"))
  8635. }
  8636. if invalidParams.Len() > 0 {
  8637. return invalidParams
  8638. }
  8639. return nil
  8640. }
  8641. // SetArn sets the Arn field's value.
  8642. func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger {
  8643. s.Arn = &v
  8644. return s
  8645. }
  8646. // SetType sets the Type field's value.
  8647. func (s *RollbackTrigger) SetType(v string) *RollbackTrigger {
  8648. s.Type = &v
  8649. return s
  8650. }
  8651. // The input for the SetStackPolicy action.
  8652. type SetStackPolicyInput struct {
  8653. _ struct{} `type:"structure"`
  8654. // The name or unique stack ID that you want to associate a policy with.
  8655. //
  8656. // StackName is a required field
  8657. StackName *string `type:"string" required:"true"`
  8658. // Structure containing the stack policy body. For more information, go to
  8659. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  8660. // in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody
  8661. // or the StackPolicyURL parameter, but not both.
  8662. StackPolicyBody *string `min:"1" type:"string"`
  8663. // Location of a file containing the stack policy. The URL must point to a policy
  8664. // (maximum size: 16 KB) located in an S3 bucket in the same region as the stack.
  8665. // You can specify either the StackPolicyBody or the StackPolicyURL parameter,
  8666. // but not both.
  8667. StackPolicyURL *string `min:"1" type:"string"`
  8668. }
  8669. // String returns the string representation
  8670. func (s SetStackPolicyInput) String() string {
  8671. return awsutil.Prettify(s)
  8672. }
  8673. // GoString returns the string representation
  8674. func (s SetStackPolicyInput) GoString() string {
  8675. return s.String()
  8676. }
  8677. // Validate inspects the fields of the type to determine if they are valid.
  8678. func (s *SetStackPolicyInput) Validate() error {
  8679. invalidParams := request.ErrInvalidParams{Context: "SetStackPolicyInput"}
  8680. if s.StackName == nil {
  8681. invalidParams.Add(request.NewErrParamRequired("StackName"))
  8682. }
  8683. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  8684. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  8685. }
  8686. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  8687. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  8688. }
  8689. if invalidParams.Len() > 0 {
  8690. return invalidParams
  8691. }
  8692. return nil
  8693. }
  8694. // SetStackName sets the StackName field's value.
  8695. func (s *SetStackPolicyInput) SetStackName(v string) *SetStackPolicyInput {
  8696. s.StackName = &v
  8697. return s
  8698. }
  8699. // SetStackPolicyBody sets the StackPolicyBody field's value.
  8700. func (s *SetStackPolicyInput) SetStackPolicyBody(v string) *SetStackPolicyInput {
  8701. s.StackPolicyBody = &v
  8702. return s
  8703. }
  8704. // SetStackPolicyURL sets the StackPolicyURL field's value.
  8705. func (s *SetStackPolicyInput) SetStackPolicyURL(v string) *SetStackPolicyInput {
  8706. s.StackPolicyURL = &v
  8707. return s
  8708. }
  8709. type SetStackPolicyOutput struct {
  8710. _ struct{} `type:"structure"`
  8711. }
  8712. // String returns the string representation
  8713. func (s SetStackPolicyOutput) String() string {
  8714. return awsutil.Prettify(s)
  8715. }
  8716. // GoString returns the string representation
  8717. func (s SetStackPolicyOutput) GoString() string {
  8718. return s.String()
  8719. }
  8720. // The input for the SignalResource action.
  8721. type SignalResourceInput struct {
  8722. _ struct{} `type:"structure"`
  8723. // The logical ID of the resource that you want to signal. The logical ID is
  8724. // the name of the resource that given in the template.
  8725. //
  8726. // LogicalResourceId is a required field
  8727. LogicalResourceId *string `type:"string" required:"true"`
  8728. // The stack name or unique stack ID that includes the resource that you want
  8729. // to signal.
  8730. //
  8731. // StackName is a required field
  8732. StackName *string `min:"1" type:"string" required:"true"`
  8733. // The status of the signal, which is either success or failure. A failure signal
  8734. // causes AWS CloudFormation to immediately fail the stack creation or update.
  8735. //
  8736. // Status is a required field
  8737. Status *string `type:"string" required:"true" enum:"ResourceSignalStatus"`
  8738. // A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling
  8739. // groups, specify the instance ID that you are signaling as the unique ID.
  8740. // If you send multiple signals to a single resource (such as signaling a wait
  8741. // condition), each signal requires a different unique ID.
  8742. //
  8743. // UniqueId is a required field
  8744. UniqueId *string `min:"1" type:"string" required:"true"`
  8745. }
  8746. // String returns the string representation
  8747. func (s SignalResourceInput) String() string {
  8748. return awsutil.Prettify(s)
  8749. }
  8750. // GoString returns the string representation
  8751. func (s SignalResourceInput) GoString() string {
  8752. return s.String()
  8753. }
  8754. // Validate inspects the fields of the type to determine if they are valid.
  8755. func (s *SignalResourceInput) Validate() error {
  8756. invalidParams := request.ErrInvalidParams{Context: "SignalResourceInput"}
  8757. if s.LogicalResourceId == nil {
  8758. invalidParams.Add(request.NewErrParamRequired("LogicalResourceId"))
  8759. }
  8760. if s.StackName == nil {
  8761. invalidParams.Add(request.NewErrParamRequired("StackName"))
  8762. }
  8763. if s.StackName != nil && len(*s.StackName) < 1 {
  8764. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  8765. }
  8766. if s.Status == nil {
  8767. invalidParams.Add(request.NewErrParamRequired("Status"))
  8768. }
  8769. if s.UniqueId == nil {
  8770. invalidParams.Add(request.NewErrParamRequired("UniqueId"))
  8771. }
  8772. if s.UniqueId != nil && len(*s.UniqueId) < 1 {
  8773. invalidParams.Add(request.NewErrParamMinLen("UniqueId", 1))
  8774. }
  8775. if invalidParams.Len() > 0 {
  8776. return invalidParams
  8777. }
  8778. return nil
  8779. }
  8780. // SetLogicalResourceId sets the LogicalResourceId field's value.
  8781. func (s *SignalResourceInput) SetLogicalResourceId(v string) *SignalResourceInput {
  8782. s.LogicalResourceId = &v
  8783. return s
  8784. }
  8785. // SetStackName sets the StackName field's value.
  8786. func (s *SignalResourceInput) SetStackName(v string) *SignalResourceInput {
  8787. s.StackName = &v
  8788. return s
  8789. }
  8790. // SetStatus sets the Status field's value.
  8791. func (s *SignalResourceInput) SetStatus(v string) *SignalResourceInput {
  8792. s.Status = &v
  8793. return s
  8794. }
  8795. // SetUniqueId sets the UniqueId field's value.
  8796. func (s *SignalResourceInput) SetUniqueId(v string) *SignalResourceInput {
  8797. s.UniqueId = &v
  8798. return s
  8799. }
  8800. type SignalResourceOutput struct {
  8801. _ struct{} `type:"structure"`
  8802. }
  8803. // String returns the string representation
  8804. func (s SignalResourceOutput) String() string {
  8805. return awsutil.Prettify(s)
  8806. }
  8807. // GoString returns the string representation
  8808. func (s SignalResourceOutput) GoString() string {
  8809. return s.String()
  8810. }
  8811. // The Stack data type.
  8812. type Stack struct {
  8813. _ struct{} `type:"structure"`
  8814. // The capabilities allowed in the stack.
  8815. Capabilities []*string `type:"list"`
  8816. // The unique ID of the change set.
  8817. ChangeSetId *string `min:"1" type:"string"`
  8818. // The time at which the stack was created.
  8819. //
  8820. // CreationTime is a required field
  8821. CreationTime *time.Time `type:"timestamp" required:"true"`
  8822. // The time the stack was deleted.
  8823. DeletionTime *time.Time `type:"timestamp"`
  8824. // A user-defined description associated with the stack.
  8825. Description *string `min:"1" type:"string"`
  8826. // Boolean to enable or disable rollback on stack creation failures:
  8827. //
  8828. // * true: disable rollback
  8829. //
  8830. // * false: enable rollback
  8831. DisableRollback *bool `type:"boolean"`
  8832. // Information on whether a stack's actual configuration differs, or has drifted,
  8833. // from it's expected configuration, as defined in the stack template and any
  8834. // values specified as template parameters. For more information, see Detecting
  8835. // Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  8836. DriftInformation *StackDriftInformation `type:"structure"`
  8837. // Whether termination protection is enabled for the stack.
  8838. //
  8839. // For nested stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html),
  8840. // termination protection is set on the root stack and cannot be changed directly
  8841. // on the nested stack. For more information, see Protecting a Stack From Being
  8842. // Deleted (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)
  8843. // in the AWS CloudFormation User Guide.
  8844. EnableTerminationProtection *bool `type:"boolean"`
  8845. // The time the stack was last updated. This field will only be returned if
  8846. // the stack has been updated at least once.
  8847. LastUpdatedTime *time.Time `type:"timestamp"`
  8848. // SNS topic ARNs to which stack related events are published.
  8849. NotificationARNs []*string `type:"list"`
  8850. // A list of output structures.
  8851. Outputs []*Output `type:"list"`
  8852. // A list of Parameter structures.
  8853. Parameters []*Parameter `type:"list"`
  8854. // For nested stacks--stacks created as resources for another stack--the stack
  8855. // ID of the direct parent of this stack. For the first level of nested stacks,
  8856. // the root stack is also the parent stack.
  8857. //
  8858. // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
  8859. // in the AWS CloudFormation User Guide.
  8860. ParentId *string `type:"string"`
  8861. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  8862. // role that is associated with the stack. During a stack operation, AWS CloudFormation
  8863. // uses this role's credentials to make calls on your behalf.
  8864. RoleARN *string `min:"20" type:"string"`
  8865. // The rollback triggers for AWS CloudFormation to monitor during stack creation
  8866. // and updating operations, and for the specified monitoring period afterwards.
  8867. RollbackConfiguration *RollbackConfiguration `type:"structure"`
  8868. // For nested stacks--stacks created as resources for another stack--the stack
  8869. // ID of the the top-level stack to which the nested stack ultimately belongs.
  8870. //
  8871. // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
  8872. // in the AWS CloudFormation User Guide.
  8873. RootId *string `type:"string"`
  8874. // Unique identifier of the stack.
  8875. StackId *string `type:"string"`
  8876. // The name associated with the stack.
  8877. //
  8878. // StackName is a required field
  8879. StackName *string `type:"string" required:"true"`
  8880. // Current status of the stack.
  8881. //
  8882. // StackStatus is a required field
  8883. StackStatus *string `type:"string" required:"true" enum:"StackStatus"`
  8884. // Success/failure message associated with the stack status.
  8885. StackStatusReason *string `type:"string"`
  8886. // A list of Tags that specify information about the stack.
  8887. Tags []*Tag `type:"list"`
  8888. // The amount of time within which stack creation should complete.
  8889. TimeoutInMinutes *int64 `min:"1" type:"integer"`
  8890. }
  8891. // String returns the string representation
  8892. func (s Stack) String() string {
  8893. return awsutil.Prettify(s)
  8894. }
  8895. // GoString returns the string representation
  8896. func (s Stack) GoString() string {
  8897. return s.String()
  8898. }
  8899. // SetCapabilities sets the Capabilities field's value.
  8900. func (s *Stack) SetCapabilities(v []*string) *Stack {
  8901. s.Capabilities = v
  8902. return s
  8903. }
  8904. // SetChangeSetId sets the ChangeSetId field's value.
  8905. func (s *Stack) SetChangeSetId(v string) *Stack {
  8906. s.ChangeSetId = &v
  8907. return s
  8908. }
  8909. // SetCreationTime sets the CreationTime field's value.
  8910. func (s *Stack) SetCreationTime(v time.Time) *Stack {
  8911. s.CreationTime = &v
  8912. return s
  8913. }
  8914. // SetDeletionTime sets the DeletionTime field's value.
  8915. func (s *Stack) SetDeletionTime(v time.Time) *Stack {
  8916. s.DeletionTime = &v
  8917. return s
  8918. }
  8919. // SetDescription sets the Description field's value.
  8920. func (s *Stack) SetDescription(v string) *Stack {
  8921. s.Description = &v
  8922. return s
  8923. }
  8924. // SetDisableRollback sets the DisableRollback field's value.
  8925. func (s *Stack) SetDisableRollback(v bool) *Stack {
  8926. s.DisableRollback = &v
  8927. return s
  8928. }
  8929. // SetDriftInformation sets the DriftInformation field's value.
  8930. func (s *Stack) SetDriftInformation(v *StackDriftInformation) *Stack {
  8931. s.DriftInformation = v
  8932. return s
  8933. }
  8934. // SetEnableTerminationProtection sets the EnableTerminationProtection field's value.
  8935. func (s *Stack) SetEnableTerminationProtection(v bool) *Stack {
  8936. s.EnableTerminationProtection = &v
  8937. return s
  8938. }
  8939. // SetLastUpdatedTime sets the LastUpdatedTime field's value.
  8940. func (s *Stack) SetLastUpdatedTime(v time.Time) *Stack {
  8941. s.LastUpdatedTime = &v
  8942. return s
  8943. }
  8944. // SetNotificationARNs sets the NotificationARNs field's value.
  8945. func (s *Stack) SetNotificationARNs(v []*string) *Stack {
  8946. s.NotificationARNs = v
  8947. return s
  8948. }
  8949. // SetOutputs sets the Outputs field's value.
  8950. func (s *Stack) SetOutputs(v []*Output) *Stack {
  8951. s.Outputs = v
  8952. return s
  8953. }
  8954. // SetParameters sets the Parameters field's value.
  8955. func (s *Stack) SetParameters(v []*Parameter) *Stack {
  8956. s.Parameters = v
  8957. return s
  8958. }
  8959. // SetParentId sets the ParentId field's value.
  8960. func (s *Stack) SetParentId(v string) *Stack {
  8961. s.ParentId = &v
  8962. return s
  8963. }
  8964. // SetRoleARN sets the RoleARN field's value.
  8965. func (s *Stack) SetRoleARN(v string) *Stack {
  8966. s.RoleARN = &v
  8967. return s
  8968. }
  8969. // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  8970. func (s *Stack) SetRollbackConfiguration(v *RollbackConfiguration) *Stack {
  8971. s.RollbackConfiguration = v
  8972. return s
  8973. }
  8974. // SetRootId sets the RootId field's value.
  8975. func (s *Stack) SetRootId(v string) *Stack {
  8976. s.RootId = &v
  8977. return s
  8978. }
  8979. // SetStackId sets the StackId field's value.
  8980. func (s *Stack) SetStackId(v string) *Stack {
  8981. s.StackId = &v
  8982. return s
  8983. }
  8984. // SetStackName sets the StackName field's value.
  8985. func (s *Stack) SetStackName(v string) *Stack {
  8986. s.StackName = &v
  8987. return s
  8988. }
  8989. // SetStackStatus sets the StackStatus field's value.
  8990. func (s *Stack) SetStackStatus(v string) *Stack {
  8991. s.StackStatus = &v
  8992. return s
  8993. }
  8994. // SetStackStatusReason sets the StackStatusReason field's value.
  8995. func (s *Stack) SetStackStatusReason(v string) *Stack {
  8996. s.StackStatusReason = &v
  8997. return s
  8998. }
  8999. // SetTags sets the Tags field's value.
  9000. func (s *Stack) SetTags(v []*Tag) *Stack {
  9001. s.Tags = v
  9002. return s
  9003. }
  9004. // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
  9005. func (s *Stack) SetTimeoutInMinutes(v int64) *Stack {
  9006. s.TimeoutInMinutes = &v
  9007. return s
  9008. }
  9009. // Contains information about whether the stack's actual configuration differs,
  9010. // or has drifted, from its expected configuration, as defined in the stack
  9011. // template and any values specified as template parameters. A stack is considered
  9012. // to have drifted if one or more of its resources have drifted.
  9013. type StackDriftInformation struct {
  9014. _ struct{} `type:"structure"`
  9015. // Most recent time when a drift detection operation was initiated on the stack,
  9016. // or any of its individual resources that support drift detection.
  9017. LastCheckTimestamp *time.Time `type:"timestamp"`
  9018. // Status of the stack's actual configuration compared to its expected template
  9019. // configuration.
  9020. //
  9021. // * DRIFTED: The stack differs from its expected template configuration.
  9022. // A stack is considered to have drifted if one or more of its resources
  9023. // have drifted.
  9024. //
  9025. // * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs
  9026. // from its expected template configuration.
  9027. //
  9028. // * IN_SYNC: The stack's actual configuration matches its expected template
  9029. // configuration.
  9030. //
  9031. // * UNKNOWN: This value is reserved for future use.
  9032. //
  9033. // StackDriftStatus is a required field
  9034. StackDriftStatus *string `type:"string" required:"true" enum:"StackDriftStatus"`
  9035. }
  9036. // String returns the string representation
  9037. func (s StackDriftInformation) String() string {
  9038. return awsutil.Prettify(s)
  9039. }
  9040. // GoString returns the string representation
  9041. func (s StackDriftInformation) GoString() string {
  9042. return s.String()
  9043. }
  9044. // SetLastCheckTimestamp sets the LastCheckTimestamp field's value.
  9045. func (s *StackDriftInformation) SetLastCheckTimestamp(v time.Time) *StackDriftInformation {
  9046. s.LastCheckTimestamp = &v
  9047. return s
  9048. }
  9049. // SetStackDriftStatus sets the StackDriftStatus field's value.
  9050. func (s *StackDriftInformation) SetStackDriftStatus(v string) *StackDriftInformation {
  9051. s.StackDriftStatus = &v
  9052. return s
  9053. }
  9054. // Contains information about whether the stack's actual configuration differs,
  9055. // or has drifted, from its expected configuration, as defined in the stack
  9056. // template and any values specified as template parameters. A stack is considered
  9057. // to have drifted if one or more of its resources have drifted.
  9058. type StackDriftInformationSummary struct {
  9059. _ struct{} `type:"structure"`
  9060. // Most recent time when a drift detection operation was initiated on the stack,
  9061. // or any of its individual resources that support drift detection.
  9062. LastCheckTimestamp *time.Time `type:"timestamp"`
  9063. // Status of the stack's actual configuration compared to its expected template
  9064. // configuration.
  9065. //
  9066. // * DRIFTED: The stack differs from its expected template configuration.
  9067. // A stack is considered to have drifted if one or more of its resources
  9068. // have drifted.
  9069. //
  9070. // * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs
  9071. // from its expected template configuration.
  9072. //
  9073. // * IN_SYNC: The stack's actual configuration matches its expected template
  9074. // configuration.
  9075. //
  9076. // * UNKNOWN: This value is reserved for future use.
  9077. //
  9078. // StackDriftStatus is a required field
  9079. StackDriftStatus *string `type:"string" required:"true" enum:"StackDriftStatus"`
  9080. }
  9081. // String returns the string representation
  9082. func (s StackDriftInformationSummary) String() string {
  9083. return awsutil.Prettify(s)
  9084. }
  9085. // GoString returns the string representation
  9086. func (s StackDriftInformationSummary) GoString() string {
  9087. return s.String()
  9088. }
  9089. // SetLastCheckTimestamp sets the LastCheckTimestamp field's value.
  9090. func (s *StackDriftInformationSummary) SetLastCheckTimestamp(v time.Time) *StackDriftInformationSummary {
  9091. s.LastCheckTimestamp = &v
  9092. return s
  9093. }
  9094. // SetStackDriftStatus sets the StackDriftStatus field's value.
  9095. func (s *StackDriftInformationSummary) SetStackDriftStatus(v string) *StackDriftInformationSummary {
  9096. s.StackDriftStatus = &v
  9097. return s
  9098. }
  9099. // The StackEvent data type.
  9100. type StackEvent struct {
  9101. _ struct{} `type:"structure"`
  9102. // The token passed to the operation that generated this event.
  9103. //
  9104. // All events triggered by a given stack operation are assigned the same client
  9105. // request token, which you can use to track operations. For example, if you
  9106. // execute a CreateStack operation with the token token1, then all the StackEvents
  9107. // generated by that operation will have ClientRequestToken set as token1.
  9108. //
  9109. // In the console, stack operations display the client request token on the
  9110. // Events tab. Stack operations that are initiated from the console use the
  9111. // token format Console-StackOperation-ID, which helps you easily identify the
  9112. // stack operation . For example, if you create a stack using the console, each
  9113. // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
  9114. ClientRequestToken *string `min:"1" type:"string"`
  9115. // The unique ID of this event.
  9116. //
  9117. // EventId is a required field
  9118. EventId *string `type:"string" required:"true"`
  9119. // The logical name of the resource specified in the template.
  9120. LogicalResourceId *string `type:"string"`
  9121. // The name or unique identifier associated with the physical instance of the
  9122. // resource.
  9123. PhysicalResourceId *string `type:"string"`
  9124. // BLOB of the properties used to create the resource.
  9125. ResourceProperties *string `type:"string"`
  9126. // Current status of the resource.
  9127. ResourceStatus *string `type:"string" enum:"ResourceStatus"`
  9128. // Success/failure message associated with the resource.
  9129. ResourceStatusReason *string `type:"string"`
  9130. // Type of resource. (For more information, go to AWS Resource Types Reference
  9131. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  9132. // in the AWS CloudFormation User Guide.)
  9133. ResourceType *string `min:"1" type:"string"`
  9134. // The unique ID name of the instance of the stack.
  9135. //
  9136. // StackId is a required field
  9137. StackId *string `type:"string" required:"true"`
  9138. // The name associated with a stack.
  9139. //
  9140. // StackName is a required field
  9141. StackName *string `type:"string" required:"true"`
  9142. // Time the status was updated.
  9143. //
  9144. // Timestamp is a required field
  9145. Timestamp *time.Time `type:"timestamp" required:"true"`
  9146. }
  9147. // String returns the string representation
  9148. func (s StackEvent) String() string {
  9149. return awsutil.Prettify(s)
  9150. }
  9151. // GoString returns the string representation
  9152. func (s StackEvent) GoString() string {
  9153. return s.String()
  9154. }
  9155. // SetClientRequestToken sets the ClientRequestToken field's value.
  9156. func (s *StackEvent) SetClientRequestToken(v string) *StackEvent {
  9157. s.ClientRequestToken = &v
  9158. return s
  9159. }
  9160. // SetEventId sets the EventId field's value.
  9161. func (s *StackEvent) SetEventId(v string) *StackEvent {
  9162. s.EventId = &v
  9163. return s
  9164. }
  9165. // SetLogicalResourceId sets the LogicalResourceId field's value.
  9166. func (s *StackEvent) SetLogicalResourceId(v string) *StackEvent {
  9167. s.LogicalResourceId = &v
  9168. return s
  9169. }
  9170. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  9171. func (s *StackEvent) SetPhysicalResourceId(v string) *StackEvent {
  9172. s.PhysicalResourceId = &v
  9173. return s
  9174. }
  9175. // SetResourceProperties sets the ResourceProperties field's value.
  9176. func (s *StackEvent) SetResourceProperties(v string) *StackEvent {
  9177. s.ResourceProperties = &v
  9178. return s
  9179. }
  9180. // SetResourceStatus sets the ResourceStatus field's value.
  9181. func (s *StackEvent) SetResourceStatus(v string) *StackEvent {
  9182. s.ResourceStatus = &v
  9183. return s
  9184. }
  9185. // SetResourceStatusReason sets the ResourceStatusReason field's value.
  9186. func (s *StackEvent) SetResourceStatusReason(v string) *StackEvent {
  9187. s.ResourceStatusReason = &v
  9188. return s
  9189. }
  9190. // SetResourceType sets the ResourceType field's value.
  9191. func (s *StackEvent) SetResourceType(v string) *StackEvent {
  9192. s.ResourceType = &v
  9193. return s
  9194. }
  9195. // SetStackId sets the StackId field's value.
  9196. func (s *StackEvent) SetStackId(v string) *StackEvent {
  9197. s.StackId = &v
  9198. return s
  9199. }
  9200. // SetStackName sets the StackName field's value.
  9201. func (s *StackEvent) SetStackName(v string) *StackEvent {
  9202. s.StackName = &v
  9203. return s
  9204. }
  9205. // SetTimestamp sets the Timestamp field's value.
  9206. func (s *StackEvent) SetTimestamp(v time.Time) *StackEvent {
  9207. s.Timestamp = &v
  9208. return s
  9209. }
  9210. // An AWS CloudFormation stack, in a specific account and region, that's part
  9211. // of a stack set operation. A stack instance is a reference to an attempted
  9212. // or actual stack in a given account within a given region. A stack instance
  9213. // can exist without a stack—for example, if the stack couldn't be created for
  9214. // some reason. A stack instance is associated with only one stack set. Each
  9215. // stack instance contains the ID of its associated stack set, as well as the
  9216. // ID of the actual stack and the stack status.
  9217. type StackInstance struct {
  9218. _ struct{} `type:"structure"`
  9219. // The name of the AWS account that the stack instance is associated with.
  9220. Account *string `type:"string"`
  9221. // A list of parameters from the stack set template whose values have been overridden
  9222. // in this stack instance.
  9223. ParameterOverrides []*Parameter `type:"list"`
  9224. // The name of the AWS region that the stack instance is associated with.
  9225. Region *string `type:"string"`
  9226. // The ID of the stack instance.
  9227. StackId *string `type:"string"`
  9228. // The name or unique ID of the stack set that the stack instance is associated
  9229. // with.
  9230. StackSetId *string `type:"string"`
  9231. // The status of the stack instance, in terms of its synchronization with its
  9232. // associated stack set.
  9233. //
  9234. // * INOPERABLE: A DeleteStackInstances operation has failed and left the
  9235. // stack in an unstable state. Stacks in this state are excluded from further
  9236. // UpdateStackSet operations. You might need to perform a DeleteStackInstances
  9237. // operation, with RetainStacks set to true, to delete the stack instance,
  9238. // and then delete the stack manually.
  9239. //
  9240. // * OUTDATED: The stack isn't currently up to date with the stack set because:
  9241. //
  9242. // The associated stack failed during a CreateStackSet or UpdateStackSet operation.
  9243. //
  9244. //
  9245. // The stack was part of a CreateStackSet or UpdateStackSet operation that failed
  9246. // or was stopped before the stack was created or updated.
  9247. //
  9248. // * CURRENT: The stack is currently up to date with the stack set.
  9249. Status *string `type:"string" enum:"StackInstanceStatus"`
  9250. // The explanation for the specific status code that is assigned to this stack
  9251. // instance.
  9252. StatusReason *string `type:"string"`
  9253. }
  9254. // String returns the string representation
  9255. func (s StackInstance) String() string {
  9256. return awsutil.Prettify(s)
  9257. }
  9258. // GoString returns the string representation
  9259. func (s StackInstance) GoString() string {
  9260. return s.String()
  9261. }
  9262. // SetAccount sets the Account field's value.
  9263. func (s *StackInstance) SetAccount(v string) *StackInstance {
  9264. s.Account = &v
  9265. return s
  9266. }
  9267. // SetParameterOverrides sets the ParameterOverrides field's value.
  9268. func (s *StackInstance) SetParameterOverrides(v []*Parameter) *StackInstance {
  9269. s.ParameterOverrides = v
  9270. return s
  9271. }
  9272. // SetRegion sets the Region field's value.
  9273. func (s *StackInstance) SetRegion(v string) *StackInstance {
  9274. s.Region = &v
  9275. return s
  9276. }
  9277. // SetStackId sets the StackId field's value.
  9278. func (s *StackInstance) SetStackId(v string) *StackInstance {
  9279. s.StackId = &v
  9280. return s
  9281. }
  9282. // SetStackSetId sets the StackSetId field's value.
  9283. func (s *StackInstance) SetStackSetId(v string) *StackInstance {
  9284. s.StackSetId = &v
  9285. return s
  9286. }
  9287. // SetStatus sets the Status field's value.
  9288. func (s *StackInstance) SetStatus(v string) *StackInstance {
  9289. s.Status = &v
  9290. return s
  9291. }
  9292. // SetStatusReason sets the StatusReason field's value.
  9293. func (s *StackInstance) SetStatusReason(v string) *StackInstance {
  9294. s.StatusReason = &v
  9295. return s
  9296. }
  9297. // The structure that contains summary information about a stack instance.
  9298. type StackInstanceSummary struct {
  9299. _ struct{} `type:"structure"`
  9300. // The name of the AWS account that the stack instance is associated with.
  9301. Account *string `type:"string"`
  9302. // The name of the AWS region that the stack instance is associated with.
  9303. Region *string `type:"string"`
  9304. // The ID of the stack instance.
  9305. StackId *string `type:"string"`
  9306. // The name or unique ID of the stack set that the stack instance is associated
  9307. // with.
  9308. StackSetId *string `type:"string"`
  9309. // The status of the stack instance, in terms of its synchronization with its
  9310. // associated stack set.
  9311. //
  9312. // * INOPERABLE: A DeleteStackInstances operation has failed and left the
  9313. // stack in an unstable state. Stacks in this state are excluded from further
  9314. // UpdateStackSet operations. You might need to perform a DeleteStackInstances
  9315. // operation, with RetainStacks set to true, to delete the stack instance,
  9316. // and then delete the stack manually.
  9317. //
  9318. // * OUTDATED: The stack isn't currently up to date with the stack set because:
  9319. //
  9320. // The associated stack failed during a CreateStackSet or UpdateStackSet operation.
  9321. //
  9322. //
  9323. // The stack was part of a CreateStackSet or UpdateStackSet operation that failed
  9324. // or was stopped before the stack was created or updated.
  9325. //
  9326. // * CURRENT: The stack is currently up to date with the stack set.
  9327. Status *string `type:"string" enum:"StackInstanceStatus"`
  9328. // The explanation for the specific status code assigned to this stack instance.
  9329. StatusReason *string `type:"string"`
  9330. }
  9331. // String returns the string representation
  9332. func (s StackInstanceSummary) String() string {
  9333. return awsutil.Prettify(s)
  9334. }
  9335. // GoString returns the string representation
  9336. func (s StackInstanceSummary) GoString() string {
  9337. return s.String()
  9338. }
  9339. // SetAccount sets the Account field's value.
  9340. func (s *StackInstanceSummary) SetAccount(v string) *StackInstanceSummary {
  9341. s.Account = &v
  9342. return s
  9343. }
  9344. // SetRegion sets the Region field's value.
  9345. func (s *StackInstanceSummary) SetRegion(v string) *StackInstanceSummary {
  9346. s.Region = &v
  9347. return s
  9348. }
  9349. // SetStackId sets the StackId field's value.
  9350. func (s *StackInstanceSummary) SetStackId(v string) *StackInstanceSummary {
  9351. s.StackId = &v
  9352. return s
  9353. }
  9354. // SetStackSetId sets the StackSetId field's value.
  9355. func (s *StackInstanceSummary) SetStackSetId(v string) *StackInstanceSummary {
  9356. s.StackSetId = &v
  9357. return s
  9358. }
  9359. // SetStatus sets the Status field's value.
  9360. func (s *StackInstanceSummary) SetStatus(v string) *StackInstanceSummary {
  9361. s.Status = &v
  9362. return s
  9363. }
  9364. // SetStatusReason sets the StatusReason field's value.
  9365. func (s *StackInstanceSummary) SetStatusReason(v string) *StackInstanceSummary {
  9366. s.StatusReason = &v
  9367. return s
  9368. }
  9369. // The StackResource data type.
  9370. type StackResource struct {
  9371. _ struct{} `type:"structure"`
  9372. // User defined description associated with the resource.
  9373. Description *string `min:"1" type:"string"`
  9374. // Information about whether the resource's actual configuration differs, or
  9375. // has drifted, from its expected configuration, as defined in the stack template
  9376. // and any values specified as template parameters. For more information, see
  9377. // Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  9378. DriftInformation *StackResourceDriftInformation `type:"structure"`
  9379. // The logical name of the resource specified in the template.
  9380. //
  9381. // LogicalResourceId is a required field
  9382. LogicalResourceId *string `type:"string" required:"true"`
  9383. // The name or unique identifier that corresponds to a physical instance ID
  9384. // of a resource supported by AWS CloudFormation.
  9385. PhysicalResourceId *string `type:"string"`
  9386. // Current status of the resource.
  9387. //
  9388. // ResourceStatus is a required field
  9389. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  9390. // Success/failure message associated with the resource.
  9391. ResourceStatusReason *string `type:"string"`
  9392. // Type of resource. (For more information, go to AWS Resource Types Reference
  9393. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  9394. // in the AWS CloudFormation User Guide.)
  9395. //
  9396. // ResourceType is a required field
  9397. ResourceType *string `min:"1" type:"string" required:"true"`
  9398. // Unique identifier of the stack.
  9399. StackId *string `type:"string"`
  9400. // The name associated with the stack.
  9401. StackName *string `type:"string"`
  9402. // Time the status was updated.
  9403. //
  9404. // Timestamp is a required field
  9405. Timestamp *time.Time `type:"timestamp" required:"true"`
  9406. }
  9407. // String returns the string representation
  9408. func (s StackResource) String() string {
  9409. return awsutil.Prettify(s)
  9410. }
  9411. // GoString returns the string representation
  9412. func (s StackResource) GoString() string {
  9413. return s.String()
  9414. }
  9415. // SetDescription sets the Description field's value.
  9416. func (s *StackResource) SetDescription(v string) *StackResource {
  9417. s.Description = &v
  9418. return s
  9419. }
  9420. // SetDriftInformation sets the DriftInformation field's value.
  9421. func (s *StackResource) SetDriftInformation(v *StackResourceDriftInformation) *StackResource {
  9422. s.DriftInformation = v
  9423. return s
  9424. }
  9425. // SetLogicalResourceId sets the LogicalResourceId field's value.
  9426. func (s *StackResource) SetLogicalResourceId(v string) *StackResource {
  9427. s.LogicalResourceId = &v
  9428. return s
  9429. }
  9430. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  9431. func (s *StackResource) SetPhysicalResourceId(v string) *StackResource {
  9432. s.PhysicalResourceId = &v
  9433. return s
  9434. }
  9435. // SetResourceStatus sets the ResourceStatus field's value.
  9436. func (s *StackResource) SetResourceStatus(v string) *StackResource {
  9437. s.ResourceStatus = &v
  9438. return s
  9439. }
  9440. // SetResourceStatusReason sets the ResourceStatusReason field's value.
  9441. func (s *StackResource) SetResourceStatusReason(v string) *StackResource {
  9442. s.ResourceStatusReason = &v
  9443. return s
  9444. }
  9445. // SetResourceType sets the ResourceType field's value.
  9446. func (s *StackResource) SetResourceType(v string) *StackResource {
  9447. s.ResourceType = &v
  9448. return s
  9449. }
  9450. // SetStackId sets the StackId field's value.
  9451. func (s *StackResource) SetStackId(v string) *StackResource {
  9452. s.StackId = &v
  9453. return s
  9454. }
  9455. // SetStackName sets the StackName field's value.
  9456. func (s *StackResource) SetStackName(v string) *StackResource {
  9457. s.StackName = &v
  9458. return s
  9459. }
  9460. // SetTimestamp sets the Timestamp field's value.
  9461. func (s *StackResource) SetTimestamp(v time.Time) *StackResource {
  9462. s.Timestamp = &v
  9463. return s
  9464. }
  9465. // Contains detailed information about the specified stack resource.
  9466. type StackResourceDetail struct {
  9467. _ struct{} `type:"structure"`
  9468. // User defined description associated with the resource.
  9469. Description *string `min:"1" type:"string"`
  9470. // Information about whether the resource's actual configuration differs, or
  9471. // has drifted, from its expected configuration, as defined in the stack template
  9472. // and any values specified as template parameters. For more information, see
  9473. // Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  9474. DriftInformation *StackResourceDriftInformation `type:"structure"`
  9475. // Time the status was updated.
  9476. //
  9477. // LastUpdatedTimestamp is a required field
  9478. LastUpdatedTimestamp *time.Time `type:"timestamp" required:"true"`
  9479. // The logical name of the resource specified in the template.
  9480. //
  9481. // LogicalResourceId is a required field
  9482. LogicalResourceId *string `type:"string" required:"true"`
  9483. // The content of the Metadata attribute declared for the resource. For more
  9484. // information, see Metadata Attribute (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html)
  9485. // in the AWS CloudFormation User Guide.
  9486. Metadata *string `type:"string"`
  9487. // The name or unique identifier that corresponds to a physical instance ID
  9488. // of a resource supported by AWS CloudFormation.
  9489. PhysicalResourceId *string `type:"string"`
  9490. // Current status of the resource.
  9491. //
  9492. // ResourceStatus is a required field
  9493. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  9494. // Success/failure message associated with the resource.
  9495. ResourceStatusReason *string `type:"string"`
  9496. // Type of resource. ((For more information, go to AWS Resource Types Reference
  9497. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  9498. // in the AWS CloudFormation User Guide.)
  9499. //
  9500. // ResourceType is a required field
  9501. ResourceType *string `min:"1" type:"string" required:"true"`
  9502. // Unique identifier of the stack.
  9503. StackId *string `type:"string"`
  9504. // The name associated with the stack.
  9505. StackName *string `type:"string"`
  9506. }
  9507. // String returns the string representation
  9508. func (s StackResourceDetail) String() string {
  9509. return awsutil.Prettify(s)
  9510. }
  9511. // GoString returns the string representation
  9512. func (s StackResourceDetail) GoString() string {
  9513. return s.String()
  9514. }
  9515. // SetDescription sets the Description field's value.
  9516. func (s *StackResourceDetail) SetDescription(v string) *StackResourceDetail {
  9517. s.Description = &v
  9518. return s
  9519. }
  9520. // SetDriftInformation sets the DriftInformation field's value.
  9521. func (s *StackResourceDetail) SetDriftInformation(v *StackResourceDriftInformation) *StackResourceDetail {
  9522. s.DriftInformation = v
  9523. return s
  9524. }
  9525. // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9526. func (s *StackResourceDetail) SetLastUpdatedTimestamp(v time.Time) *StackResourceDetail {
  9527. s.LastUpdatedTimestamp = &v
  9528. return s
  9529. }
  9530. // SetLogicalResourceId sets the LogicalResourceId field's value.
  9531. func (s *StackResourceDetail) SetLogicalResourceId(v string) *StackResourceDetail {
  9532. s.LogicalResourceId = &v
  9533. return s
  9534. }
  9535. // SetMetadata sets the Metadata field's value.
  9536. func (s *StackResourceDetail) SetMetadata(v string) *StackResourceDetail {
  9537. s.Metadata = &v
  9538. return s
  9539. }
  9540. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  9541. func (s *StackResourceDetail) SetPhysicalResourceId(v string) *StackResourceDetail {
  9542. s.PhysicalResourceId = &v
  9543. return s
  9544. }
  9545. // SetResourceStatus sets the ResourceStatus field's value.
  9546. func (s *StackResourceDetail) SetResourceStatus(v string) *StackResourceDetail {
  9547. s.ResourceStatus = &v
  9548. return s
  9549. }
  9550. // SetResourceStatusReason sets the ResourceStatusReason field's value.
  9551. func (s *StackResourceDetail) SetResourceStatusReason(v string) *StackResourceDetail {
  9552. s.ResourceStatusReason = &v
  9553. return s
  9554. }
  9555. // SetResourceType sets the ResourceType field's value.
  9556. func (s *StackResourceDetail) SetResourceType(v string) *StackResourceDetail {
  9557. s.ResourceType = &v
  9558. return s
  9559. }
  9560. // SetStackId sets the StackId field's value.
  9561. func (s *StackResourceDetail) SetStackId(v string) *StackResourceDetail {
  9562. s.StackId = &v
  9563. return s
  9564. }
  9565. // SetStackName sets the StackName field's value.
  9566. func (s *StackResourceDetail) SetStackName(v string) *StackResourceDetail {
  9567. s.StackName = &v
  9568. return s
  9569. }
  9570. // Contains the drift information for a resource that has been checked for drift.
  9571. // This includes actual and expected property values for resources in which
  9572. // AWS CloudFormation has detected drift. Only resource properties explicitly
  9573. // defined in the stack template are checked for drift. For more information,
  9574. // see Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  9575. //
  9576. // Resources that do not currently support drift detection cannot be checked.
  9577. // For a list of resources that support drift detection, see Resources that
  9578. // Support Drift Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  9579. //
  9580. // Use DetectStackResourceDrift to detect drift on individual resources, or
  9581. // DetectStackDrift to detect drift on all resources in a given stack that support
  9582. // drift detection.
  9583. type StackResourceDrift struct {
  9584. _ struct{} `type:"structure"`
  9585. // A JSON structure containing the actual property values of the stack resource.
  9586. //
  9587. // For resources whose StackResourceDriftStatus is DELETED, this structure will
  9588. // not be present.
  9589. ActualProperties *string `type:"string"`
  9590. // A JSON structure containing the expected property values of the stack resource,
  9591. // as defined in the stack template and any values specified as template parameters.
  9592. //
  9593. // For resources whose StackResourceDriftStatus is DELETED, this structure will
  9594. // not be present.
  9595. ExpectedProperties *string `type:"string"`
  9596. // The logical name of the resource specified in the template.
  9597. //
  9598. // LogicalResourceId is a required field
  9599. LogicalResourceId *string `type:"string" required:"true"`
  9600. // The name or unique identifier that corresponds to a physical instance ID
  9601. // of a resource supported by AWS CloudFormation.
  9602. PhysicalResourceId *string `type:"string"`
  9603. // Context information that enables AWS CloudFormation to uniquely identify
  9604. // a resource. AWS CloudFormation uses context key-value pairs in cases where
  9605. // a resource's logical and physical IDs are not enough to uniquely identify
  9606. // that resource. Each context key-value pair specifies a unique resource that
  9607. // contains the targeted resource.
  9608. PhysicalResourceIdContext []*PhysicalResourceIdContextKeyValuePair `type:"list"`
  9609. // A collection of the resource properties whose actual values differ from their
  9610. // expected values. These will be present only for resources whose StackResourceDriftStatus
  9611. // is MODIFIED.
  9612. PropertyDifferences []*PropertyDifference `type:"list"`
  9613. // The type of the resource.
  9614. //
  9615. // ResourceType is a required field
  9616. ResourceType *string `min:"1" type:"string" required:"true"`
  9617. // The ID of the stack.
  9618. //
  9619. // StackId is a required field
  9620. StackId *string `type:"string" required:"true"`
  9621. // Status of the resource's actual configuration compared to its expected configuration
  9622. //
  9623. // * DELETED: The resource differs from its expected template configuration
  9624. // because the resource has been deleted.
  9625. //
  9626. // * MODIFIED: One or more resource properties differ from their expected
  9627. // values (as defined in the stack template and any values specified as template
  9628. // parameters).
  9629. //
  9630. // * IN_SYNC: The resources's actual configuration matches its expected template
  9631. // configuration.
  9632. //
  9633. // * NOT_CHECKED: AWS CloudFormation does not currently return this value.
  9634. //
  9635. // StackResourceDriftStatus is a required field
  9636. StackResourceDriftStatus *string `type:"string" required:"true" enum:"StackResourceDriftStatus"`
  9637. // Time at which AWS CloudFormation performed drift detection on the stack resource.
  9638. //
  9639. // Timestamp is a required field
  9640. Timestamp *time.Time `type:"timestamp" required:"true"`
  9641. }
  9642. // String returns the string representation
  9643. func (s StackResourceDrift) String() string {
  9644. return awsutil.Prettify(s)
  9645. }
  9646. // GoString returns the string representation
  9647. func (s StackResourceDrift) GoString() string {
  9648. return s.String()
  9649. }
  9650. // SetActualProperties sets the ActualProperties field's value.
  9651. func (s *StackResourceDrift) SetActualProperties(v string) *StackResourceDrift {
  9652. s.ActualProperties = &v
  9653. return s
  9654. }
  9655. // SetExpectedProperties sets the ExpectedProperties field's value.
  9656. func (s *StackResourceDrift) SetExpectedProperties(v string) *StackResourceDrift {
  9657. s.ExpectedProperties = &v
  9658. return s
  9659. }
  9660. // SetLogicalResourceId sets the LogicalResourceId field's value.
  9661. func (s *StackResourceDrift) SetLogicalResourceId(v string) *StackResourceDrift {
  9662. s.LogicalResourceId = &v
  9663. return s
  9664. }
  9665. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  9666. func (s *StackResourceDrift) SetPhysicalResourceId(v string) *StackResourceDrift {
  9667. s.PhysicalResourceId = &v
  9668. return s
  9669. }
  9670. // SetPhysicalResourceIdContext sets the PhysicalResourceIdContext field's value.
  9671. func (s *StackResourceDrift) SetPhysicalResourceIdContext(v []*PhysicalResourceIdContextKeyValuePair) *StackResourceDrift {
  9672. s.PhysicalResourceIdContext = v
  9673. return s
  9674. }
  9675. // SetPropertyDifferences sets the PropertyDifferences field's value.
  9676. func (s *StackResourceDrift) SetPropertyDifferences(v []*PropertyDifference) *StackResourceDrift {
  9677. s.PropertyDifferences = v
  9678. return s
  9679. }
  9680. // SetResourceType sets the ResourceType field's value.
  9681. func (s *StackResourceDrift) SetResourceType(v string) *StackResourceDrift {
  9682. s.ResourceType = &v
  9683. return s
  9684. }
  9685. // SetStackId sets the StackId field's value.
  9686. func (s *StackResourceDrift) SetStackId(v string) *StackResourceDrift {
  9687. s.StackId = &v
  9688. return s
  9689. }
  9690. // SetStackResourceDriftStatus sets the StackResourceDriftStatus field's value.
  9691. func (s *StackResourceDrift) SetStackResourceDriftStatus(v string) *StackResourceDrift {
  9692. s.StackResourceDriftStatus = &v
  9693. return s
  9694. }
  9695. // SetTimestamp sets the Timestamp field's value.
  9696. func (s *StackResourceDrift) SetTimestamp(v time.Time) *StackResourceDrift {
  9697. s.Timestamp = &v
  9698. return s
  9699. }
  9700. // Contains information about whether the resource's actual configuration differs,
  9701. // or has drifted, from its expected configuration.
  9702. type StackResourceDriftInformation struct {
  9703. _ struct{} `type:"structure"`
  9704. // When AWS CloudFormation last checked if the resource had drifted from its
  9705. // expected configuration.
  9706. LastCheckTimestamp *time.Time `type:"timestamp"`
  9707. // Status of the resource's actual configuration compared to its expected configuration
  9708. //
  9709. // * DELETED: The resource differs from its expected configuration in that
  9710. // it has been deleted.
  9711. //
  9712. // * MODIFIED: The resource differs from its expected configuration.
  9713. //
  9714. // * NOT_CHECKED: AWS CloudFormation has not checked if the resource differs
  9715. // from its expected configuration.
  9716. //
  9717. // Any resources that do not currently support drift detection have a status
  9718. // of NOT_CHECKED. For more information, see Resources that Support Drift
  9719. // Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  9720. //
  9721. //
  9722. // * IN_SYNC: The resources's actual configuration matches its expected configuration.
  9723. //
  9724. // StackResourceDriftStatus is a required field
  9725. StackResourceDriftStatus *string `type:"string" required:"true" enum:"StackResourceDriftStatus"`
  9726. }
  9727. // String returns the string representation
  9728. func (s StackResourceDriftInformation) String() string {
  9729. return awsutil.Prettify(s)
  9730. }
  9731. // GoString returns the string representation
  9732. func (s StackResourceDriftInformation) GoString() string {
  9733. return s.String()
  9734. }
  9735. // SetLastCheckTimestamp sets the LastCheckTimestamp field's value.
  9736. func (s *StackResourceDriftInformation) SetLastCheckTimestamp(v time.Time) *StackResourceDriftInformation {
  9737. s.LastCheckTimestamp = &v
  9738. return s
  9739. }
  9740. // SetStackResourceDriftStatus sets the StackResourceDriftStatus field's value.
  9741. func (s *StackResourceDriftInformation) SetStackResourceDriftStatus(v string) *StackResourceDriftInformation {
  9742. s.StackResourceDriftStatus = &v
  9743. return s
  9744. }
  9745. // Summarizes information about whether the resource's actual configuration
  9746. // differs, or has drifted, from its expected configuration.
  9747. type StackResourceDriftInformationSummary struct {
  9748. _ struct{} `type:"structure"`
  9749. // When AWS CloudFormation last checked if the resource had drifted from its
  9750. // expected configuration.
  9751. LastCheckTimestamp *time.Time `type:"timestamp"`
  9752. // Status of the resource's actual configuration compared to its expected configuration
  9753. //
  9754. // * DELETED: The resource differs from its expected configuration in that
  9755. // it has been deleted.
  9756. //
  9757. // * MODIFIED: The resource differs from its expected configuration.
  9758. //
  9759. // * NOT_CHECKED: AWS CloudFormation has not checked if the resource differs
  9760. // from its expected configuration.
  9761. //
  9762. // Any resources that do not currently support drift detection have a status
  9763. // of NOT_CHECKED. For more information, see Resources that Support Drift
  9764. // Detection (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html).
  9765. // If you performed an ContinueUpdateRollback operation on a stack, any resources
  9766. // included in ResourcesToSkip will also have a status of NOT_CHECKED. For
  9767. // more information on skipping resources during rollback operations, see
  9768. // Continue Rolling Back an Update (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html)
  9769. // in the AWS CloudFormation User Guide.
  9770. //
  9771. // * IN_SYNC: The resources's actual configuration matches its expected configuration.
  9772. //
  9773. // StackResourceDriftStatus is a required field
  9774. StackResourceDriftStatus *string `type:"string" required:"true" enum:"StackResourceDriftStatus"`
  9775. }
  9776. // String returns the string representation
  9777. func (s StackResourceDriftInformationSummary) String() string {
  9778. return awsutil.Prettify(s)
  9779. }
  9780. // GoString returns the string representation
  9781. func (s StackResourceDriftInformationSummary) GoString() string {
  9782. return s.String()
  9783. }
  9784. // SetLastCheckTimestamp sets the LastCheckTimestamp field's value.
  9785. func (s *StackResourceDriftInformationSummary) SetLastCheckTimestamp(v time.Time) *StackResourceDriftInformationSummary {
  9786. s.LastCheckTimestamp = &v
  9787. return s
  9788. }
  9789. // SetStackResourceDriftStatus sets the StackResourceDriftStatus field's value.
  9790. func (s *StackResourceDriftInformationSummary) SetStackResourceDriftStatus(v string) *StackResourceDriftInformationSummary {
  9791. s.StackResourceDriftStatus = &v
  9792. return s
  9793. }
  9794. // Contains high-level information about the specified stack resource.
  9795. type StackResourceSummary struct {
  9796. _ struct{} `type:"structure"`
  9797. // Information about whether the resource's actual configuration differs, or
  9798. // has drifted, from its expected configuration, as defined in the stack template
  9799. // and any values specified as template parameters. For more information, see
  9800. // Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  9801. DriftInformation *StackResourceDriftInformationSummary `type:"structure"`
  9802. // Time the status was updated.
  9803. //
  9804. // LastUpdatedTimestamp is a required field
  9805. LastUpdatedTimestamp *time.Time `type:"timestamp" required:"true"`
  9806. // The logical name of the resource specified in the template.
  9807. //
  9808. // LogicalResourceId is a required field
  9809. LogicalResourceId *string `type:"string" required:"true"`
  9810. // The name or unique identifier that corresponds to a physical instance ID
  9811. // of the resource.
  9812. PhysicalResourceId *string `type:"string"`
  9813. // Current status of the resource.
  9814. //
  9815. // ResourceStatus is a required field
  9816. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  9817. // Success/failure message associated with the resource.
  9818. ResourceStatusReason *string `type:"string"`
  9819. // Type of resource. (For more information, go to AWS Resource Types Reference
  9820. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  9821. // in the AWS CloudFormation User Guide.)
  9822. //
  9823. // ResourceType is a required field
  9824. ResourceType *string `min:"1" type:"string" required:"true"`
  9825. }
  9826. // String returns the string representation
  9827. func (s StackResourceSummary) String() string {
  9828. return awsutil.Prettify(s)
  9829. }
  9830. // GoString returns the string representation
  9831. func (s StackResourceSummary) GoString() string {
  9832. return s.String()
  9833. }
  9834. // SetDriftInformation sets the DriftInformation field's value.
  9835. func (s *StackResourceSummary) SetDriftInformation(v *StackResourceDriftInformationSummary) *StackResourceSummary {
  9836. s.DriftInformation = v
  9837. return s
  9838. }
  9839. // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9840. func (s *StackResourceSummary) SetLastUpdatedTimestamp(v time.Time) *StackResourceSummary {
  9841. s.LastUpdatedTimestamp = &v
  9842. return s
  9843. }
  9844. // SetLogicalResourceId sets the LogicalResourceId field's value.
  9845. func (s *StackResourceSummary) SetLogicalResourceId(v string) *StackResourceSummary {
  9846. s.LogicalResourceId = &v
  9847. return s
  9848. }
  9849. // SetPhysicalResourceId sets the PhysicalResourceId field's value.
  9850. func (s *StackResourceSummary) SetPhysicalResourceId(v string) *StackResourceSummary {
  9851. s.PhysicalResourceId = &v
  9852. return s
  9853. }
  9854. // SetResourceStatus sets the ResourceStatus field's value.
  9855. func (s *StackResourceSummary) SetResourceStatus(v string) *StackResourceSummary {
  9856. s.ResourceStatus = &v
  9857. return s
  9858. }
  9859. // SetResourceStatusReason sets the ResourceStatusReason field's value.
  9860. func (s *StackResourceSummary) SetResourceStatusReason(v string) *StackResourceSummary {
  9861. s.ResourceStatusReason = &v
  9862. return s
  9863. }
  9864. // SetResourceType sets the ResourceType field's value.
  9865. func (s *StackResourceSummary) SetResourceType(v string) *StackResourceSummary {
  9866. s.ResourceType = &v
  9867. return s
  9868. }
  9869. // A structure that contains information about a stack set. A stack set enables
  9870. // you to provision stacks into AWS accounts and across regions by using a single
  9871. // CloudFormation template. In the stack set, you specify the template to use,
  9872. // as well as any parameters and capabilities that the template requires.
  9873. type StackSet struct {
  9874. _ struct{} `type:"structure"`
  9875. // The Amazon Resource Number (ARN) of the IAM role used to create or update
  9876. // the stack set.
  9877. //
  9878. // Use customized administrator roles to control which users or groups can manage
  9879. // specific stack sets within the same administrator account. For more information,
  9880. // see Prerequisites: Granting Permissions for Stack Set Operations (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
  9881. // in the AWS CloudFormation User Guide.
  9882. AdministrationRoleARN *string `min:"20" type:"string"`
  9883. // The capabilities that are allowed in the stack set. Some stack set templates
  9884. // might include resources that can affect permissions in your AWS account—for
  9885. // example, by creating new AWS Identity and Access Management (IAM) users.
  9886. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  9887. // Templates. (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities)
  9888. Capabilities []*string `type:"list"`
  9889. // A description of the stack set that you specify when the stack set is created
  9890. // or updated.
  9891. Description *string `min:"1" type:"string"`
  9892. // The name of the IAM execution role used to create or update the stack set.
  9893. //
  9894. // Use customized execution roles to control which stack resources users and
  9895. // groups can include in their stack sets.
  9896. ExecutionRoleName *string `min:"1" type:"string"`
  9897. // A list of input parameters for a stack set.
  9898. Parameters []*Parameter `type:"list"`
  9899. // The Amazon Resource Number (ARN) of the stack set.
  9900. StackSetARN *string `type:"string"`
  9901. // The ID of the stack set.
  9902. StackSetId *string `type:"string"`
  9903. // The name that's associated with the stack set.
  9904. StackSetName *string `type:"string"`
  9905. // The status of the stack set.
  9906. Status *string `type:"string" enum:"StackSetStatus"`
  9907. // A list of tags that specify information about the stack set. A maximum number
  9908. // of 50 tags can be specified.
  9909. Tags []*Tag `type:"list"`
  9910. // The structure that contains the body of the template that was used to create
  9911. // or update the stack set.
  9912. TemplateBody *string `min:"1" type:"string"`
  9913. }
  9914. // String returns the string representation
  9915. func (s StackSet) String() string {
  9916. return awsutil.Prettify(s)
  9917. }
  9918. // GoString returns the string representation
  9919. func (s StackSet) GoString() string {
  9920. return s.String()
  9921. }
  9922. // SetAdministrationRoleARN sets the AdministrationRoleARN field's value.
  9923. func (s *StackSet) SetAdministrationRoleARN(v string) *StackSet {
  9924. s.AdministrationRoleARN = &v
  9925. return s
  9926. }
  9927. // SetCapabilities sets the Capabilities field's value.
  9928. func (s *StackSet) SetCapabilities(v []*string) *StackSet {
  9929. s.Capabilities = v
  9930. return s
  9931. }
  9932. // SetDescription sets the Description field's value.
  9933. func (s *StackSet) SetDescription(v string) *StackSet {
  9934. s.Description = &v
  9935. return s
  9936. }
  9937. // SetExecutionRoleName sets the ExecutionRoleName field's value.
  9938. func (s *StackSet) SetExecutionRoleName(v string) *StackSet {
  9939. s.ExecutionRoleName = &v
  9940. return s
  9941. }
  9942. // SetParameters sets the Parameters field's value.
  9943. func (s *StackSet) SetParameters(v []*Parameter) *StackSet {
  9944. s.Parameters = v
  9945. return s
  9946. }
  9947. // SetStackSetARN sets the StackSetARN field's value.
  9948. func (s *StackSet) SetStackSetARN(v string) *StackSet {
  9949. s.StackSetARN = &v
  9950. return s
  9951. }
  9952. // SetStackSetId sets the StackSetId field's value.
  9953. func (s *StackSet) SetStackSetId(v string) *StackSet {
  9954. s.StackSetId = &v
  9955. return s
  9956. }
  9957. // SetStackSetName sets the StackSetName field's value.
  9958. func (s *StackSet) SetStackSetName(v string) *StackSet {
  9959. s.StackSetName = &v
  9960. return s
  9961. }
  9962. // SetStatus sets the Status field's value.
  9963. func (s *StackSet) SetStatus(v string) *StackSet {
  9964. s.Status = &v
  9965. return s
  9966. }
  9967. // SetTags sets the Tags field's value.
  9968. func (s *StackSet) SetTags(v []*Tag) *StackSet {
  9969. s.Tags = v
  9970. return s
  9971. }
  9972. // SetTemplateBody sets the TemplateBody field's value.
  9973. func (s *StackSet) SetTemplateBody(v string) *StackSet {
  9974. s.TemplateBody = &v
  9975. return s
  9976. }
  9977. // The structure that contains information about a stack set operation.
  9978. type StackSetOperation struct {
  9979. _ struct{} `type:"structure"`
  9980. // The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete
  9981. // operations affect only the specified stack set instances that are associated
  9982. // with the specified stack set. Update operations affect both the stack set
  9983. // itself, as well as all associated stack set instances.
  9984. Action *string `type:"string" enum:"StackSetOperationAction"`
  9985. // The Amazon Resource Number (ARN) of the IAM role used to perform this stack
  9986. // set operation.
  9987. //
  9988. // Use customized administrator roles to control which users or groups can manage
  9989. // specific stack sets within the same administrator account. For more information,
  9990. // see Define Permissions for Multiple Administrators (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
  9991. // in the AWS CloudFormation User Guide.
  9992. AdministrationRoleARN *string `min:"20" type:"string"`
  9993. // The time at which the operation was initiated. Note that the creation times
  9994. // for the stack set operation might differ from the creation time of the individual
  9995. // stacks themselves. This is because AWS CloudFormation needs to perform preparatory
  9996. // work for the operation, such as dispatching the work to the requested regions,
  9997. // before actually creating the first stacks.
  9998. CreationTimestamp *time.Time `type:"timestamp"`
  9999. // The time at which the stack set operation ended, across all accounts and
  10000. // regions specified. Note that this doesn't necessarily mean that the stack
  10001. // set operation was successful, or even attempted, in each account or region.
  10002. EndTimestamp *time.Time `type:"timestamp"`
  10003. // The name of the IAM execution role used to create or update the stack set.
  10004. //
  10005. // Use customized execution roles to control which stack resources users and
  10006. // groups can include in their stack sets.
  10007. ExecutionRoleName *string `min:"1" type:"string"`
  10008. // The unique ID of a stack set operation.
  10009. OperationId *string `min:"1" type:"string"`
  10010. // The preferences for how AWS CloudFormation performs this stack set operation.
  10011. OperationPreferences *StackSetOperationPreferences `type:"structure"`
  10012. // For stack set operations of action type DELETE, specifies whether to remove
  10013. // the stack instances from the specified stack set, but doesn't delete the
  10014. // stacks. You can't reassociate a retained stack, or add an existing, saved
  10015. // stack to a new stack set.
  10016. RetainStacks *bool `type:"boolean"`
  10017. // The ID of the stack set.
  10018. StackSetId *string `type:"string"`
  10019. // The status of the operation.
  10020. //
  10021. // * FAILED: The operation exceeded the specified failure tolerance. The
  10022. // failure tolerance value that you've set for an operation is applied for
  10023. // each region during stack create and update operations. If the number of
  10024. // failed stacks within a region exceeds the failure tolerance, the status
  10025. // of the operation in the region is set to FAILED. This in turn sets the
  10026. // status of the operation as a whole to FAILED, and AWS CloudFormation cancels
  10027. // the operation in any remaining regions.
  10028. //
  10029. // * RUNNING: The operation is currently being performed.
  10030. //
  10031. // * STOPPED: The user has cancelled the operation.
  10032. //
  10033. // * STOPPING: The operation is in the process of stopping, at user request.
  10034. //
  10035. //
  10036. // * SUCCEEDED: The operation completed creating or updating all the specified
  10037. // stacks without exceeding the failure tolerance for the operation.
  10038. Status *string `type:"string" enum:"StackSetOperationStatus"`
  10039. }
  10040. // String returns the string representation
  10041. func (s StackSetOperation) String() string {
  10042. return awsutil.Prettify(s)
  10043. }
  10044. // GoString returns the string representation
  10045. func (s StackSetOperation) GoString() string {
  10046. return s.String()
  10047. }
  10048. // SetAction sets the Action field's value.
  10049. func (s *StackSetOperation) SetAction(v string) *StackSetOperation {
  10050. s.Action = &v
  10051. return s
  10052. }
  10053. // SetAdministrationRoleARN sets the AdministrationRoleARN field's value.
  10054. func (s *StackSetOperation) SetAdministrationRoleARN(v string) *StackSetOperation {
  10055. s.AdministrationRoleARN = &v
  10056. return s
  10057. }
  10058. // SetCreationTimestamp sets the CreationTimestamp field's value.
  10059. func (s *StackSetOperation) SetCreationTimestamp(v time.Time) *StackSetOperation {
  10060. s.CreationTimestamp = &v
  10061. return s
  10062. }
  10063. // SetEndTimestamp sets the EndTimestamp field's value.
  10064. func (s *StackSetOperation) SetEndTimestamp(v time.Time) *StackSetOperation {
  10065. s.EndTimestamp = &v
  10066. return s
  10067. }
  10068. // SetExecutionRoleName sets the ExecutionRoleName field's value.
  10069. func (s *StackSetOperation) SetExecutionRoleName(v string) *StackSetOperation {
  10070. s.ExecutionRoleName = &v
  10071. return s
  10072. }
  10073. // SetOperationId sets the OperationId field's value.
  10074. func (s *StackSetOperation) SetOperationId(v string) *StackSetOperation {
  10075. s.OperationId = &v
  10076. return s
  10077. }
  10078. // SetOperationPreferences sets the OperationPreferences field's value.
  10079. func (s *StackSetOperation) SetOperationPreferences(v *StackSetOperationPreferences) *StackSetOperation {
  10080. s.OperationPreferences = v
  10081. return s
  10082. }
  10083. // SetRetainStacks sets the RetainStacks field's value.
  10084. func (s *StackSetOperation) SetRetainStacks(v bool) *StackSetOperation {
  10085. s.RetainStacks = &v
  10086. return s
  10087. }
  10088. // SetStackSetId sets the StackSetId field's value.
  10089. func (s *StackSetOperation) SetStackSetId(v string) *StackSetOperation {
  10090. s.StackSetId = &v
  10091. return s
  10092. }
  10093. // SetStatus sets the Status field's value.
  10094. func (s *StackSetOperation) SetStatus(v string) *StackSetOperation {
  10095. s.Status = &v
  10096. return s
  10097. }
  10098. // The user-specified preferences for how AWS CloudFormation performs a stack
  10099. // set operation.
  10100. //
  10101. // For more information on maximum concurrent accounts and failure tolerance,
  10102. // see Stack set operation options (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options).
  10103. type StackSetOperationPreferences struct {
  10104. _ struct{} `type:"structure"`
  10105. // The number of accounts, per region, for which this operation can fail before
  10106. // AWS CloudFormation stops the operation in that region. If the operation is
  10107. // stopped in a region, AWS CloudFormation doesn't attempt the operation in
  10108. // any subsequent regions.
  10109. //
  10110. // Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage
  10111. // (but not both).
  10112. FailureToleranceCount *int64 `type:"integer"`
  10113. // The percentage of accounts, per region, for which this stack operation can
  10114. // fail before AWS CloudFormation stops the operation in that region. If the
  10115. // operation is stopped in a region, AWS CloudFormation doesn't attempt the
  10116. // operation in any subsequent regions.
  10117. //
  10118. // When calculating the number of accounts based on the specified percentage,
  10119. // AWS CloudFormation rounds down to the next whole number.
  10120. //
  10121. // Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage,
  10122. // but not both.
  10123. FailureTolerancePercentage *int64 `type:"integer"`
  10124. // The maximum number of accounts in which to perform this operation at one
  10125. // time. This is dependent on the value of FailureToleranceCount—MaxConcurrentCount
  10126. // is at most one more than the FailureToleranceCount .
  10127. //
  10128. // Note that this setting lets you specify the maximum for operations. For large
  10129. // deployments, under certain circumstances the actual number of accounts acted
  10130. // upon concurrently may be lower due to service throttling.
  10131. //
  10132. // Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage,
  10133. // but not both.
  10134. MaxConcurrentCount *int64 `min:"1" type:"integer"`
  10135. // The maximum percentage of accounts in which to perform this operation at
  10136. // one time.
  10137. //
  10138. // When calculating the number of accounts based on the specified percentage,
  10139. // AWS CloudFormation rounds down to the next whole number. This is true except
  10140. // in cases where rounding down would result is zero. In this case, CloudFormation
  10141. // sets the number as one instead.
  10142. //
  10143. // Note that this setting lets you specify the maximum for operations. For large
  10144. // deployments, under certain circumstances the actual number of accounts acted
  10145. // upon concurrently may be lower due to service throttling.
  10146. //
  10147. // Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage,
  10148. // but not both.
  10149. MaxConcurrentPercentage *int64 `min:"1" type:"integer"`
  10150. // The order of the regions in where you want to perform the stack operation.
  10151. RegionOrder []*string `type:"list"`
  10152. }
  10153. // String returns the string representation
  10154. func (s StackSetOperationPreferences) String() string {
  10155. return awsutil.Prettify(s)
  10156. }
  10157. // GoString returns the string representation
  10158. func (s StackSetOperationPreferences) GoString() string {
  10159. return s.String()
  10160. }
  10161. // Validate inspects the fields of the type to determine if they are valid.
  10162. func (s *StackSetOperationPreferences) Validate() error {
  10163. invalidParams := request.ErrInvalidParams{Context: "StackSetOperationPreferences"}
  10164. if s.MaxConcurrentCount != nil && *s.MaxConcurrentCount < 1 {
  10165. invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentCount", 1))
  10166. }
  10167. if s.MaxConcurrentPercentage != nil && *s.MaxConcurrentPercentage < 1 {
  10168. invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentPercentage", 1))
  10169. }
  10170. if invalidParams.Len() > 0 {
  10171. return invalidParams
  10172. }
  10173. return nil
  10174. }
  10175. // SetFailureToleranceCount sets the FailureToleranceCount field's value.
  10176. func (s *StackSetOperationPreferences) SetFailureToleranceCount(v int64) *StackSetOperationPreferences {
  10177. s.FailureToleranceCount = &v
  10178. return s
  10179. }
  10180. // SetFailureTolerancePercentage sets the FailureTolerancePercentage field's value.
  10181. func (s *StackSetOperationPreferences) SetFailureTolerancePercentage(v int64) *StackSetOperationPreferences {
  10182. s.FailureTolerancePercentage = &v
  10183. return s
  10184. }
  10185. // SetMaxConcurrentCount sets the MaxConcurrentCount field's value.
  10186. func (s *StackSetOperationPreferences) SetMaxConcurrentCount(v int64) *StackSetOperationPreferences {
  10187. s.MaxConcurrentCount = &v
  10188. return s
  10189. }
  10190. // SetMaxConcurrentPercentage sets the MaxConcurrentPercentage field's value.
  10191. func (s *StackSetOperationPreferences) SetMaxConcurrentPercentage(v int64) *StackSetOperationPreferences {
  10192. s.MaxConcurrentPercentage = &v
  10193. return s
  10194. }
  10195. // SetRegionOrder sets the RegionOrder field's value.
  10196. func (s *StackSetOperationPreferences) SetRegionOrder(v []*string) *StackSetOperationPreferences {
  10197. s.RegionOrder = v
  10198. return s
  10199. }
  10200. // The structure that contains information about a specified operation's results
  10201. // for a given account in a given region.
  10202. type StackSetOperationResultSummary struct {
  10203. _ struct{} `type:"structure"`
  10204. // The name of the AWS account for this operation result.
  10205. Account *string `type:"string"`
  10206. // The results of the account gate function AWS CloudFormation invokes, if present,
  10207. // before proceeding with stack set operations in an account
  10208. AccountGateResult *AccountGateResult `type:"structure"`
  10209. // The name of the AWS region for this operation result.
  10210. Region *string `type:"string"`
  10211. // The result status of the stack set operation for the given account in the
  10212. // given region.
  10213. //
  10214. // * CANCELLED: The operation in the specified account and region has been
  10215. // cancelled. This is either because a user has stopped the stack set operation,
  10216. // or because the failure tolerance of the stack set operation has been exceeded.
  10217. //
  10218. // * FAILED: The operation in the specified account and region failed.
  10219. //
  10220. // If the stack set operation fails in enough accounts within a region, the
  10221. // failure tolerance for the stack set operation as a whole might be exceeded.
  10222. //
  10223. //
  10224. // * RUNNING: The operation in the specified account and region is currently
  10225. // in progress.
  10226. //
  10227. // * PENDING: The operation in the specified account and region has yet to
  10228. // start.
  10229. //
  10230. // * SUCCEEDED: The operation in the specified account and region completed
  10231. // successfully.
  10232. Status *string `type:"string" enum:"StackSetOperationResultStatus"`
  10233. // The reason for the assigned result status.
  10234. StatusReason *string `type:"string"`
  10235. }
  10236. // String returns the string representation
  10237. func (s StackSetOperationResultSummary) String() string {
  10238. return awsutil.Prettify(s)
  10239. }
  10240. // GoString returns the string representation
  10241. func (s StackSetOperationResultSummary) GoString() string {
  10242. return s.String()
  10243. }
  10244. // SetAccount sets the Account field's value.
  10245. func (s *StackSetOperationResultSummary) SetAccount(v string) *StackSetOperationResultSummary {
  10246. s.Account = &v
  10247. return s
  10248. }
  10249. // SetAccountGateResult sets the AccountGateResult field's value.
  10250. func (s *StackSetOperationResultSummary) SetAccountGateResult(v *AccountGateResult) *StackSetOperationResultSummary {
  10251. s.AccountGateResult = v
  10252. return s
  10253. }
  10254. // SetRegion sets the Region field's value.
  10255. func (s *StackSetOperationResultSummary) SetRegion(v string) *StackSetOperationResultSummary {
  10256. s.Region = &v
  10257. return s
  10258. }
  10259. // SetStatus sets the Status field's value.
  10260. func (s *StackSetOperationResultSummary) SetStatus(v string) *StackSetOperationResultSummary {
  10261. s.Status = &v
  10262. return s
  10263. }
  10264. // SetStatusReason sets the StatusReason field's value.
  10265. func (s *StackSetOperationResultSummary) SetStatusReason(v string) *StackSetOperationResultSummary {
  10266. s.StatusReason = &v
  10267. return s
  10268. }
  10269. // The structures that contain summary information about the specified operation.
  10270. type StackSetOperationSummary struct {
  10271. _ struct{} `type:"structure"`
  10272. // The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations
  10273. // affect only the specified stack instances that are associated with the specified
  10274. // stack set. Update operations affect both the stack set itself as well as
  10275. // all associated stack set instances.
  10276. Action *string `type:"string" enum:"StackSetOperationAction"`
  10277. // The time at which the operation was initiated. Note that the creation times
  10278. // for the stack set operation might differ from the creation time of the individual
  10279. // stacks themselves. This is because AWS CloudFormation needs to perform preparatory
  10280. // work for the operation, such as dispatching the work to the requested regions,
  10281. // before actually creating the first stacks.
  10282. CreationTimestamp *time.Time `type:"timestamp"`
  10283. // The time at which the stack set operation ended, across all accounts and
  10284. // regions specified. Note that this doesn't necessarily mean that the stack
  10285. // set operation was successful, or even attempted, in each account or region.
  10286. EndTimestamp *time.Time `type:"timestamp"`
  10287. // The unique ID of the stack set operation.
  10288. OperationId *string `min:"1" type:"string"`
  10289. // The overall status of the operation.
  10290. //
  10291. // * FAILED: The operation exceeded the specified failure tolerance. The
  10292. // failure tolerance value that you've set for an operation is applied for
  10293. // each region during stack create and update operations. If the number of
  10294. // failed stacks within a region exceeds the failure tolerance, the status
  10295. // of the operation in the region is set to FAILED. This in turn sets the
  10296. // status of the operation as a whole to FAILED, and AWS CloudFormation cancels
  10297. // the operation in any remaining regions.
  10298. //
  10299. // * RUNNING: The operation is currently being performed.
  10300. //
  10301. // * STOPPED: The user has cancelled the operation.
  10302. //
  10303. // * STOPPING: The operation is in the process of stopping, at user request.
  10304. //
  10305. //
  10306. // * SUCCEEDED: The operation completed creating or updating all the specified
  10307. // stacks without exceeding the failure tolerance for the operation.
  10308. Status *string `type:"string" enum:"StackSetOperationStatus"`
  10309. }
  10310. // String returns the string representation
  10311. func (s StackSetOperationSummary) String() string {
  10312. return awsutil.Prettify(s)
  10313. }
  10314. // GoString returns the string representation
  10315. func (s StackSetOperationSummary) GoString() string {
  10316. return s.String()
  10317. }
  10318. // SetAction sets the Action field's value.
  10319. func (s *StackSetOperationSummary) SetAction(v string) *StackSetOperationSummary {
  10320. s.Action = &v
  10321. return s
  10322. }
  10323. // SetCreationTimestamp sets the CreationTimestamp field's value.
  10324. func (s *StackSetOperationSummary) SetCreationTimestamp(v time.Time) *StackSetOperationSummary {
  10325. s.CreationTimestamp = &v
  10326. return s
  10327. }
  10328. // SetEndTimestamp sets the EndTimestamp field's value.
  10329. func (s *StackSetOperationSummary) SetEndTimestamp(v time.Time) *StackSetOperationSummary {
  10330. s.EndTimestamp = &v
  10331. return s
  10332. }
  10333. // SetOperationId sets the OperationId field's value.
  10334. func (s *StackSetOperationSummary) SetOperationId(v string) *StackSetOperationSummary {
  10335. s.OperationId = &v
  10336. return s
  10337. }
  10338. // SetStatus sets the Status field's value.
  10339. func (s *StackSetOperationSummary) SetStatus(v string) *StackSetOperationSummary {
  10340. s.Status = &v
  10341. return s
  10342. }
  10343. // The structures that contain summary information about the specified stack
  10344. // set.
  10345. type StackSetSummary struct {
  10346. _ struct{} `type:"structure"`
  10347. // A description of the stack set that you specify when the stack set is created
  10348. // or updated.
  10349. Description *string `min:"1" type:"string"`
  10350. // The ID of the stack set.
  10351. StackSetId *string `type:"string"`
  10352. // The name of the stack set.
  10353. StackSetName *string `type:"string"`
  10354. // The status of the stack set.
  10355. Status *string `type:"string" enum:"StackSetStatus"`
  10356. }
  10357. // String returns the string representation
  10358. func (s StackSetSummary) String() string {
  10359. return awsutil.Prettify(s)
  10360. }
  10361. // GoString returns the string representation
  10362. func (s StackSetSummary) GoString() string {
  10363. return s.String()
  10364. }
  10365. // SetDescription sets the Description field's value.
  10366. func (s *StackSetSummary) SetDescription(v string) *StackSetSummary {
  10367. s.Description = &v
  10368. return s
  10369. }
  10370. // SetStackSetId sets the StackSetId field's value.
  10371. func (s *StackSetSummary) SetStackSetId(v string) *StackSetSummary {
  10372. s.StackSetId = &v
  10373. return s
  10374. }
  10375. // SetStackSetName sets the StackSetName field's value.
  10376. func (s *StackSetSummary) SetStackSetName(v string) *StackSetSummary {
  10377. s.StackSetName = &v
  10378. return s
  10379. }
  10380. // SetStatus sets the Status field's value.
  10381. func (s *StackSetSummary) SetStatus(v string) *StackSetSummary {
  10382. s.Status = &v
  10383. return s
  10384. }
  10385. // The StackSummary Data Type
  10386. type StackSummary struct {
  10387. _ struct{} `type:"structure"`
  10388. // The time the stack was created.
  10389. //
  10390. // CreationTime is a required field
  10391. CreationTime *time.Time `type:"timestamp" required:"true"`
  10392. // The time the stack was deleted.
  10393. DeletionTime *time.Time `type:"timestamp"`
  10394. // Summarizes information on whether a stack's actual configuration differs,
  10395. // or has drifted, from it's expected configuration, as defined in the stack
  10396. // template and any values specified as template parameters. For more information,
  10397. // see Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html).
  10398. DriftInformation *StackDriftInformationSummary `type:"structure"`
  10399. // The time the stack was last updated. This field will only be returned if
  10400. // the stack has been updated at least once.
  10401. LastUpdatedTime *time.Time `type:"timestamp"`
  10402. // For nested stacks--stacks created as resources for another stack--the stack
  10403. // ID of the direct parent of this stack. For the first level of nested stacks,
  10404. // the root stack is also the parent stack.
  10405. //
  10406. // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
  10407. // in the AWS CloudFormation User Guide.
  10408. ParentId *string `type:"string"`
  10409. // For nested stacks--stacks created as resources for another stack--the stack
  10410. // ID of the the top-level stack to which the nested stack ultimately belongs.
  10411. //
  10412. // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
  10413. // in the AWS CloudFormation User Guide.
  10414. RootId *string `type:"string"`
  10415. // Unique stack identifier.
  10416. StackId *string `type:"string"`
  10417. // The name associated with the stack.
  10418. //
  10419. // StackName is a required field
  10420. StackName *string `type:"string" required:"true"`
  10421. // The current status of the stack.
  10422. //
  10423. // StackStatus is a required field
  10424. StackStatus *string `type:"string" required:"true" enum:"StackStatus"`
  10425. // Success/Failure message associated with the stack status.
  10426. StackStatusReason *string `type:"string"`
  10427. // The template description of the template used to create the stack.
  10428. TemplateDescription *string `type:"string"`
  10429. }
  10430. // String returns the string representation
  10431. func (s StackSummary) String() string {
  10432. return awsutil.Prettify(s)
  10433. }
  10434. // GoString returns the string representation
  10435. func (s StackSummary) GoString() string {
  10436. return s.String()
  10437. }
  10438. // SetCreationTime sets the CreationTime field's value.
  10439. func (s *StackSummary) SetCreationTime(v time.Time) *StackSummary {
  10440. s.CreationTime = &v
  10441. return s
  10442. }
  10443. // SetDeletionTime sets the DeletionTime field's value.
  10444. func (s *StackSummary) SetDeletionTime(v time.Time) *StackSummary {
  10445. s.DeletionTime = &v
  10446. return s
  10447. }
  10448. // SetDriftInformation sets the DriftInformation field's value.
  10449. func (s *StackSummary) SetDriftInformation(v *StackDriftInformationSummary) *StackSummary {
  10450. s.DriftInformation = v
  10451. return s
  10452. }
  10453. // SetLastUpdatedTime sets the LastUpdatedTime field's value.
  10454. func (s *StackSummary) SetLastUpdatedTime(v time.Time) *StackSummary {
  10455. s.LastUpdatedTime = &v
  10456. return s
  10457. }
  10458. // SetParentId sets the ParentId field's value.
  10459. func (s *StackSummary) SetParentId(v string) *StackSummary {
  10460. s.ParentId = &v
  10461. return s
  10462. }
  10463. // SetRootId sets the RootId field's value.
  10464. func (s *StackSummary) SetRootId(v string) *StackSummary {
  10465. s.RootId = &v
  10466. return s
  10467. }
  10468. // SetStackId sets the StackId field's value.
  10469. func (s *StackSummary) SetStackId(v string) *StackSummary {
  10470. s.StackId = &v
  10471. return s
  10472. }
  10473. // SetStackName sets the StackName field's value.
  10474. func (s *StackSummary) SetStackName(v string) *StackSummary {
  10475. s.StackName = &v
  10476. return s
  10477. }
  10478. // SetStackStatus sets the StackStatus field's value.
  10479. func (s *StackSummary) SetStackStatus(v string) *StackSummary {
  10480. s.StackStatus = &v
  10481. return s
  10482. }
  10483. // SetStackStatusReason sets the StackStatusReason field's value.
  10484. func (s *StackSummary) SetStackStatusReason(v string) *StackSummary {
  10485. s.StackStatusReason = &v
  10486. return s
  10487. }
  10488. // SetTemplateDescription sets the TemplateDescription field's value.
  10489. func (s *StackSummary) SetTemplateDescription(v string) *StackSummary {
  10490. s.TemplateDescription = &v
  10491. return s
  10492. }
  10493. type StopStackSetOperationInput struct {
  10494. _ struct{} `type:"structure"`
  10495. // The ID of the stack operation.
  10496. //
  10497. // OperationId is a required field
  10498. OperationId *string `min:"1" type:"string" required:"true"`
  10499. // The name or unique ID of the stack set that you want to stop the operation
  10500. // for.
  10501. //
  10502. // StackSetName is a required field
  10503. StackSetName *string `type:"string" required:"true"`
  10504. }
  10505. // String returns the string representation
  10506. func (s StopStackSetOperationInput) String() string {
  10507. return awsutil.Prettify(s)
  10508. }
  10509. // GoString returns the string representation
  10510. func (s StopStackSetOperationInput) GoString() string {
  10511. return s.String()
  10512. }
  10513. // Validate inspects the fields of the type to determine if they are valid.
  10514. func (s *StopStackSetOperationInput) Validate() error {
  10515. invalidParams := request.ErrInvalidParams{Context: "StopStackSetOperationInput"}
  10516. if s.OperationId == nil {
  10517. invalidParams.Add(request.NewErrParamRequired("OperationId"))
  10518. }
  10519. if s.OperationId != nil && len(*s.OperationId) < 1 {
  10520. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  10521. }
  10522. if s.StackSetName == nil {
  10523. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  10524. }
  10525. if invalidParams.Len() > 0 {
  10526. return invalidParams
  10527. }
  10528. return nil
  10529. }
  10530. // SetOperationId sets the OperationId field's value.
  10531. func (s *StopStackSetOperationInput) SetOperationId(v string) *StopStackSetOperationInput {
  10532. s.OperationId = &v
  10533. return s
  10534. }
  10535. // SetStackSetName sets the StackSetName field's value.
  10536. func (s *StopStackSetOperationInput) SetStackSetName(v string) *StopStackSetOperationInput {
  10537. s.StackSetName = &v
  10538. return s
  10539. }
  10540. type StopStackSetOperationOutput struct {
  10541. _ struct{} `type:"structure"`
  10542. }
  10543. // String returns the string representation
  10544. func (s StopStackSetOperationOutput) String() string {
  10545. return awsutil.Prettify(s)
  10546. }
  10547. // GoString returns the string representation
  10548. func (s StopStackSetOperationOutput) GoString() string {
  10549. return s.String()
  10550. }
  10551. // The Tag type enables you to specify a key-value pair that can be used to
  10552. // store information about an AWS CloudFormation stack.
  10553. type Tag struct {
  10554. _ struct{} `type:"structure"`
  10555. // Required. A string used to identify this tag. You can specify a maximum of
  10556. // 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have
  10557. // the reserved prefix: aws:.
  10558. //
  10559. // Key is a required field
  10560. Key *string `min:"1" type:"string" required:"true"`
  10561. // Required. A string containing the value for this tag. You can specify a maximum
  10562. // of 256 characters for a tag value.
  10563. //
  10564. // Value is a required field
  10565. Value *string `min:"1" type:"string" required:"true"`
  10566. }
  10567. // String returns the string representation
  10568. func (s Tag) String() string {
  10569. return awsutil.Prettify(s)
  10570. }
  10571. // GoString returns the string representation
  10572. func (s Tag) GoString() string {
  10573. return s.String()
  10574. }
  10575. // Validate inspects the fields of the type to determine if they are valid.
  10576. func (s *Tag) Validate() error {
  10577. invalidParams := request.ErrInvalidParams{Context: "Tag"}
  10578. if s.Key == nil {
  10579. invalidParams.Add(request.NewErrParamRequired("Key"))
  10580. }
  10581. if s.Key != nil && len(*s.Key) < 1 {
  10582. invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  10583. }
  10584. if s.Value == nil {
  10585. invalidParams.Add(request.NewErrParamRequired("Value"))
  10586. }
  10587. if s.Value != nil && len(*s.Value) < 1 {
  10588. invalidParams.Add(request.NewErrParamMinLen("Value", 1))
  10589. }
  10590. if invalidParams.Len() > 0 {
  10591. return invalidParams
  10592. }
  10593. return nil
  10594. }
  10595. // SetKey sets the Key field's value.
  10596. func (s *Tag) SetKey(v string) *Tag {
  10597. s.Key = &v
  10598. return s
  10599. }
  10600. // SetValue sets the Value field's value.
  10601. func (s *Tag) SetValue(v string) *Tag {
  10602. s.Value = &v
  10603. return s
  10604. }
  10605. // The TemplateParameter data type.
  10606. type TemplateParameter struct {
  10607. _ struct{} `type:"structure"`
  10608. // The default value associated with the parameter.
  10609. DefaultValue *string `type:"string"`
  10610. // User defined description associated with the parameter.
  10611. Description *string `min:"1" type:"string"`
  10612. // Flag indicating whether the parameter should be displayed as plain text in
  10613. // logs and UIs.
  10614. NoEcho *bool `type:"boolean"`
  10615. // The name associated with the parameter.
  10616. ParameterKey *string `type:"string"`
  10617. }
  10618. // String returns the string representation
  10619. func (s TemplateParameter) String() string {
  10620. return awsutil.Prettify(s)
  10621. }
  10622. // GoString returns the string representation
  10623. func (s TemplateParameter) GoString() string {
  10624. return s.String()
  10625. }
  10626. // SetDefaultValue sets the DefaultValue field's value.
  10627. func (s *TemplateParameter) SetDefaultValue(v string) *TemplateParameter {
  10628. s.DefaultValue = &v
  10629. return s
  10630. }
  10631. // SetDescription sets the Description field's value.
  10632. func (s *TemplateParameter) SetDescription(v string) *TemplateParameter {
  10633. s.Description = &v
  10634. return s
  10635. }
  10636. // SetNoEcho sets the NoEcho field's value.
  10637. func (s *TemplateParameter) SetNoEcho(v bool) *TemplateParameter {
  10638. s.NoEcho = &v
  10639. return s
  10640. }
  10641. // SetParameterKey sets the ParameterKey field's value.
  10642. func (s *TemplateParameter) SetParameterKey(v string) *TemplateParameter {
  10643. s.ParameterKey = &v
  10644. return s
  10645. }
  10646. // The input for an UpdateStack action.
  10647. type UpdateStackInput struct {
  10648. _ struct{} `type:"structure"`
  10649. // In some cases, you must explicity acknowledge that your stack template contains
  10650. // certain capabilities in order for AWS CloudFormation to update the stack.
  10651. //
  10652. // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM
  10653. //
  10654. // Some stack templates might include resources that can affect permissions
  10655. // in your AWS account; for example, by creating new AWS Identity and Access
  10656. // Management (IAM) users. For those stacks, you must explicitly acknowledge
  10657. // this by specifying one of these capabilities.
  10658. //
  10659. // The following IAM resources require you to specify either the CAPABILITY_IAM
  10660. // or CAPABILITY_NAMED_IAM capability.
  10661. //
  10662. // If you have IAM resources, you can specify either capability.
  10663. //
  10664. // If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.
  10665. //
  10666. //
  10667. // If you don't specify either of these capabilities, AWS CloudFormation returns
  10668. // an InsufficientCapabilities error.
  10669. //
  10670. // If your stack template contains these resources, we recommend that you review
  10671. // all permissions associated with them and edit their permissions if necessary.
  10672. //
  10673. // AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html)
  10674. //
  10675. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)
  10676. //
  10677. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)
  10678. //
  10679. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)
  10680. //
  10681. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)
  10682. //
  10683. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html)
  10684. //
  10685. // AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html)
  10686. //
  10687. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  10688. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  10689. //
  10690. // * CAPABILITY_AUTO_EXPAND
  10691. //
  10692. // Some template contain macros. Macros perform custom processing on templates;
  10693. // this can include simple actions like find-and-replace operations, all
  10694. // the way to extensive transformations of entire templates. Because of this,
  10695. // users typically create a change set from the processed template, so that
  10696. // they can review the changes resulting from the macros before actually
  10697. // updating the stack. If your stack template contains one or more macros,
  10698. // and you choose to update a stack directly from the processed template,
  10699. // without first reviewing the resulting changes in a change set, you must
  10700. // acknowledge this capability. This includes the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
  10701. // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
  10702. // transforms, which are macros hosted by AWS CloudFormation.
  10703. //
  10704. // Change sets do not currently support nested stacks. If you want to update
  10705. // a stack from a stack template that contains macros and nested stacks,
  10706. // you must update the stack directly from the template using this capability.
  10707. //
  10708. // You should only update stacks directly from a stack template that contains
  10709. // macros if you know what processing the macro performs.
  10710. //
  10711. // Each macro relies on an underlying Lambda service function for processing
  10712. // stack templates. Be aware that the Lambda function owner can update the
  10713. // function operation without AWS CloudFormation being notified.
  10714. //
  10715. // For more information, see Using AWS CloudFormation Macros to Perform Custom
  10716. // Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
  10717. Capabilities []*string `type:"list"`
  10718. // A unique identifier for this UpdateStack request. Specify this token if you
  10719. // plan to retry requests so that AWS CloudFormation knows that you're not attempting
  10720. // to update a stack with the same name. You might retry UpdateStack requests
  10721. // to ensure that AWS CloudFormation successfully received them.
  10722. //
  10723. // All events triggered by a given stack operation are assigned the same client
  10724. // request token, which you can use to track operations. For example, if you
  10725. // execute a CreateStack operation with the token token1, then all the StackEvents
  10726. // generated by that operation will have ClientRequestToken set as token1.
  10727. //
  10728. // In the console, stack operations display the client request token on the
  10729. // Events tab. Stack operations that are initiated from the console use the
  10730. // token format Console-StackOperation-ID, which helps you easily identify the
  10731. // stack operation . For example, if you create a stack using the console, each
  10732. // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
  10733. ClientRequestToken *string `min:"1" type:"string"`
  10734. // Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that
  10735. // AWS CloudFormation associates with the stack. Specify an empty list to remove
  10736. // all notification topics.
  10737. NotificationARNs []*string `type:"list"`
  10738. // A list of Parameter structures that specify input parameters for the stack.
  10739. // For more information, see the Parameter (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  10740. // data type.
  10741. Parameters []*Parameter `type:"list"`
  10742. // The template resource types that you have permissions to work with for this
  10743. // update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  10744. //
  10745. // If the list of resource types doesn't include a resource that you're updating,
  10746. // the stack update fails. By default, AWS CloudFormation grants permissions
  10747. // to all resource types. AWS Identity and Access Management (IAM) uses this
  10748. // parameter for AWS CloudFormation-specific condition keys in IAM policies.
  10749. // For more information, see Controlling Access with AWS Identity and Access
  10750. // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html).
  10751. ResourceTypes []*string `type:"list"`
  10752. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  10753. // role that AWS CloudFormation assumes to update the stack. AWS CloudFormation
  10754. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  10755. // always uses this role for all future operations on the stack. As long as
  10756. // users have permission to operate on the stack, AWS CloudFormation uses this
  10757. // role even if the users don't have permission to pass it. Ensure that the
  10758. // role grants least privilege.
  10759. //
  10760. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  10761. // associated with the stack. If no role is available, AWS CloudFormation uses
  10762. // a temporary session that is generated from your user credentials.
  10763. RoleARN *string `min:"20" type:"string"`
  10764. // The rollback triggers for AWS CloudFormation to monitor during stack creation
  10765. // and updating operations, and for the specified monitoring period afterwards.
  10766. RollbackConfiguration *RollbackConfiguration `type:"structure"`
  10767. // The name or unique stack ID of the stack to update.
  10768. //
  10769. // StackName is a required field
  10770. StackName *string `type:"string" required:"true"`
  10771. // Structure containing a new stack policy body. You can specify either the
  10772. // StackPolicyBody or the StackPolicyURL parameter, but not both.
  10773. //
  10774. // You might update the stack policy, for example, in order to protect a new
  10775. // resource that you created during a stack update. If you do not specify a
  10776. // stack policy, the current policy that is associated with the stack is unchanged.
  10777. StackPolicyBody *string `min:"1" type:"string"`
  10778. // Structure containing the temporary overriding stack policy body. You can
  10779. // specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL
  10780. // parameter, but not both.
  10781. //
  10782. // If you want to update protected resources, specify a temporary overriding
  10783. // stack policy during this update. If you do not specify a stack policy, the
  10784. // current policy that is associated with the stack will be used.
  10785. StackPolicyDuringUpdateBody *string `min:"1" type:"string"`
  10786. // Location of a file containing the temporary overriding stack policy. The
  10787. // URL must point to a policy (max size: 16KB) located in an S3 bucket in the
  10788. // same region as the stack. You can specify either the StackPolicyDuringUpdateBody
  10789. // or the StackPolicyDuringUpdateURL parameter, but not both.
  10790. //
  10791. // If you want to update protected resources, specify a temporary overriding
  10792. // stack policy during this update. If you do not specify a stack policy, the
  10793. // current policy that is associated with the stack will be used.
  10794. StackPolicyDuringUpdateURL *string `min:"1" type:"string"`
  10795. // Location of a file containing the updated stack policy. The URL must point
  10796. // to a policy (max size: 16KB) located in an S3 bucket in the same region as
  10797. // the stack. You can specify either the StackPolicyBody or the StackPolicyURL
  10798. // parameter, but not both.
  10799. //
  10800. // You might update the stack policy, for example, in order to protect a new
  10801. // resource that you created during a stack update. If you do not specify a
  10802. // stack policy, the current policy that is associated with the stack is unchanged.
  10803. StackPolicyURL *string `min:"1" type:"string"`
  10804. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  10805. // these tags to supported resources in the stack. You can specify a maximum
  10806. // number of 50 tags.
  10807. //
  10808. // If you don't specify this parameter, AWS CloudFormation doesn't modify the
  10809. // stack's tags. If you specify an empty value, AWS CloudFormation removes all
  10810. // associated tags.
  10811. Tags []*Tag `type:"list"`
  10812. // Structure containing the template body with a minimum length of 1 byte and
  10813. // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy
  10814. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  10815. // in the AWS CloudFormation User Guide.)
  10816. //
  10817. // Conditional: You must specify only one of the following parameters: TemplateBody,
  10818. // TemplateURL, or set the UsePreviousTemplate to true.
  10819. TemplateBody *string `min:"1" type:"string"`
  10820. // Location of file containing the template body. The URL must point to a template
  10821. // that is located in an Amazon S3 bucket. For more information, go to Template
  10822. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  10823. // in the AWS CloudFormation User Guide.
  10824. //
  10825. // Conditional: You must specify only one of the following parameters: TemplateBody,
  10826. // TemplateURL, or set the UsePreviousTemplate to true.
  10827. TemplateURL *string `min:"1" type:"string"`
  10828. // Reuse the existing template that is associated with the stack that you are
  10829. // updating.
  10830. //
  10831. // Conditional: You must specify only one of the following parameters: TemplateBody,
  10832. // TemplateURL, or set the UsePreviousTemplate to true.
  10833. UsePreviousTemplate *bool `type:"boolean"`
  10834. }
  10835. // String returns the string representation
  10836. func (s UpdateStackInput) String() string {
  10837. return awsutil.Prettify(s)
  10838. }
  10839. // GoString returns the string representation
  10840. func (s UpdateStackInput) GoString() string {
  10841. return s.String()
  10842. }
  10843. // Validate inspects the fields of the type to determine if they are valid.
  10844. func (s *UpdateStackInput) Validate() error {
  10845. invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
  10846. if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  10847. invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  10848. }
  10849. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  10850. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  10851. }
  10852. if s.StackName == nil {
  10853. invalidParams.Add(request.NewErrParamRequired("StackName"))
  10854. }
  10855. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  10856. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  10857. }
  10858. if s.StackPolicyDuringUpdateBody != nil && len(*s.StackPolicyDuringUpdateBody) < 1 {
  10859. invalidParams.Add(request.NewErrParamMinLen("StackPolicyDuringUpdateBody", 1))
  10860. }
  10861. if s.StackPolicyDuringUpdateURL != nil && len(*s.StackPolicyDuringUpdateURL) < 1 {
  10862. invalidParams.Add(request.NewErrParamMinLen("StackPolicyDuringUpdateURL", 1))
  10863. }
  10864. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  10865. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  10866. }
  10867. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  10868. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  10869. }
  10870. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  10871. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  10872. }
  10873. if s.RollbackConfiguration != nil {
  10874. if err := s.RollbackConfiguration.Validate(); err != nil {
  10875. invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams))
  10876. }
  10877. }
  10878. if s.Tags != nil {
  10879. for i, v := range s.Tags {
  10880. if v == nil {
  10881. continue
  10882. }
  10883. if err := v.Validate(); err != nil {
  10884. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  10885. }
  10886. }
  10887. }
  10888. if invalidParams.Len() > 0 {
  10889. return invalidParams
  10890. }
  10891. return nil
  10892. }
  10893. // SetCapabilities sets the Capabilities field's value.
  10894. func (s *UpdateStackInput) SetCapabilities(v []*string) *UpdateStackInput {
  10895. s.Capabilities = v
  10896. return s
  10897. }
  10898. // SetClientRequestToken sets the ClientRequestToken field's value.
  10899. func (s *UpdateStackInput) SetClientRequestToken(v string) *UpdateStackInput {
  10900. s.ClientRequestToken = &v
  10901. return s
  10902. }
  10903. // SetNotificationARNs sets the NotificationARNs field's value.
  10904. func (s *UpdateStackInput) SetNotificationARNs(v []*string) *UpdateStackInput {
  10905. s.NotificationARNs = v
  10906. return s
  10907. }
  10908. // SetParameters sets the Parameters field's value.
  10909. func (s *UpdateStackInput) SetParameters(v []*Parameter) *UpdateStackInput {
  10910. s.Parameters = v
  10911. return s
  10912. }
  10913. // SetResourceTypes sets the ResourceTypes field's value.
  10914. func (s *UpdateStackInput) SetResourceTypes(v []*string) *UpdateStackInput {
  10915. s.ResourceTypes = v
  10916. return s
  10917. }
  10918. // SetRoleARN sets the RoleARN field's value.
  10919. func (s *UpdateStackInput) SetRoleARN(v string) *UpdateStackInput {
  10920. s.RoleARN = &v
  10921. return s
  10922. }
  10923. // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  10924. func (s *UpdateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *UpdateStackInput {
  10925. s.RollbackConfiguration = v
  10926. return s
  10927. }
  10928. // SetStackName sets the StackName field's value.
  10929. func (s *UpdateStackInput) SetStackName(v string) *UpdateStackInput {
  10930. s.StackName = &v
  10931. return s
  10932. }
  10933. // SetStackPolicyBody sets the StackPolicyBody field's value.
  10934. func (s *UpdateStackInput) SetStackPolicyBody(v string) *UpdateStackInput {
  10935. s.StackPolicyBody = &v
  10936. return s
  10937. }
  10938. // SetStackPolicyDuringUpdateBody sets the StackPolicyDuringUpdateBody field's value.
  10939. func (s *UpdateStackInput) SetStackPolicyDuringUpdateBody(v string) *UpdateStackInput {
  10940. s.StackPolicyDuringUpdateBody = &v
  10941. return s
  10942. }
  10943. // SetStackPolicyDuringUpdateURL sets the StackPolicyDuringUpdateURL field's value.
  10944. func (s *UpdateStackInput) SetStackPolicyDuringUpdateURL(v string) *UpdateStackInput {
  10945. s.StackPolicyDuringUpdateURL = &v
  10946. return s
  10947. }
  10948. // SetStackPolicyURL sets the StackPolicyURL field's value.
  10949. func (s *UpdateStackInput) SetStackPolicyURL(v string) *UpdateStackInput {
  10950. s.StackPolicyURL = &v
  10951. return s
  10952. }
  10953. // SetTags sets the Tags field's value.
  10954. func (s *UpdateStackInput) SetTags(v []*Tag) *UpdateStackInput {
  10955. s.Tags = v
  10956. return s
  10957. }
  10958. // SetTemplateBody sets the TemplateBody field's value.
  10959. func (s *UpdateStackInput) SetTemplateBody(v string) *UpdateStackInput {
  10960. s.TemplateBody = &v
  10961. return s
  10962. }
  10963. // SetTemplateURL sets the TemplateURL field's value.
  10964. func (s *UpdateStackInput) SetTemplateURL(v string) *UpdateStackInput {
  10965. s.TemplateURL = &v
  10966. return s
  10967. }
  10968. // SetUsePreviousTemplate sets the UsePreviousTemplate field's value.
  10969. func (s *UpdateStackInput) SetUsePreviousTemplate(v bool) *UpdateStackInput {
  10970. s.UsePreviousTemplate = &v
  10971. return s
  10972. }
  10973. type UpdateStackInstancesInput struct {
  10974. _ struct{} `type:"structure"`
  10975. // The names of one or more AWS accounts for which you want to update parameter
  10976. // values for stack instances. The overridden parameter values will be applied
  10977. // to all stack instances in the specified accounts and regions.
  10978. //
  10979. // Accounts is a required field
  10980. Accounts []*string `type:"list" required:"true"`
  10981. // The unique identifier for this stack set operation.
  10982. //
  10983. // The operation ID also functions as an idempotency token, to ensure that AWS
  10984. // CloudFormation performs the stack set operation only once, even if you retry
  10985. // the request multiple times. You might retry stack set operation requests
  10986. // to ensure that AWS CloudFormation successfully received them.
  10987. //
  10988. // If you don't specify an operation ID, the SDK generates one automatically.
  10989. OperationId *string `min:"1" type:"string" idempotencyToken:"true"`
  10990. // Preferences for how AWS CloudFormation performs this stack set operation.
  10991. OperationPreferences *StackSetOperationPreferences `type:"structure"`
  10992. // A list of input parameters whose values you want to update for the specified
  10993. // stack instances.
  10994. //
  10995. // Any overridden parameter values will be applied to all stack instances in
  10996. // the specified accounts and regions. When specifying parameters and their
  10997. // values, be aware of how AWS CloudFormation sets parameter values during stack
  10998. // instance update operations:
  10999. //
  11000. // * To override the current value for a parameter, include the parameter
  11001. // and specify its value.
  11002. //
  11003. // * To leave a parameter set to its present value, you can do one of the
  11004. // following:
  11005. //
  11006. // Do not include the parameter in the list.
  11007. //
  11008. // Include the parameter and specify UsePreviousValue as true. (You cannot specify
  11009. // both a value and set UsePreviousValue to true.)
  11010. //
  11011. // * To set all overridden parameter back to the values specified in the
  11012. // stack set, specify a parameter list but do not include any parameters.
  11013. //
  11014. // * To leave all parameters set to their present values, do not specify
  11015. // this property at all.
  11016. //
  11017. // During stack set updates, any parameter values overridden for a stack instance
  11018. // are not updated, but retain their overridden value.
  11019. //
  11020. // You can only override the parameter values that are specified in the stack
  11021. // set; to add or delete a parameter itself, use UpdateStackSet to update the
  11022. // stack set template. If you add a parameter to a template, before you can
  11023. // override the parameter value specified in the stack set you must first use
  11024. // UpdateStackSet (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)
  11025. // to update all stack instances with the updated template and parameter value
  11026. // specified in the stack set. Once a stack instance has been updated with the
  11027. // new parameter, you can then override the parameter value using UpdateStackInstances.
  11028. ParameterOverrides []*Parameter `type:"list"`
  11029. // The names of one or more regions in which you want to update parameter values
  11030. // for stack instances. The overridden parameter values will be applied to all
  11031. // stack instances in the specified accounts and regions.
  11032. //
  11033. // Regions is a required field
  11034. Regions []*string `type:"list" required:"true"`
  11035. // The name or unique ID of the stack set associated with the stack instances.
  11036. //
  11037. // StackSetName is a required field
  11038. StackSetName *string `type:"string" required:"true"`
  11039. }
  11040. // String returns the string representation
  11041. func (s UpdateStackInstancesInput) String() string {
  11042. return awsutil.Prettify(s)
  11043. }
  11044. // GoString returns the string representation
  11045. func (s UpdateStackInstancesInput) GoString() string {
  11046. return s.String()
  11047. }
  11048. // Validate inspects the fields of the type to determine if they are valid.
  11049. func (s *UpdateStackInstancesInput) Validate() error {
  11050. invalidParams := request.ErrInvalidParams{Context: "UpdateStackInstancesInput"}
  11051. if s.Accounts == nil {
  11052. invalidParams.Add(request.NewErrParamRequired("Accounts"))
  11053. }
  11054. if s.OperationId != nil && len(*s.OperationId) < 1 {
  11055. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  11056. }
  11057. if s.Regions == nil {
  11058. invalidParams.Add(request.NewErrParamRequired("Regions"))
  11059. }
  11060. if s.StackSetName == nil {
  11061. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  11062. }
  11063. if s.OperationPreferences != nil {
  11064. if err := s.OperationPreferences.Validate(); err != nil {
  11065. invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams))
  11066. }
  11067. }
  11068. if invalidParams.Len() > 0 {
  11069. return invalidParams
  11070. }
  11071. return nil
  11072. }
  11073. // SetAccounts sets the Accounts field's value.
  11074. func (s *UpdateStackInstancesInput) SetAccounts(v []*string) *UpdateStackInstancesInput {
  11075. s.Accounts = v
  11076. return s
  11077. }
  11078. // SetOperationId sets the OperationId field's value.
  11079. func (s *UpdateStackInstancesInput) SetOperationId(v string) *UpdateStackInstancesInput {
  11080. s.OperationId = &v
  11081. return s
  11082. }
  11083. // SetOperationPreferences sets the OperationPreferences field's value.
  11084. func (s *UpdateStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *UpdateStackInstancesInput {
  11085. s.OperationPreferences = v
  11086. return s
  11087. }
  11088. // SetParameterOverrides sets the ParameterOverrides field's value.
  11089. func (s *UpdateStackInstancesInput) SetParameterOverrides(v []*Parameter) *UpdateStackInstancesInput {
  11090. s.ParameterOverrides = v
  11091. return s
  11092. }
  11093. // SetRegions sets the Regions field's value.
  11094. func (s *UpdateStackInstancesInput) SetRegions(v []*string) *UpdateStackInstancesInput {
  11095. s.Regions = v
  11096. return s
  11097. }
  11098. // SetStackSetName sets the StackSetName field's value.
  11099. func (s *UpdateStackInstancesInput) SetStackSetName(v string) *UpdateStackInstancesInput {
  11100. s.StackSetName = &v
  11101. return s
  11102. }
  11103. type UpdateStackInstancesOutput struct {
  11104. _ struct{} `type:"structure"`
  11105. // The unique identifier for this stack set operation.
  11106. OperationId *string `min:"1" type:"string"`
  11107. }
  11108. // String returns the string representation
  11109. func (s UpdateStackInstancesOutput) String() string {
  11110. return awsutil.Prettify(s)
  11111. }
  11112. // GoString returns the string representation
  11113. func (s UpdateStackInstancesOutput) GoString() string {
  11114. return s.String()
  11115. }
  11116. // SetOperationId sets the OperationId field's value.
  11117. func (s *UpdateStackInstancesOutput) SetOperationId(v string) *UpdateStackInstancesOutput {
  11118. s.OperationId = &v
  11119. return s
  11120. }
  11121. // The output for an UpdateStack action.
  11122. type UpdateStackOutput struct {
  11123. _ struct{} `type:"structure"`
  11124. // Unique identifier of the stack.
  11125. StackId *string `type:"string"`
  11126. }
  11127. // String returns the string representation
  11128. func (s UpdateStackOutput) String() string {
  11129. return awsutil.Prettify(s)
  11130. }
  11131. // GoString returns the string representation
  11132. func (s UpdateStackOutput) GoString() string {
  11133. return s.String()
  11134. }
  11135. // SetStackId sets the StackId field's value.
  11136. func (s *UpdateStackOutput) SetStackId(v string) *UpdateStackOutput {
  11137. s.StackId = &v
  11138. return s
  11139. }
  11140. type UpdateStackSetInput struct {
  11141. _ struct{} `type:"structure"`
  11142. // The accounts in which to update associated stack instances. If you specify
  11143. // accounts, you must also specify the regions in which to update stack set
  11144. // instances.
  11145. //
  11146. // To update all the stack instances associated with this stack set, do not
  11147. // specify the Accounts or Regions properties.
  11148. //
  11149. // If the stack set update includes changes to the template (that is, if the
  11150. // TemplateBody or TemplateURL properties are specified), or the Parameters
  11151. // property, AWS CloudFormation marks all stack instances with a status of OUTDATED
  11152. // prior to updating the stack instances in the specified accounts and regions.
  11153. // If the stack set update does not include changes to the template or parameters,
  11154. // AWS CloudFormation updates the stack instances in the specified accounts
  11155. // and regions, while leaving all other stack instances with their existing
  11156. // stack instance status.
  11157. Accounts []*string `type:"list"`
  11158. // The Amazon Resource Number (ARN) of the IAM role to use to update this stack
  11159. // set.
  11160. //
  11161. // Specify an IAM role only if you are using customized administrator roles
  11162. // to control which users or groups can manage specific stack sets within the
  11163. // same administrator account. For more information, see Define Permissions
  11164. // for Multiple Administrators (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
  11165. // in the AWS CloudFormation User Guide.
  11166. //
  11167. // If you specify a customized administrator role, AWS CloudFormation uses that
  11168. // role to update the stack. If you do not specify a customized administrator
  11169. // role, AWS CloudFormation performs the update using the role previously associated
  11170. // with the stack set, so long as you have permissions to perform operations
  11171. // on the stack set.
  11172. AdministrationRoleARN *string `min:"20" type:"string"`
  11173. // In some cases, you must explicity acknowledge that your stack template contains
  11174. // certain capabilities in order for AWS CloudFormation to update the stack
  11175. // set and its associated stack instances.
  11176. //
  11177. // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM
  11178. //
  11179. // Some stack templates might include resources that can affect permissions
  11180. // in your AWS account; for example, by creating new AWS Identity and Access
  11181. // Management (IAM) users. For those stacks sets, you must explicitly acknowledge
  11182. // this by specifying one of these capabilities.
  11183. //
  11184. // The following IAM resources require you to specify either the CAPABILITY_IAM
  11185. // or CAPABILITY_NAMED_IAM capability.
  11186. //
  11187. // If you have IAM resources, you can specify either capability.
  11188. //
  11189. // If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.
  11190. //
  11191. //
  11192. // If you don't specify either of these capabilities, AWS CloudFormation returns
  11193. // an InsufficientCapabilities error.
  11194. //
  11195. // If your stack template contains these resources, we recommend that you review
  11196. // all permissions associated with them and edit their permissions if necessary.
  11197. //
  11198. // AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html)
  11199. //
  11200. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)
  11201. //
  11202. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)
  11203. //
  11204. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)
  11205. //
  11206. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)
  11207. //
  11208. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html)
  11209. //
  11210. // AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html)
  11211. //
  11212. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  11213. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  11214. //
  11215. // * CAPABILITY_AUTO_EXPAND
  11216. //
  11217. // Some templates contain macros. If your stack template contains one or more
  11218. // macros, and you choose to update a stack directly from the processed template,
  11219. // without first reviewing the resulting changes in a change set, you must
  11220. // acknowledge this capability. For more information, see Using AWS CloudFormation
  11221. // Macros to Perform Custom Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
  11222. //
  11223. // Stack sets do not currently support macros in stack templates. (This includes
  11224. // the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
  11225. // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
  11226. // transforms, which are macros hosted by AWS CloudFormation.) Even if you
  11227. // specify this capability, if you include a macro in your template the stack
  11228. // set operation will fail.
  11229. Capabilities []*string `type:"list"`
  11230. // A brief description of updates that you are making.
  11231. Description *string `min:"1" type:"string"`
  11232. // The name of the IAM execution role to use to update the stack set. If you
  11233. // do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole
  11234. // role for the stack set operation.
  11235. //
  11236. // Specify an IAM role only if you are using customized execution roles to control
  11237. // which stack resources users and groups can include in their stack sets.
  11238. //
  11239. // If you specify a customized execution role, AWS CloudFormation uses that
  11240. // role to update the stack. If you do not specify a customized execution role,
  11241. // AWS CloudFormation performs the update using the role previously associated
  11242. // with the stack set, so long as you have permissions to perform operations
  11243. // on the stack set.
  11244. ExecutionRoleName *string `min:"1" type:"string"`
  11245. // The unique ID for this stack set operation.
  11246. //
  11247. // The operation ID also functions as an idempotency token, to ensure that AWS
  11248. // CloudFormation performs the stack set operation only once, even if you retry
  11249. // the request multiple times. You might retry stack set operation requests
  11250. // to ensure that AWS CloudFormation successfully received them.
  11251. //
  11252. // If you don't specify an operation ID, AWS CloudFormation generates one automatically.
  11253. //
  11254. // Repeating this stack set operation with a new operation ID retries all stack
  11255. // instances whose status is OUTDATED.
  11256. OperationId *string `min:"1" type:"string" idempotencyToken:"true"`
  11257. // Preferences for how AWS CloudFormation performs this stack set operation.
  11258. OperationPreferences *StackSetOperationPreferences `type:"structure"`
  11259. // A list of input parameters for the stack set template.
  11260. Parameters []*Parameter `type:"list"`
  11261. // The regions in which to update associated stack instances. If you specify
  11262. // regions, you must also specify accounts in which to update stack set instances.
  11263. //
  11264. // To update all the stack instances associated with this stack set, do not
  11265. // specify the Accounts or Regions properties.
  11266. //
  11267. // If the stack set update includes changes to the template (that is, if the
  11268. // TemplateBody or TemplateURL properties are specified), or the Parameters
  11269. // property, AWS CloudFormation marks all stack instances with a status of OUTDATED
  11270. // prior to updating the stack instances in the specified accounts and regions.
  11271. // If the stack set update does not include changes to the template or parameters,
  11272. // AWS CloudFormation updates the stack instances in the specified accounts
  11273. // and regions, while leaving all other stack instances with their existing
  11274. // stack instance status.
  11275. Regions []*string `type:"list"`
  11276. // The name or unique ID of the stack set that you want to update.
  11277. //
  11278. // StackSetName is a required field
  11279. StackSetName *string `type:"string" required:"true"`
  11280. // The key-value pairs to associate with this stack set and the stacks created
  11281. // from it. AWS CloudFormation also propagates these tags to supported resources
  11282. // that are created in the stacks. You can specify a maximum number of 50 tags.
  11283. //
  11284. // If you specify tags for this parameter, those tags replace any list of tags
  11285. // that are currently associated with this stack set. This means:
  11286. //
  11287. // * If you don't specify this parameter, AWS CloudFormation doesn't modify
  11288. // the stack's tags.
  11289. //
  11290. // * If you specify any tags using this parameter, you must specify all the
  11291. // tags that you want associated with this stack set, even tags you've specifed
  11292. // before (for example, when creating the stack set or during a previous
  11293. // update of the stack set.). Any tags that you don't include in the updated
  11294. // list of tags are removed from the stack set, and therefore from the stacks
  11295. // and resources as well.
  11296. //
  11297. // * If you specify an empty value, AWS CloudFormation removes all currently
  11298. // associated tags.
  11299. //
  11300. // If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation
  11301. // checks to see if you have the required IAM permission to tag resources. If
  11302. // you omit tags that are currently associated with the stack set from the list
  11303. // of tags you specify, AWS CloudFormation assumes that you want to remove those
  11304. // tags from the stack set, and checks to see if you have permission to untag
  11305. // resources. If you don't have the necessary permission(s), the entire UpdateStackSet
  11306. // action fails with an access denied error, and the stack set is not updated.
  11307. Tags []*Tag `type:"list"`
  11308. // The structure that contains the template body, with a minimum length of 1
  11309. // byte and a maximum length of 51,200 bytes. For more information, see Template
  11310. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  11311. // in the AWS CloudFormation User Guide.
  11312. //
  11313. // Conditional: You must specify only one of the following parameters: TemplateBody
  11314. // or TemplateURL—or set UsePreviousTemplate to true.
  11315. TemplateBody *string `min:"1" type:"string"`
  11316. // The location of the file that contains the template body. The URL must point
  11317. // to a template (maximum size: 460,800 bytes) that is located in an Amazon
  11318. // S3 bucket. For more information, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  11319. // in the AWS CloudFormation User Guide.
  11320. //
  11321. // Conditional: You must specify only one of the following parameters: TemplateBody
  11322. // or TemplateURL—or set UsePreviousTemplate to true.
  11323. TemplateURL *string `min:"1" type:"string"`
  11324. // Use the existing template that's associated with the stack set that you're
  11325. // updating.
  11326. //
  11327. // Conditional: You must specify only one of the following parameters: TemplateBody
  11328. // or TemplateURL—or set UsePreviousTemplate to true.
  11329. UsePreviousTemplate *bool `type:"boolean"`
  11330. }
  11331. // String returns the string representation
  11332. func (s UpdateStackSetInput) String() string {
  11333. return awsutil.Prettify(s)
  11334. }
  11335. // GoString returns the string representation
  11336. func (s UpdateStackSetInput) GoString() string {
  11337. return s.String()
  11338. }
  11339. // Validate inspects the fields of the type to determine if they are valid.
  11340. func (s *UpdateStackSetInput) Validate() error {
  11341. invalidParams := request.ErrInvalidParams{Context: "UpdateStackSetInput"}
  11342. if s.AdministrationRoleARN != nil && len(*s.AdministrationRoleARN) < 20 {
  11343. invalidParams.Add(request.NewErrParamMinLen("AdministrationRoleARN", 20))
  11344. }
  11345. if s.Description != nil && len(*s.Description) < 1 {
  11346. invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  11347. }
  11348. if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 {
  11349. invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1))
  11350. }
  11351. if s.OperationId != nil && len(*s.OperationId) < 1 {
  11352. invalidParams.Add(request.NewErrParamMinLen("OperationId", 1))
  11353. }
  11354. if s.StackSetName == nil {
  11355. invalidParams.Add(request.NewErrParamRequired("StackSetName"))
  11356. }
  11357. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  11358. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  11359. }
  11360. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  11361. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  11362. }
  11363. if s.OperationPreferences != nil {
  11364. if err := s.OperationPreferences.Validate(); err != nil {
  11365. invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams))
  11366. }
  11367. }
  11368. if s.Tags != nil {
  11369. for i, v := range s.Tags {
  11370. if v == nil {
  11371. continue
  11372. }
  11373. if err := v.Validate(); err != nil {
  11374. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  11375. }
  11376. }
  11377. }
  11378. if invalidParams.Len() > 0 {
  11379. return invalidParams
  11380. }
  11381. return nil
  11382. }
  11383. // SetAccounts sets the Accounts field's value.
  11384. func (s *UpdateStackSetInput) SetAccounts(v []*string) *UpdateStackSetInput {
  11385. s.Accounts = v
  11386. return s
  11387. }
  11388. // SetAdministrationRoleARN sets the AdministrationRoleARN field's value.
  11389. func (s *UpdateStackSetInput) SetAdministrationRoleARN(v string) *UpdateStackSetInput {
  11390. s.AdministrationRoleARN = &v
  11391. return s
  11392. }
  11393. // SetCapabilities sets the Capabilities field's value.
  11394. func (s *UpdateStackSetInput) SetCapabilities(v []*string) *UpdateStackSetInput {
  11395. s.Capabilities = v
  11396. return s
  11397. }
  11398. // SetDescription sets the Description field's value.
  11399. func (s *UpdateStackSetInput) SetDescription(v string) *UpdateStackSetInput {
  11400. s.Description = &v
  11401. return s
  11402. }
  11403. // SetExecutionRoleName sets the ExecutionRoleName field's value.
  11404. func (s *UpdateStackSetInput) SetExecutionRoleName(v string) *UpdateStackSetInput {
  11405. s.ExecutionRoleName = &v
  11406. return s
  11407. }
  11408. // SetOperationId sets the OperationId field's value.
  11409. func (s *UpdateStackSetInput) SetOperationId(v string) *UpdateStackSetInput {
  11410. s.OperationId = &v
  11411. return s
  11412. }
  11413. // SetOperationPreferences sets the OperationPreferences field's value.
  11414. func (s *UpdateStackSetInput) SetOperationPreferences(v *StackSetOperationPreferences) *UpdateStackSetInput {
  11415. s.OperationPreferences = v
  11416. return s
  11417. }
  11418. // SetParameters sets the Parameters field's value.
  11419. func (s *UpdateStackSetInput) SetParameters(v []*Parameter) *UpdateStackSetInput {
  11420. s.Parameters = v
  11421. return s
  11422. }
  11423. // SetRegions sets the Regions field's value.
  11424. func (s *UpdateStackSetInput) SetRegions(v []*string) *UpdateStackSetInput {
  11425. s.Regions = v
  11426. return s
  11427. }
  11428. // SetStackSetName sets the StackSetName field's value.
  11429. func (s *UpdateStackSetInput) SetStackSetName(v string) *UpdateStackSetInput {
  11430. s.StackSetName = &v
  11431. return s
  11432. }
  11433. // SetTags sets the Tags field's value.
  11434. func (s *UpdateStackSetInput) SetTags(v []*Tag) *UpdateStackSetInput {
  11435. s.Tags = v
  11436. return s
  11437. }
  11438. // SetTemplateBody sets the TemplateBody field's value.
  11439. func (s *UpdateStackSetInput) SetTemplateBody(v string) *UpdateStackSetInput {
  11440. s.TemplateBody = &v
  11441. return s
  11442. }
  11443. // SetTemplateURL sets the TemplateURL field's value.
  11444. func (s *UpdateStackSetInput) SetTemplateURL(v string) *UpdateStackSetInput {
  11445. s.TemplateURL = &v
  11446. return s
  11447. }
  11448. // SetUsePreviousTemplate sets the UsePreviousTemplate field's value.
  11449. func (s *UpdateStackSetInput) SetUsePreviousTemplate(v bool) *UpdateStackSetInput {
  11450. s.UsePreviousTemplate = &v
  11451. return s
  11452. }
  11453. type UpdateStackSetOutput struct {
  11454. _ struct{} `type:"structure"`
  11455. // The unique ID for this stack set operation.
  11456. OperationId *string `min:"1" type:"string"`
  11457. }
  11458. // String returns the string representation
  11459. func (s UpdateStackSetOutput) String() string {
  11460. return awsutil.Prettify(s)
  11461. }
  11462. // GoString returns the string representation
  11463. func (s UpdateStackSetOutput) GoString() string {
  11464. return s.String()
  11465. }
  11466. // SetOperationId sets the OperationId field's value.
  11467. func (s *UpdateStackSetOutput) SetOperationId(v string) *UpdateStackSetOutput {
  11468. s.OperationId = &v
  11469. return s
  11470. }
  11471. type UpdateTerminationProtectionInput struct {
  11472. _ struct{} `type:"structure"`
  11473. // Whether to enable termination protection on the specified stack.
  11474. //
  11475. // EnableTerminationProtection is a required field
  11476. EnableTerminationProtection *bool `type:"boolean" required:"true"`
  11477. // The name or unique ID of the stack for which you want to set termination
  11478. // protection.
  11479. //
  11480. // StackName is a required field
  11481. StackName *string `min:"1" type:"string" required:"true"`
  11482. }
  11483. // String returns the string representation
  11484. func (s UpdateTerminationProtectionInput) String() string {
  11485. return awsutil.Prettify(s)
  11486. }
  11487. // GoString returns the string representation
  11488. func (s UpdateTerminationProtectionInput) GoString() string {
  11489. return s.String()
  11490. }
  11491. // Validate inspects the fields of the type to determine if they are valid.
  11492. func (s *UpdateTerminationProtectionInput) Validate() error {
  11493. invalidParams := request.ErrInvalidParams{Context: "UpdateTerminationProtectionInput"}
  11494. if s.EnableTerminationProtection == nil {
  11495. invalidParams.Add(request.NewErrParamRequired("EnableTerminationProtection"))
  11496. }
  11497. if s.StackName == nil {
  11498. invalidParams.Add(request.NewErrParamRequired("StackName"))
  11499. }
  11500. if s.StackName != nil && len(*s.StackName) < 1 {
  11501. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  11502. }
  11503. if invalidParams.Len() > 0 {
  11504. return invalidParams
  11505. }
  11506. return nil
  11507. }
  11508. // SetEnableTerminationProtection sets the EnableTerminationProtection field's value.
  11509. func (s *UpdateTerminationProtectionInput) SetEnableTerminationProtection(v bool) *UpdateTerminationProtectionInput {
  11510. s.EnableTerminationProtection = &v
  11511. return s
  11512. }
  11513. // SetStackName sets the StackName field's value.
  11514. func (s *UpdateTerminationProtectionInput) SetStackName(v string) *UpdateTerminationProtectionInput {
  11515. s.StackName = &v
  11516. return s
  11517. }
  11518. type UpdateTerminationProtectionOutput struct {
  11519. _ struct{} `type:"structure"`
  11520. // The unique ID of the stack.
  11521. StackId *string `type:"string"`
  11522. }
  11523. // String returns the string representation
  11524. func (s UpdateTerminationProtectionOutput) String() string {
  11525. return awsutil.Prettify(s)
  11526. }
  11527. // GoString returns the string representation
  11528. func (s UpdateTerminationProtectionOutput) GoString() string {
  11529. return s.String()
  11530. }
  11531. // SetStackId sets the StackId field's value.
  11532. func (s *UpdateTerminationProtectionOutput) SetStackId(v string) *UpdateTerminationProtectionOutput {
  11533. s.StackId = &v
  11534. return s
  11535. }
  11536. // The input for ValidateTemplate action.
  11537. type ValidateTemplateInput struct {
  11538. _ struct{} `type:"structure"`
  11539. // Structure containing the template body with a minimum length of 1 byte and
  11540. // a maximum length of 51,200 bytes. For more information, go to Template Anatomy
  11541. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  11542. // in the AWS CloudFormation User Guide.
  11543. //
  11544. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  11545. // only TemplateBody is used.
  11546. TemplateBody *string `min:"1" type:"string"`
  11547. // Location of file containing the template body. The URL must point to a template
  11548. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  11549. // information, go to Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  11550. // in the AWS CloudFormation User Guide.
  11551. //
  11552. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  11553. // only TemplateBody is used.
  11554. TemplateURL *string `min:"1" type:"string"`
  11555. }
  11556. // String returns the string representation
  11557. func (s ValidateTemplateInput) String() string {
  11558. return awsutil.Prettify(s)
  11559. }
  11560. // GoString returns the string representation
  11561. func (s ValidateTemplateInput) GoString() string {
  11562. return s.String()
  11563. }
  11564. // Validate inspects the fields of the type to determine if they are valid.
  11565. func (s *ValidateTemplateInput) Validate() error {
  11566. invalidParams := request.ErrInvalidParams{Context: "ValidateTemplateInput"}
  11567. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  11568. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  11569. }
  11570. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  11571. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  11572. }
  11573. if invalidParams.Len() > 0 {
  11574. return invalidParams
  11575. }
  11576. return nil
  11577. }
  11578. // SetTemplateBody sets the TemplateBody field's value.
  11579. func (s *ValidateTemplateInput) SetTemplateBody(v string) *ValidateTemplateInput {
  11580. s.TemplateBody = &v
  11581. return s
  11582. }
  11583. // SetTemplateURL sets the TemplateURL field's value.
  11584. func (s *ValidateTemplateInput) SetTemplateURL(v string) *ValidateTemplateInput {
  11585. s.TemplateURL = &v
  11586. return s
  11587. }
  11588. // The output for ValidateTemplate action.
  11589. type ValidateTemplateOutput struct {
  11590. _ struct{} `type:"structure"`
  11591. // The capabilities found within the template. If your template contains IAM
  11592. // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value
  11593. // for this parameter when you use the CreateStack or UpdateStack actions with
  11594. // your template; otherwise, those actions return an InsufficientCapabilities
  11595. // error.
  11596. //
  11597. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  11598. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  11599. Capabilities []*string `type:"list"`
  11600. // The list of resources that generated the values in the Capabilities response
  11601. // element.
  11602. CapabilitiesReason *string `type:"string"`
  11603. // A list of the transforms that are declared in the template.
  11604. DeclaredTransforms []*string `type:"list"`
  11605. // The description found within the template.
  11606. Description *string `min:"1" type:"string"`
  11607. // A list of TemplateParameter structures.
  11608. Parameters []*TemplateParameter `type:"list"`
  11609. }
  11610. // String returns the string representation
  11611. func (s ValidateTemplateOutput) String() string {
  11612. return awsutil.Prettify(s)
  11613. }
  11614. // GoString returns the string representation
  11615. func (s ValidateTemplateOutput) GoString() string {
  11616. return s.String()
  11617. }
  11618. // SetCapabilities sets the Capabilities field's value.
  11619. func (s *ValidateTemplateOutput) SetCapabilities(v []*string) *ValidateTemplateOutput {
  11620. s.Capabilities = v
  11621. return s
  11622. }
  11623. // SetCapabilitiesReason sets the CapabilitiesReason field's value.
  11624. func (s *ValidateTemplateOutput) SetCapabilitiesReason(v string) *ValidateTemplateOutput {
  11625. s.CapabilitiesReason = &v
  11626. return s
  11627. }
  11628. // SetDeclaredTransforms sets the DeclaredTransforms field's value.
  11629. func (s *ValidateTemplateOutput) SetDeclaredTransforms(v []*string) *ValidateTemplateOutput {
  11630. s.DeclaredTransforms = v
  11631. return s
  11632. }
  11633. // SetDescription sets the Description field's value.
  11634. func (s *ValidateTemplateOutput) SetDescription(v string) *ValidateTemplateOutput {
  11635. s.Description = &v
  11636. return s
  11637. }
  11638. // SetParameters sets the Parameters field's value.
  11639. func (s *ValidateTemplateOutput) SetParameters(v []*TemplateParameter) *ValidateTemplateOutput {
  11640. s.Parameters = v
  11641. return s
  11642. }
  11643. const (
  11644. // AccountGateStatusSucceeded is a AccountGateStatus enum value
  11645. AccountGateStatusSucceeded = "SUCCEEDED"
  11646. // AccountGateStatusFailed is a AccountGateStatus enum value
  11647. AccountGateStatusFailed = "FAILED"
  11648. // AccountGateStatusSkipped is a AccountGateStatus enum value
  11649. AccountGateStatusSkipped = "SKIPPED"
  11650. )
  11651. const (
  11652. // CapabilityCapabilityIam is a Capability enum value
  11653. CapabilityCapabilityIam = "CAPABILITY_IAM"
  11654. // CapabilityCapabilityNamedIam is a Capability enum value
  11655. CapabilityCapabilityNamedIam = "CAPABILITY_NAMED_IAM"
  11656. // CapabilityCapabilityAutoExpand is a Capability enum value
  11657. CapabilityCapabilityAutoExpand = "CAPABILITY_AUTO_EXPAND"
  11658. )
  11659. const (
  11660. // ChangeActionAdd is a ChangeAction enum value
  11661. ChangeActionAdd = "Add"
  11662. // ChangeActionModify is a ChangeAction enum value
  11663. ChangeActionModify = "Modify"
  11664. // ChangeActionRemove is a ChangeAction enum value
  11665. ChangeActionRemove = "Remove"
  11666. )
  11667. const (
  11668. // ChangeSetStatusCreatePending is a ChangeSetStatus enum value
  11669. ChangeSetStatusCreatePending = "CREATE_PENDING"
  11670. // ChangeSetStatusCreateInProgress is a ChangeSetStatus enum value
  11671. ChangeSetStatusCreateInProgress = "CREATE_IN_PROGRESS"
  11672. // ChangeSetStatusCreateComplete is a ChangeSetStatus enum value
  11673. ChangeSetStatusCreateComplete = "CREATE_COMPLETE"
  11674. // ChangeSetStatusDeleteComplete is a ChangeSetStatus enum value
  11675. ChangeSetStatusDeleteComplete = "DELETE_COMPLETE"
  11676. // ChangeSetStatusFailed is a ChangeSetStatus enum value
  11677. ChangeSetStatusFailed = "FAILED"
  11678. )
  11679. const (
  11680. // ChangeSetTypeCreate is a ChangeSetType enum value
  11681. ChangeSetTypeCreate = "CREATE"
  11682. // ChangeSetTypeUpdate is a ChangeSetType enum value
  11683. ChangeSetTypeUpdate = "UPDATE"
  11684. )
  11685. const (
  11686. // ChangeSourceResourceReference is a ChangeSource enum value
  11687. ChangeSourceResourceReference = "ResourceReference"
  11688. // ChangeSourceParameterReference is a ChangeSource enum value
  11689. ChangeSourceParameterReference = "ParameterReference"
  11690. // ChangeSourceResourceAttribute is a ChangeSource enum value
  11691. ChangeSourceResourceAttribute = "ResourceAttribute"
  11692. // ChangeSourceDirectModification is a ChangeSource enum value
  11693. ChangeSourceDirectModification = "DirectModification"
  11694. // ChangeSourceAutomatic is a ChangeSource enum value
  11695. ChangeSourceAutomatic = "Automatic"
  11696. )
  11697. const (
  11698. // ChangeTypeResource is a ChangeType enum value
  11699. ChangeTypeResource = "Resource"
  11700. )
  11701. const (
  11702. // DifferenceTypeAdd is a DifferenceType enum value
  11703. DifferenceTypeAdd = "ADD"
  11704. // DifferenceTypeRemove is a DifferenceType enum value
  11705. DifferenceTypeRemove = "REMOVE"
  11706. // DifferenceTypeNotEqual is a DifferenceType enum value
  11707. DifferenceTypeNotEqual = "NOT_EQUAL"
  11708. )
  11709. const (
  11710. // EvaluationTypeStatic is a EvaluationType enum value
  11711. EvaluationTypeStatic = "Static"
  11712. // EvaluationTypeDynamic is a EvaluationType enum value
  11713. EvaluationTypeDynamic = "Dynamic"
  11714. )
  11715. const (
  11716. // ExecutionStatusUnavailable is a ExecutionStatus enum value
  11717. ExecutionStatusUnavailable = "UNAVAILABLE"
  11718. // ExecutionStatusAvailable is a ExecutionStatus enum value
  11719. ExecutionStatusAvailable = "AVAILABLE"
  11720. // ExecutionStatusExecuteInProgress is a ExecutionStatus enum value
  11721. ExecutionStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
  11722. // ExecutionStatusExecuteComplete is a ExecutionStatus enum value
  11723. ExecutionStatusExecuteComplete = "EXECUTE_COMPLETE"
  11724. // ExecutionStatusExecuteFailed is a ExecutionStatus enum value
  11725. ExecutionStatusExecuteFailed = "EXECUTE_FAILED"
  11726. // ExecutionStatusObsolete is a ExecutionStatus enum value
  11727. ExecutionStatusObsolete = "OBSOLETE"
  11728. )
  11729. const (
  11730. // OnFailureDoNothing is a OnFailure enum value
  11731. OnFailureDoNothing = "DO_NOTHING"
  11732. // OnFailureRollback is a OnFailure enum value
  11733. OnFailureRollback = "ROLLBACK"
  11734. // OnFailureDelete is a OnFailure enum value
  11735. OnFailureDelete = "DELETE"
  11736. )
  11737. const (
  11738. // ReplacementTrue is a Replacement enum value
  11739. ReplacementTrue = "True"
  11740. // ReplacementFalse is a Replacement enum value
  11741. ReplacementFalse = "False"
  11742. // ReplacementConditional is a Replacement enum value
  11743. ReplacementConditional = "Conditional"
  11744. )
  11745. const (
  11746. // RequiresRecreationNever is a RequiresRecreation enum value
  11747. RequiresRecreationNever = "Never"
  11748. // RequiresRecreationConditionally is a RequiresRecreation enum value
  11749. RequiresRecreationConditionally = "Conditionally"
  11750. // RequiresRecreationAlways is a RequiresRecreation enum value
  11751. RequiresRecreationAlways = "Always"
  11752. )
  11753. const (
  11754. // ResourceAttributeProperties is a ResourceAttribute enum value
  11755. ResourceAttributeProperties = "Properties"
  11756. // ResourceAttributeMetadata is a ResourceAttribute enum value
  11757. ResourceAttributeMetadata = "Metadata"
  11758. // ResourceAttributeCreationPolicy is a ResourceAttribute enum value
  11759. ResourceAttributeCreationPolicy = "CreationPolicy"
  11760. // ResourceAttributeUpdatePolicy is a ResourceAttribute enum value
  11761. ResourceAttributeUpdatePolicy = "UpdatePolicy"
  11762. // ResourceAttributeDeletionPolicy is a ResourceAttribute enum value
  11763. ResourceAttributeDeletionPolicy = "DeletionPolicy"
  11764. // ResourceAttributeTags is a ResourceAttribute enum value
  11765. ResourceAttributeTags = "Tags"
  11766. )
  11767. const (
  11768. // ResourceSignalStatusSuccess is a ResourceSignalStatus enum value
  11769. ResourceSignalStatusSuccess = "SUCCESS"
  11770. // ResourceSignalStatusFailure is a ResourceSignalStatus enum value
  11771. ResourceSignalStatusFailure = "FAILURE"
  11772. )
  11773. const (
  11774. // ResourceStatusCreateInProgress is a ResourceStatus enum value
  11775. ResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
  11776. // ResourceStatusCreateFailed is a ResourceStatus enum value
  11777. ResourceStatusCreateFailed = "CREATE_FAILED"
  11778. // ResourceStatusCreateComplete is a ResourceStatus enum value
  11779. ResourceStatusCreateComplete = "CREATE_COMPLETE"
  11780. // ResourceStatusDeleteInProgress is a ResourceStatus enum value
  11781. ResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
  11782. // ResourceStatusDeleteFailed is a ResourceStatus enum value
  11783. ResourceStatusDeleteFailed = "DELETE_FAILED"
  11784. // ResourceStatusDeleteComplete is a ResourceStatus enum value
  11785. ResourceStatusDeleteComplete = "DELETE_COMPLETE"
  11786. // ResourceStatusDeleteSkipped is a ResourceStatus enum value
  11787. ResourceStatusDeleteSkipped = "DELETE_SKIPPED"
  11788. // ResourceStatusUpdateInProgress is a ResourceStatus enum value
  11789. ResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
  11790. // ResourceStatusUpdateFailed is a ResourceStatus enum value
  11791. ResourceStatusUpdateFailed = "UPDATE_FAILED"
  11792. // ResourceStatusUpdateComplete is a ResourceStatus enum value
  11793. ResourceStatusUpdateComplete = "UPDATE_COMPLETE"
  11794. )
  11795. const (
  11796. // StackDriftDetectionStatusDetectionInProgress is a StackDriftDetectionStatus enum value
  11797. StackDriftDetectionStatusDetectionInProgress = "DETECTION_IN_PROGRESS"
  11798. // StackDriftDetectionStatusDetectionFailed is a StackDriftDetectionStatus enum value
  11799. StackDriftDetectionStatusDetectionFailed = "DETECTION_FAILED"
  11800. // StackDriftDetectionStatusDetectionComplete is a StackDriftDetectionStatus enum value
  11801. StackDriftDetectionStatusDetectionComplete = "DETECTION_COMPLETE"
  11802. )
  11803. const (
  11804. // StackDriftStatusDrifted is a StackDriftStatus enum value
  11805. StackDriftStatusDrifted = "DRIFTED"
  11806. // StackDriftStatusInSync is a StackDriftStatus enum value
  11807. StackDriftStatusInSync = "IN_SYNC"
  11808. // StackDriftStatusUnknown is a StackDriftStatus enum value
  11809. StackDriftStatusUnknown = "UNKNOWN"
  11810. // StackDriftStatusNotChecked is a StackDriftStatus enum value
  11811. StackDriftStatusNotChecked = "NOT_CHECKED"
  11812. )
  11813. const (
  11814. // StackInstanceStatusCurrent is a StackInstanceStatus enum value
  11815. StackInstanceStatusCurrent = "CURRENT"
  11816. // StackInstanceStatusOutdated is a StackInstanceStatus enum value
  11817. StackInstanceStatusOutdated = "OUTDATED"
  11818. // StackInstanceStatusInoperable is a StackInstanceStatus enum value
  11819. StackInstanceStatusInoperable = "INOPERABLE"
  11820. )
  11821. const (
  11822. // StackResourceDriftStatusInSync is a StackResourceDriftStatus enum value
  11823. StackResourceDriftStatusInSync = "IN_SYNC"
  11824. // StackResourceDriftStatusModified is a StackResourceDriftStatus enum value
  11825. StackResourceDriftStatusModified = "MODIFIED"
  11826. // StackResourceDriftStatusDeleted is a StackResourceDriftStatus enum value
  11827. StackResourceDriftStatusDeleted = "DELETED"
  11828. // StackResourceDriftStatusNotChecked is a StackResourceDriftStatus enum value
  11829. StackResourceDriftStatusNotChecked = "NOT_CHECKED"
  11830. )
  11831. const (
  11832. // StackSetOperationActionCreate is a StackSetOperationAction enum value
  11833. StackSetOperationActionCreate = "CREATE"
  11834. // StackSetOperationActionUpdate is a StackSetOperationAction enum value
  11835. StackSetOperationActionUpdate = "UPDATE"
  11836. // StackSetOperationActionDelete is a StackSetOperationAction enum value
  11837. StackSetOperationActionDelete = "DELETE"
  11838. )
  11839. const (
  11840. // StackSetOperationResultStatusPending is a StackSetOperationResultStatus enum value
  11841. StackSetOperationResultStatusPending = "PENDING"
  11842. // StackSetOperationResultStatusRunning is a StackSetOperationResultStatus enum value
  11843. StackSetOperationResultStatusRunning = "RUNNING"
  11844. // StackSetOperationResultStatusSucceeded is a StackSetOperationResultStatus enum value
  11845. StackSetOperationResultStatusSucceeded = "SUCCEEDED"
  11846. // StackSetOperationResultStatusFailed is a StackSetOperationResultStatus enum value
  11847. StackSetOperationResultStatusFailed = "FAILED"
  11848. // StackSetOperationResultStatusCancelled is a StackSetOperationResultStatus enum value
  11849. StackSetOperationResultStatusCancelled = "CANCELLED"
  11850. )
  11851. const (
  11852. // StackSetOperationStatusRunning is a StackSetOperationStatus enum value
  11853. StackSetOperationStatusRunning = "RUNNING"
  11854. // StackSetOperationStatusSucceeded is a StackSetOperationStatus enum value
  11855. StackSetOperationStatusSucceeded = "SUCCEEDED"
  11856. // StackSetOperationStatusFailed is a StackSetOperationStatus enum value
  11857. StackSetOperationStatusFailed = "FAILED"
  11858. // StackSetOperationStatusStopping is a StackSetOperationStatus enum value
  11859. StackSetOperationStatusStopping = "STOPPING"
  11860. // StackSetOperationStatusStopped is a StackSetOperationStatus enum value
  11861. StackSetOperationStatusStopped = "STOPPED"
  11862. )
  11863. const (
  11864. // StackSetStatusActive is a StackSetStatus enum value
  11865. StackSetStatusActive = "ACTIVE"
  11866. // StackSetStatusDeleted is a StackSetStatus enum value
  11867. StackSetStatusDeleted = "DELETED"
  11868. )
  11869. const (
  11870. // StackStatusCreateInProgress is a StackStatus enum value
  11871. StackStatusCreateInProgress = "CREATE_IN_PROGRESS"
  11872. // StackStatusCreateFailed is a StackStatus enum value
  11873. StackStatusCreateFailed = "CREATE_FAILED"
  11874. // StackStatusCreateComplete is a StackStatus enum value
  11875. StackStatusCreateComplete = "CREATE_COMPLETE"
  11876. // StackStatusRollbackInProgress is a StackStatus enum value
  11877. StackStatusRollbackInProgress = "ROLLBACK_IN_PROGRESS"
  11878. // StackStatusRollbackFailed is a StackStatus enum value
  11879. StackStatusRollbackFailed = "ROLLBACK_FAILED"
  11880. // StackStatusRollbackComplete is a StackStatus enum value
  11881. StackStatusRollbackComplete = "ROLLBACK_COMPLETE"
  11882. // StackStatusDeleteInProgress is a StackStatus enum value
  11883. StackStatusDeleteInProgress = "DELETE_IN_PROGRESS"
  11884. // StackStatusDeleteFailed is a StackStatus enum value
  11885. StackStatusDeleteFailed = "DELETE_FAILED"
  11886. // StackStatusDeleteComplete is a StackStatus enum value
  11887. StackStatusDeleteComplete = "DELETE_COMPLETE"
  11888. // StackStatusUpdateInProgress is a StackStatus enum value
  11889. StackStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
  11890. // StackStatusUpdateCompleteCleanupInProgress is a StackStatus enum value
  11891. StackStatusUpdateCompleteCleanupInProgress = "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
  11892. // StackStatusUpdateComplete is a StackStatus enum value
  11893. StackStatusUpdateComplete = "UPDATE_COMPLETE"
  11894. // StackStatusUpdateRollbackInProgress is a StackStatus enum value
  11895. StackStatusUpdateRollbackInProgress = "UPDATE_ROLLBACK_IN_PROGRESS"
  11896. // StackStatusUpdateRollbackFailed is a StackStatus enum value
  11897. StackStatusUpdateRollbackFailed = "UPDATE_ROLLBACK_FAILED"
  11898. // StackStatusUpdateRollbackCompleteCleanupInProgress is a StackStatus enum value
  11899. StackStatusUpdateRollbackCompleteCleanupInProgress = "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
  11900. // StackStatusUpdateRollbackComplete is a StackStatus enum value
  11901. StackStatusUpdateRollbackComplete = "UPDATE_ROLLBACK_COMPLETE"
  11902. // StackStatusReviewInProgress is a StackStatus enum value
  11903. StackStatusReviewInProgress = "REVIEW_IN_PROGRESS"
  11904. )
  11905. const (
  11906. // TemplateStageOriginal is a TemplateStage enum value
  11907. TemplateStageOriginal = "Original"
  11908. // TemplateStageProcessed is a TemplateStage enum value
  11909. TemplateStageProcessed = "Processed"
  11910. )