api.go 168 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package cloudformation provides a client for AWS CloudFormation.
  3. package cloudformation
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. "github.com/aws/aws-sdk-go/private/protocol"
  9. "github.com/aws/aws-sdk-go/private/protocol/query"
  10. )
  11. const opCancelUpdateStack = "CancelUpdateStack"
  12. // CancelUpdateStackRequest generates a "aws/request.Request" representing the
  13. // client's request for the CancelUpdateStack operation. The "output" return
  14. // value can be used to capture response data after the request's "Send" method
  15. // is called.
  16. //
  17. // See CancelUpdateStack for usage and error information.
  18. //
  19. // Creating a request object using this method should be used when you want to inject
  20. // custom logic into the request's lifecycle using a custom handler, or if you want to
  21. // access properties on the request object before or after sending the request. If
  22. // you just want the service response, call the CancelUpdateStack method directly
  23. // instead.
  24. //
  25. // Note: You must call the "Send" method on the returned request object in order
  26. // to execute the request.
  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. func (c *CloudFormation) CancelUpdateStackRequest(input *CancelUpdateStackInput) (req *request.Request, output *CancelUpdateStackOutput) {
  37. op := &request.Operation{
  38. Name: opCancelUpdateStack,
  39. HTTPMethod: "POST",
  40. HTTPPath: "/",
  41. }
  42. if input == nil {
  43. input = &CancelUpdateStackInput{}
  44. }
  45. req = c.newRequest(op, input, output)
  46. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  47. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  48. output = &CancelUpdateStackOutput{}
  49. req.Data = output
  50. return
  51. }
  52. // CancelUpdateStack API operation for AWS CloudFormation.
  53. //
  54. // Cancels an update on the specified stack. If the call completes successfully,
  55. // the stack rolls back the update and reverts to the previous stack configuration.
  56. //
  57. // You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.
  58. //
  59. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  60. // with awserr.Error's Code and Message methods to get detailed information about
  61. // the error.
  62. //
  63. // See the AWS API reference guide for AWS CloudFormation's
  64. // API operation CancelUpdateStack for usage and error information.
  65. func (c *CloudFormation) CancelUpdateStack(input *CancelUpdateStackInput) (*CancelUpdateStackOutput, error) {
  66. req, out := c.CancelUpdateStackRequest(input)
  67. err := req.Send()
  68. return out, err
  69. }
  70. const opContinueUpdateRollback = "ContinueUpdateRollback"
  71. // ContinueUpdateRollbackRequest generates a "aws/request.Request" representing the
  72. // client's request for the ContinueUpdateRollback operation. The "output" return
  73. // value can be used to capture response data after the request's "Send" method
  74. // is called.
  75. //
  76. // See ContinueUpdateRollback for usage and error information.
  77. //
  78. // Creating a request object using this method should be used when you want to inject
  79. // custom logic into the request's lifecycle using a custom handler, or if you want to
  80. // access properties on the request object before or after sending the request. If
  81. // you just want the service response, call the ContinueUpdateRollback method directly
  82. // instead.
  83. //
  84. // Note: You must call the "Send" method on the returned request object in order
  85. // to execute the request.
  86. //
  87. // // Example sending a request using the ContinueUpdateRollbackRequest method.
  88. // req, resp := client.ContinueUpdateRollbackRequest(params)
  89. //
  90. // err := req.Send()
  91. // if err == nil { // resp is now filled
  92. // fmt.Println(resp)
  93. // }
  94. //
  95. func (c *CloudFormation) ContinueUpdateRollbackRequest(input *ContinueUpdateRollbackInput) (req *request.Request, output *ContinueUpdateRollbackOutput) {
  96. op := &request.Operation{
  97. Name: opContinueUpdateRollback,
  98. HTTPMethod: "POST",
  99. HTTPPath: "/",
  100. }
  101. if input == nil {
  102. input = &ContinueUpdateRollbackInput{}
  103. }
  104. req = c.newRequest(op, input, output)
  105. output = &ContinueUpdateRollbackOutput{}
  106. req.Data = output
  107. return
  108. }
  109. // ContinueUpdateRollback API operation for AWS CloudFormation.
  110. //
  111. // For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues
  112. // rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause
  113. // of the failure, you can manually fix the error (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed)
  114. // and continue the rollback. By continuing the rollback, you can return your
  115. // stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try
  116. // to update the stack again.
  117. //
  118. // A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation
  119. // cannot roll back all changes after a failed stack update. For example, you
  120. // might have a stack that is rolling back to an old database instance that
  121. // was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't
  122. // know the database was deleted, it assumes that the database instance still
  123. // exists and attempts to roll back to it, causing the update rollback to fail.
  124. //
  125. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  126. // with awserr.Error's Code and Message methods to get detailed information about
  127. // the error.
  128. //
  129. // See the AWS API reference guide for AWS CloudFormation's
  130. // API operation ContinueUpdateRollback for usage and error information.
  131. func (c *CloudFormation) ContinueUpdateRollback(input *ContinueUpdateRollbackInput) (*ContinueUpdateRollbackOutput, error) {
  132. req, out := c.ContinueUpdateRollbackRequest(input)
  133. err := req.Send()
  134. return out, err
  135. }
  136. const opCreateChangeSet = "CreateChangeSet"
  137. // CreateChangeSetRequest generates a "aws/request.Request" representing the
  138. // client's request for the CreateChangeSet operation. The "output" return
  139. // value can be used to capture response data after the request's "Send" method
  140. // is called.
  141. //
  142. // See CreateChangeSet for usage and error information.
  143. //
  144. // Creating a request object using this method should be used when you want to inject
  145. // custom logic into the request's lifecycle using a custom handler, or if you want to
  146. // access properties on the request object before or after sending the request. If
  147. // you just want the service response, call the CreateChangeSet method directly
  148. // instead.
  149. //
  150. // Note: You must call the "Send" method on the returned request object in order
  151. // to execute the request.
  152. //
  153. // // Example sending a request using the CreateChangeSetRequest method.
  154. // req, resp := client.CreateChangeSetRequest(params)
  155. //
  156. // err := req.Send()
  157. // if err == nil { // resp is now filled
  158. // fmt.Println(resp)
  159. // }
  160. //
  161. func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (req *request.Request, output *CreateChangeSetOutput) {
  162. op := &request.Operation{
  163. Name: opCreateChangeSet,
  164. HTTPMethod: "POST",
  165. HTTPPath: "/",
  166. }
  167. if input == nil {
  168. input = &CreateChangeSetInput{}
  169. }
  170. req = c.newRequest(op, input, output)
  171. output = &CreateChangeSetOutput{}
  172. req.Data = output
  173. return
  174. }
  175. // CreateChangeSet API operation for AWS CloudFormation.
  176. //
  177. // Creates a list of changes for a stack. AWS CloudFormation generates the change
  178. // set by comparing the stack's information with the information that you submit.
  179. // A change set can help you understand which resources AWS CloudFormation will
  180. // change and how it will change them before you update your stack. Change sets
  181. // allow you to check before you make a change so that you don't delete or replace
  182. // critical resources.
  183. //
  184. // AWS CloudFormation doesn't make any changes to the stack when you create
  185. // a change set. To make the specified changes, you must execute the change
  186. // set by using the ExecuteChangeSet action.
  187. //
  188. // After the call successfully completes, AWS CloudFormation starts creating
  189. // the change set. To check the status of the change set, use the DescribeChangeSet
  190. // action.
  191. //
  192. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  193. // with awserr.Error's Code and Message methods to get detailed information about
  194. // the error.
  195. //
  196. // See the AWS API reference guide for AWS CloudFormation's
  197. // API operation CreateChangeSet for usage and error information.
  198. //
  199. // Returned Error Codes:
  200. // * AlreadyExistsException
  201. // Resource with the name requested already exists.
  202. //
  203. // * InsufficientCapabilitiesException
  204. // The template contains resources with capabilities that were not specified
  205. // in the Capabilities parameter.
  206. //
  207. // * LimitExceededException
  208. // Quota for the resource has already been reached.
  209. //
  210. func (c *CloudFormation) CreateChangeSet(input *CreateChangeSetInput) (*CreateChangeSetOutput, error) {
  211. req, out := c.CreateChangeSetRequest(input)
  212. err := req.Send()
  213. return out, err
  214. }
  215. const opCreateStack = "CreateStack"
  216. // CreateStackRequest generates a "aws/request.Request" representing the
  217. // client's request for the CreateStack operation. The "output" return
  218. // value can be used to capture response data after the request's "Send" method
  219. // is called.
  220. //
  221. // See CreateStack for usage and error information.
  222. //
  223. // Creating a request object using this method should be used when you want to inject
  224. // custom logic into the request's lifecycle using a custom handler, or if you want to
  225. // access properties on the request object before or after sending the request. If
  226. // you just want the service response, call the CreateStack method directly
  227. // instead.
  228. //
  229. // Note: You must call the "Send" method on the returned request object in order
  230. // to execute the request.
  231. //
  232. // // Example sending a request using the CreateStackRequest method.
  233. // req, resp := client.CreateStackRequest(params)
  234. //
  235. // err := req.Send()
  236. // if err == nil { // resp is now filled
  237. // fmt.Println(resp)
  238. // }
  239. //
  240. func (c *CloudFormation) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
  241. op := &request.Operation{
  242. Name: opCreateStack,
  243. HTTPMethod: "POST",
  244. HTTPPath: "/",
  245. }
  246. if input == nil {
  247. input = &CreateStackInput{}
  248. }
  249. req = c.newRequest(op, input, output)
  250. output = &CreateStackOutput{}
  251. req.Data = output
  252. return
  253. }
  254. // CreateStack API operation for AWS CloudFormation.
  255. //
  256. // Creates a stack as specified in the template. After the call completes successfully,
  257. // the stack creation starts. You can check the status of the stack via the
  258. // DescribeStacks API.
  259. //
  260. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  261. // with awserr.Error's Code and Message methods to get detailed information about
  262. // the error.
  263. //
  264. // See the AWS API reference guide for AWS CloudFormation's
  265. // API operation CreateStack for usage and error information.
  266. //
  267. // Returned Error Codes:
  268. // * LimitExceededException
  269. // Quota for the resource has already been reached.
  270. //
  271. // * AlreadyExistsException
  272. // Resource with the name requested already exists.
  273. //
  274. // * InsufficientCapabilitiesException
  275. // The template contains resources with capabilities that were not specified
  276. // in the Capabilities parameter.
  277. //
  278. func (c *CloudFormation) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
  279. req, out := c.CreateStackRequest(input)
  280. err := req.Send()
  281. return out, err
  282. }
  283. const opDeleteChangeSet = "DeleteChangeSet"
  284. // DeleteChangeSetRequest generates a "aws/request.Request" representing the
  285. // client's request for the DeleteChangeSet operation. The "output" return
  286. // value can be used to capture response data after the request's "Send" method
  287. // is called.
  288. //
  289. // See DeleteChangeSet for usage and error information.
  290. //
  291. // Creating a request object using this method should be used when you want to inject
  292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  293. // access properties on the request object before or after sending the request. If
  294. // you just want the service response, call the DeleteChangeSet method directly
  295. // instead.
  296. //
  297. // Note: You must call the "Send" method on the returned request object in order
  298. // to execute the request.
  299. //
  300. // // Example sending a request using the DeleteChangeSetRequest method.
  301. // req, resp := client.DeleteChangeSetRequest(params)
  302. //
  303. // err := req.Send()
  304. // if err == nil { // resp is now filled
  305. // fmt.Println(resp)
  306. // }
  307. //
  308. func (c *CloudFormation) DeleteChangeSetRequest(input *DeleteChangeSetInput) (req *request.Request, output *DeleteChangeSetOutput) {
  309. op := &request.Operation{
  310. Name: opDeleteChangeSet,
  311. HTTPMethod: "POST",
  312. HTTPPath: "/",
  313. }
  314. if input == nil {
  315. input = &DeleteChangeSetInput{}
  316. }
  317. req = c.newRequest(op, input, output)
  318. output = &DeleteChangeSetOutput{}
  319. req.Data = output
  320. return
  321. }
  322. // DeleteChangeSet API operation for AWS CloudFormation.
  323. //
  324. // Deletes the specified change set. Deleting change sets ensures that no one
  325. // executes the wrong change set.
  326. //
  327. // If the call successfully completes, AWS CloudFormation successfully deleted
  328. // the change set.
  329. //
  330. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  331. // with awserr.Error's Code and Message methods to get detailed information about
  332. // the error.
  333. //
  334. // See the AWS API reference guide for AWS CloudFormation's
  335. // API operation DeleteChangeSet for usage and error information.
  336. //
  337. // Returned Error Codes:
  338. // * InvalidChangeSetStatus
  339. // The specified change set cannot be used to update the stack. For example,
  340. // the change set status might be CREATE_IN_PROGRESS or the stack status might
  341. // be UPDATE_IN_PROGRESS.
  342. //
  343. func (c *CloudFormation) DeleteChangeSet(input *DeleteChangeSetInput) (*DeleteChangeSetOutput, error) {
  344. req, out := c.DeleteChangeSetRequest(input)
  345. err := req.Send()
  346. return out, err
  347. }
  348. const opDeleteStack = "DeleteStack"
  349. // DeleteStackRequest generates a "aws/request.Request" representing the
  350. // client's request for the DeleteStack operation. The "output" return
  351. // value can be used to capture response data after the request's "Send" method
  352. // is called.
  353. //
  354. // See DeleteStack for usage and error information.
  355. //
  356. // Creating a request object using this method should be used when you want to inject
  357. // custom logic into the request's lifecycle using a custom handler, or if you want to
  358. // access properties on the request object before or after sending the request. If
  359. // you just want the service response, call the DeleteStack method directly
  360. // instead.
  361. //
  362. // Note: You must call the "Send" method on the returned request object in order
  363. // to execute the request.
  364. //
  365. // // Example sending a request using the DeleteStackRequest method.
  366. // req, resp := client.DeleteStackRequest(params)
  367. //
  368. // err := req.Send()
  369. // if err == nil { // resp is now filled
  370. // fmt.Println(resp)
  371. // }
  372. //
  373. func (c *CloudFormation) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
  374. op := &request.Operation{
  375. Name: opDeleteStack,
  376. HTTPMethod: "POST",
  377. HTTPPath: "/",
  378. }
  379. if input == nil {
  380. input = &DeleteStackInput{}
  381. }
  382. req = c.newRequest(op, input, output)
  383. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  384. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  385. output = &DeleteStackOutput{}
  386. req.Data = output
  387. return
  388. }
  389. // DeleteStack API operation for AWS CloudFormation.
  390. //
  391. // Deletes a specified stack. Once the call completes successfully, stack deletion
  392. // starts. Deleted stacks do not show up in the DescribeStacks API if the deletion
  393. // has been completed successfully.
  394. //
  395. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  396. // with awserr.Error's Code and Message methods to get detailed information about
  397. // the error.
  398. //
  399. // See the AWS API reference guide for AWS CloudFormation's
  400. // API operation DeleteStack for usage and error information.
  401. func (c *CloudFormation) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
  402. req, out := c.DeleteStackRequest(input)
  403. err := req.Send()
  404. return out, err
  405. }
  406. const opDescribeAccountLimits = "DescribeAccountLimits"
  407. // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the
  408. // client's request for the DescribeAccountLimits operation. The "output" return
  409. // value can be used to capture response data after the request's "Send" method
  410. // is called.
  411. //
  412. // See DescribeAccountLimits for usage and error information.
  413. //
  414. // Creating a request object using this method should be used when you want to inject
  415. // custom logic into the request's lifecycle using a custom handler, or if you want to
  416. // access properties on the request object before or after sending the request. If
  417. // you just want the service response, call the DescribeAccountLimits method directly
  418. // instead.
  419. //
  420. // Note: You must call the "Send" method on the returned request object in order
  421. // to execute the request.
  422. //
  423. // // Example sending a request using the DescribeAccountLimitsRequest method.
  424. // req, resp := client.DescribeAccountLimitsRequest(params)
  425. //
  426. // err := req.Send()
  427. // if err == nil { // resp is now filled
  428. // fmt.Println(resp)
  429. // }
  430. //
  431. func (c *CloudFormation) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) {
  432. op := &request.Operation{
  433. Name: opDescribeAccountLimits,
  434. HTTPMethod: "POST",
  435. HTTPPath: "/",
  436. }
  437. if input == nil {
  438. input = &DescribeAccountLimitsInput{}
  439. }
  440. req = c.newRequest(op, input, output)
  441. output = &DescribeAccountLimitsOutput{}
  442. req.Data = output
  443. return
  444. }
  445. // DescribeAccountLimits API operation for AWS CloudFormation.
  446. //
  447. // Retrieves your account's AWS CloudFormation limits, such as the maximum number
  448. // of stacks that you can create in your account.
  449. //
  450. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  451. // with awserr.Error's Code and Message methods to get detailed information about
  452. // the error.
  453. //
  454. // See the AWS API reference guide for AWS CloudFormation's
  455. // API operation DescribeAccountLimits for usage and error information.
  456. func (c *CloudFormation) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) {
  457. req, out := c.DescribeAccountLimitsRequest(input)
  458. err := req.Send()
  459. return out, err
  460. }
  461. const opDescribeChangeSet = "DescribeChangeSet"
  462. // DescribeChangeSetRequest generates a "aws/request.Request" representing the
  463. // client's request for the DescribeChangeSet operation. The "output" return
  464. // value can be used to capture response data after the request's "Send" method
  465. // is called.
  466. //
  467. // See DescribeChangeSet for usage and error information.
  468. //
  469. // Creating a request object using this method should be used when you want to inject
  470. // custom logic into the request's lifecycle using a custom handler, or if you want to
  471. // access properties on the request object before or after sending the request. If
  472. // you just want the service response, call the DescribeChangeSet method directly
  473. // instead.
  474. //
  475. // Note: You must call the "Send" method on the returned request object in order
  476. // to execute the request.
  477. //
  478. // // Example sending a request using the DescribeChangeSetRequest method.
  479. // req, resp := client.DescribeChangeSetRequest(params)
  480. //
  481. // err := req.Send()
  482. // if err == nil { // resp is now filled
  483. // fmt.Println(resp)
  484. // }
  485. //
  486. func (c *CloudFormation) DescribeChangeSetRequest(input *DescribeChangeSetInput) (req *request.Request, output *DescribeChangeSetOutput) {
  487. op := &request.Operation{
  488. Name: opDescribeChangeSet,
  489. HTTPMethod: "POST",
  490. HTTPPath: "/",
  491. }
  492. if input == nil {
  493. input = &DescribeChangeSetInput{}
  494. }
  495. req = c.newRequest(op, input, output)
  496. output = &DescribeChangeSetOutput{}
  497. req.Data = output
  498. return
  499. }
  500. // DescribeChangeSet API operation for AWS CloudFormation.
  501. //
  502. // Returns the inputs for the change set and a list of changes that AWS CloudFormation
  503. // will make if you execute the change set. For more information, see Updating
  504. // Stacks Using Change Sets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)
  505. // in the AWS CloudFormation User Guide.
  506. //
  507. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  508. // with awserr.Error's Code and Message methods to get detailed information about
  509. // the error.
  510. //
  511. // See the AWS API reference guide for AWS CloudFormation's
  512. // API operation DescribeChangeSet for usage and error information.
  513. //
  514. // Returned Error Codes:
  515. // * ChangeSetNotFound
  516. // The specified change set name or ID doesn't exit. To view valid change sets
  517. // for a stack, use the ListChangeSets action.
  518. //
  519. func (c *CloudFormation) DescribeChangeSet(input *DescribeChangeSetInput) (*DescribeChangeSetOutput, error) {
  520. req, out := c.DescribeChangeSetRequest(input)
  521. err := req.Send()
  522. return out, err
  523. }
  524. const opDescribeStackEvents = "DescribeStackEvents"
  525. // DescribeStackEventsRequest generates a "aws/request.Request" representing the
  526. // client's request for the DescribeStackEvents operation. The "output" return
  527. // value can be used to capture response data after the request's "Send" method
  528. // is called.
  529. //
  530. // See DescribeStackEvents for usage and error information.
  531. //
  532. // Creating a request object using this method should be used when you want to inject
  533. // custom logic into the request's lifecycle using a custom handler, or if you want to
  534. // access properties on the request object before or after sending the request. If
  535. // you just want the service response, call the DescribeStackEvents method directly
  536. // instead.
  537. //
  538. // Note: You must call the "Send" method on the returned request object in order
  539. // to execute the request.
  540. //
  541. // // Example sending a request using the DescribeStackEventsRequest method.
  542. // req, resp := client.DescribeStackEventsRequest(params)
  543. //
  544. // err := req.Send()
  545. // if err == nil { // resp is now filled
  546. // fmt.Println(resp)
  547. // }
  548. //
  549. func (c *CloudFormation) DescribeStackEventsRequest(input *DescribeStackEventsInput) (req *request.Request, output *DescribeStackEventsOutput) {
  550. op := &request.Operation{
  551. Name: opDescribeStackEvents,
  552. HTTPMethod: "POST",
  553. HTTPPath: "/",
  554. Paginator: &request.Paginator{
  555. InputTokens: []string{"NextToken"},
  556. OutputTokens: []string{"NextToken"},
  557. LimitToken: "",
  558. TruncationToken: "",
  559. },
  560. }
  561. if input == nil {
  562. input = &DescribeStackEventsInput{}
  563. }
  564. req = c.newRequest(op, input, output)
  565. output = &DescribeStackEventsOutput{}
  566. req.Data = output
  567. return
  568. }
  569. // DescribeStackEvents API operation for AWS CloudFormation.
  570. //
  571. // Returns all stack related events for a specified stack in reverse chronological
  572. // order. For more information about a stack's event history, go to Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html)
  573. // in the AWS CloudFormation User Guide.
  574. //
  575. // You can list events for stacks that have failed to create or have been deleted
  576. // by specifying the unique stack identifier (stack ID).
  577. //
  578. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  579. // with awserr.Error's Code and Message methods to get detailed information about
  580. // the error.
  581. //
  582. // See the AWS API reference guide for AWS CloudFormation's
  583. // API operation DescribeStackEvents for usage and error information.
  584. func (c *CloudFormation) DescribeStackEvents(input *DescribeStackEventsInput) (*DescribeStackEventsOutput, error) {
  585. req, out := c.DescribeStackEventsRequest(input)
  586. err := req.Send()
  587. return out, err
  588. }
  589. // DescribeStackEventsPages iterates over the pages of a DescribeStackEvents operation,
  590. // calling the "fn" function with the response data for each page. To stop
  591. // iterating, return false from the fn function.
  592. //
  593. // See DescribeStackEvents method for more information on how to use this operation.
  594. //
  595. // Note: This operation can generate multiple requests to a service.
  596. //
  597. // // Example iterating over at most 3 pages of a DescribeStackEvents operation.
  598. // pageNum := 0
  599. // err := client.DescribeStackEventsPages(params,
  600. // func(page *DescribeStackEventsOutput, lastPage bool) bool {
  601. // pageNum++
  602. // fmt.Println(page)
  603. // return pageNum <= 3
  604. // })
  605. //
  606. func (c *CloudFormation) DescribeStackEventsPages(input *DescribeStackEventsInput, fn func(p *DescribeStackEventsOutput, lastPage bool) (shouldContinue bool)) error {
  607. page, _ := c.DescribeStackEventsRequest(input)
  608. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  609. return page.EachPage(func(p interface{}, lastPage bool) bool {
  610. return fn(p.(*DescribeStackEventsOutput), lastPage)
  611. })
  612. }
  613. const opDescribeStackResource = "DescribeStackResource"
  614. // DescribeStackResourceRequest generates a "aws/request.Request" representing the
  615. // client's request for the DescribeStackResource operation. The "output" return
  616. // value can be used to capture response data after the request's "Send" method
  617. // is called.
  618. //
  619. // See DescribeStackResource for usage and error information.
  620. //
  621. // Creating a request object using this method should be used when you want to inject
  622. // custom logic into the request's lifecycle using a custom handler, or if you want to
  623. // access properties on the request object before or after sending the request. If
  624. // you just want the service response, call the DescribeStackResource method directly
  625. // instead.
  626. //
  627. // Note: You must call the "Send" method on the returned request object in order
  628. // to execute the request.
  629. //
  630. // // Example sending a request using the DescribeStackResourceRequest method.
  631. // req, resp := client.DescribeStackResourceRequest(params)
  632. //
  633. // err := req.Send()
  634. // if err == nil { // resp is now filled
  635. // fmt.Println(resp)
  636. // }
  637. //
  638. func (c *CloudFormation) DescribeStackResourceRequest(input *DescribeStackResourceInput) (req *request.Request, output *DescribeStackResourceOutput) {
  639. op := &request.Operation{
  640. Name: opDescribeStackResource,
  641. HTTPMethod: "POST",
  642. HTTPPath: "/",
  643. }
  644. if input == nil {
  645. input = &DescribeStackResourceInput{}
  646. }
  647. req = c.newRequest(op, input, output)
  648. output = &DescribeStackResourceOutput{}
  649. req.Data = output
  650. return
  651. }
  652. // DescribeStackResource API operation for AWS CloudFormation.
  653. //
  654. // Returns a description of the specified resource in the specified stack.
  655. //
  656. // For deleted stacks, DescribeStackResource returns resource information for
  657. // up to 90 days after the stack has been deleted.
  658. //
  659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  660. // with awserr.Error's Code and Message methods to get detailed information about
  661. // the error.
  662. //
  663. // See the AWS API reference guide for AWS CloudFormation's
  664. // API operation DescribeStackResource for usage and error information.
  665. func (c *CloudFormation) DescribeStackResource(input *DescribeStackResourceInput) (*DescribeStackResourceOutput, error) {
  666. req, out := c.DescribeStackResourceRequest(input)
  667. err := req.Send()
  668. return out, err
  669. }
  670. const opDescribeStackResources = "DescribeStackResources"
  671. // DescribeStackResourcesRequest generates a "aws/request.Request" representing the
  672. // client's request for the DescribeStackResources operation. The "output" return
  673. // value can be used to capture response data after the request's "Send" method
  674. // is called.
  675. //
  676. // See DescribeStackResources for usage and error information.
  677. //
  678. // Creating a request object using this method should be used when you want to inject
  679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  680. // access properties on the request object before or after sending the request. If
  681. // you just want the service response, call the DescribeStackResources method directly
  682. // instead.
  683. //
  684. // Note: You must call the "Send" method on the returned request object in order
  685. // to execute the request.
  686. //
  687. // // Example sending a request using the DescribeStackResourcesRequest method.
  688. // req, resp := client.DescribeStackResourcesRequest(params)
  689. //
  690. // err := req.Send()
  691. // if err == nil { // resp is now filled
  692. // fmt.Println(resp)
  693. // }
  694. //
  695. func (c *CloudFormation) DescribeStackResourcesRequest(input *DescribeStackResourcesInput) (req *request.Request, output *DescribeStackResourcesOutput) {
  696. op := &request.Operation{
  697. Name: opDescribeStackResources,
  698. HTTPMethod: "POST",
  699. HTTPPath: "/",
  700. }
  701. if input == nil {
  702. input = &DescribeStackResourcesInput{}
  703. }
  704. req = c.newRequest(op, input, output)
  705. output = &DescribeStackResourcesOutput{}
  706. req.Data = output
  707. return
  708. }
  709. // DescribeStackResources API operation for AWS CloudFormation.
  710. //
  711. // Returns AWS resource descriptions for running and deleted stacks. If StackName
  712. // is specified, all the associated resources that are part of the stack are
  713. // returned. If PhysicalResourceId is specified, the associated resources of
  714. // the stack that the resource belongs to are returned.
  715. //
  716. // Only the first 100 resources will be returned. If your stack has more resources
  717. // than this, you should use ListStackResources instead.
  718. //
  719. // For deleted stacks, DescribeStackResources returns resource information for
  720. // up to 90 days after the stack has been deleted.
  721. //
  722. // You must specify either StackName or PhysicalResourceId, but not both. In
  723. // addition, you can specify LogicalResourceId to filter the returned result.
  724. // For more information about resources, the LogicalResourceId and PhysicalResourceId,
  725. // go to the AWS CloudFormation User Guide (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/).
  726. //
  727. // A ValidationError is returned if you specify both StackName and PhysicalResourceId
  728. // in the same request.
  729. //
  730. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  731. // with awserr.Error's Code and Message methods to get detailed information about
  732. // the error.
  733. //
  734. // See the AWS API reference guide for AWS CloudFormation's
  735. // API operation DescribeStackResources for usage and error information.
  736. func (c *CloudFormation) DescribeStackResources(input *DescribeStackResourcesInput) (*DescribeStackResourcesOutput, error) {
  737. req, out := c.DescribeStackResourcesRequest(input)
  738. err := req.Send()
  739. return out, err
  740. }
  741. const opDescribeStacks = "DescribeStacks"
  742. // DescribeStacksRequest generates a "aws/request.Request" representing the
  743. // client's request for the DescribeStacks operation. The "output" return
  744. // value can be used to capture response data after the request's "Send" method
  745. // is called.
  746. //
  747. // See DescribeStacks for usage and error information.
  748. //
  749. // Creating a request object using this method should be used when you want to inject
  750. // custom logic into the request's lifecycle using a custom handler, or if you want to
  751. // access properties on the request object before or after sending the request. If
  752. // you just want the service response, call the DescribeStacks method directly
  753. // instead.
  754. //
  755. // Note: You must call the "Send" method on the returned request object in order
  756. // to execute the request.
  757. //
  758. // // Example sending a request using the DescribeStacksRequest method.
  759. // req, resp := client.DescribeStacksRequest(params)
  760. //
  761. // err := req.Send()
  762. // if err == nil { // resp is now filled
  763. // fmt.Println(resp)
  764. // }
  765. //
  766. func (c *CloudFormation) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
  767. op := &request.Operation{
  768. Name: opDescribeStacks,
  769. HTTPMethod: "POST",
  770. HTTPPath: "/",
  771. Paginator: &request.Paginator{
  772. InputTokens: []string{"NextToken"},
  773. OutputTokens: []string{"NextToken"},
  774. LimitToken: "",
  775. TruncationToken: "",
  776. },
  777. }
  778. if input == nil {
  779. input = &DescribeStacksInput{}
  780. }
  781. req = c.newRequest(op, input, output)
  782. output = &DescribeStacksOutput{}
  783. req.Data = output
  784. return
  785. }
  786. // DescribeStacks API operation for AWS CloudFormation.
  787. //
  788. // Returns the description for the specified stack; if no stack name was specified,
  789. // then it returns the description for all the stacks created.
  790. //
  791. // If the stack does not exist, an AmazonCloudFormationException is returned.
  792. //
  793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  794. // with awserr.Error's Code and Message methods to get detailed information about
  795. // the error.
  796. //
  797. // See the AWS API reference guide for AWS CloudFormation's
  798. // API operation DescribeStacks for usage and error information.
  799. func (c *CloudFormation) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
  800. req, out := c.DescribeStacksRequest(input)
  801. err := req.Send()
  802. return out, err
  803. }
  804. // DescribeStacksPages iterates over the pages of a DescribeStacks operation,
  805. // calling the "fn" function with the response data for each page. To stop
  806. // iterating, return false from the fn function.
  807. //
  808. // See DescribeStacks method for more information on how to use this operation.
  809. //
  810. // Note: This operation can generate multiple requests to a service.
  811. //
  812. // // Example iterating over at most 3 pages of a DescribeStacks operation.
  813. // pageNum := 0
  814. // err := client.DescribeStacksPages(params,
  815. // func(page *DescribeStacksOutput, lastPage bool) bool {
  816. // pageNum++
  817. // fmt.Println(page)
  818. // return pageNum <= 3
  819. // })
  820. //
  821. func (c *CloudFormation) DescribeStacksPages(input *DescribeStacksInput, fn func(p *DescribeStacksOutput, lastPage bool) (shouldContinue bool)) error {
  822. page, _ := c.DescribeStacksRequest(input)
  823. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  824. return page.EachPage(func(p interface{}, lastPage bool) bool {
  825. return fn(p.(*DescribeStacksOutput), lastPage)
  826. })
  827. }
  828. const opEstimateTemplateCost = "EstimateTemplateCost"
  829. // EstimateTemplateCostRequest generates a "aws/request.Request" representing the
  830. // client's request for the EstimateTemplateCost operation. The "output" return
  831. // value can be used to capture response data after the request's "Send" method
  832. // is called.
  833. //
  834. // See EstimateTemplateCost for usage and error information.
  835. //
  836. // Creating a request object using this method should be used when you want to inject
  837. // custom logic into the request's lifecycle using a custom handler, or if you want to
  838. // access properties on the request object before or after sending the request. If
  839. // you just want the service response, call the EstimateTemplateCost method directly
  840. // instead.
  841. //
  842. // Note: You must call the "Send" method on the returned request object in order
  843. // to execute the request.
  844. //
  845. // // Example sending a request using the EstimateTemplateCostRequest method.
  846. // req, resp := client.EstimateTemplateCostRequest(params)
  847. //
  848. // err := req.Send()
  849. // if err == nil { // resp is now filled
  850. // fmt.Println(resp)
  851. // }
  852. //
  853. func (c *CloudFormation) EstimateTemplateCostRequest(input *EstimateTemplateCostInput) (req *request.Request, output *EstimateTemplateCostOutput) {
  854. op := &request.Operation{
  855. Name: opEstimateTemplateCost,
  856. HTTPMethod: "POST",
  857. HTTPPath: "/",
  858. }
  859. if input == nil {
  860. input = &EstimateTemplateCostInput{}
  861. }
  862. req = c.newRequest(op, input, output)
  863. output = &EstimateTemplateCostOutput{}
  864. req.Data = output
  865. return
  866. }
  867. // EstimateTemplateCost API operation for AWS CloudFormation.
  868. //
  869. // Returns the estimated monthly cost of a template. The return value is an
  870. // AWS Simple Monthly Calculator URL with a query string that describes the
  871. // resources required to run the template.
  872. //
  873. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  874. // with awserr.Error's Code and Message methods to get detailed information about
  875. // the error.
  876. //
  877. // See the AWS API reference guide for AWS CloudFormation's
  878. // API operation EstimateTemplateCost for usage and error information.
  879. func (c *CloudFormation) EstimateTemplateCost(input *EstimateTemplateCostInput) (*EstimateTemplateCostOutput, error) {
  880. req, out := c.EstimateTemplateCostRequest(input)
  881. err := req.Send()
  882. return out, err
  883. }
  884. const opExecuteChangeSet = "ExecuteChangeSet"
  885. // ExecuteChangeSetRequest generates a "aws/request.Request" representing the
  886. // client's request for the ExecuteChangeSet operation. The "output" return
  887. // value can be used to capture response data after the request's "Send" method
  888. // is called.
  889. //
  890. // See ExecuteChangeSet for usage and error information.
  891. //
  892. // Creating a request object using this method should be used when you want to inject
  893. // custom logic into the request's lifecycle using a custom handler, or if you want to
  894. // access properties on the request object before or after sending the request. If
  895. // you just want the service response, call the ExecuteChangeSet method directly
  896. // instead.
  897. //
  898. // Note: You must call the "Send" method on the returned request object in order
  899. // to execute the request.
  900. //
  901. // // Example sending a request using the ExecuteChangeSetRequest method.
  902. // req, resp := client.ExecuteChangeSetRequest(params)
  903. //
  904. // err := req.Send()
  905. // if err == nil { // resp is now filled
  906. // fmt.Println(resp)
  907. // }
  908. //
  909. func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) (req *request.Request, output *ExecuteChangeSetOutput) {
  910. op := &request.Operation{
  911. Name: opExecuteChangeSet,
  912. HTTPMethod: "POST",
  913. HTTPPath: "/",
  914. }
  915. if input == nil {
  916. input = &ExecuteChangeSetInput{}
  917. }
  918. req = c.newRequest(op, input, output)
  919. output = &ExecuteChangeSetOutput{}
  920. req.Data = output
  921. return
  922. }
  923. // ExecuteChangeSet API operation for AWS CloudFormation.
  924. //
  925. // Updates a stack using the input information that was provided when the specified
  926. // change set was created. After the call successfully completes, AWS CloudFormation
  927. // starts updating the stack. Use the DescribeStacks action to view the status
  928. // of the update.
  929. //
  930. // When you execute a change set, AWS CloudFormation deletes all other change
  931. // sets associated with the stack because they aren't valid for the updated
  932. // stack.
  933. //
  934. // If a stack policy is associated with the stack, AWS CloudFormation enforces
  935. // the policy during the update. You can't specify a temporary stack policy
  936. // that overrides the current policy.
  937. //
  938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  939. // with awserr.Error's Code and Message methods to get detailed information about
  940. // the error.
  941. //
  942. // See the AWS API reference guide for AWS CloudFormation's
  943. // API operation ExecuteChangeSet for usage and error information.
  944. //
  945. // Returned Error Codes:
  946. // * InvalidChangeSetStatus
  947. // The specified change set cannot be used to update the stack. For example,
  948. // the change set status might be CREATE_IN_PROGRESS or the stack status might
  949. // be UPDATE_IN_PROGRESS.
  950. //
  951. // * ChangeSetNotFound
  952. // The specified change set name or ID doesn't exit. To view valid change sets
  953. // for a stack, use the ListChangeSets action.
  954. //
  955. func (c *CloudFormation) ExecuteChangeSet(input *ExecuteChangeSetInput) (*ExecuteChangeSetOutput, error) {
  956. req, out := c.ExecuteChangeSetRequest(input)
  957. err := req.Send()
  958. return out, err
  959. }
  960. const opGetStackPolicy = "GetStackPolicy"
  961. // GetStackPolicyRequest generates a "aws/request.Request" representing the
  962. // client's request for the GetStackPolicy operation. The "output" return
  963. // value can be used to capture response data after the request's "Send" method
  964. // is called.
  965. //
  966. // See GetStackPolicy for usage and error information.
  967. //
  968. // Creating a request object using this method should be used when you want to inject
  969. // custom logic into the request's lifecycle using a custom handler, or if you want to
  970. // access properties on the request object before or after sending the request. If
  971. // you just want the service response, call the GetStackPolicy method directly
  972. // instead.
  973. //
  974. // Note: You must call the "Send" method on the returned request object in order
  975. // to execute the request.
  976. //
  977. // // Example sending a request using the GetStackPolicyRequest method.
  978. // req, resp := client.GetStackPolicyRequest(params)
  979. //
  980. // err := req.Send()
  981. // if err == nil { // resp is now filled
  982. // fmt.Println(resp)
  983. // }
  984. //
  985. func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req *request.Request, output *GetStackPolicyOutput) {
  986. op := &request.Operation{
  987. Name: opGetStackPolicy,
  988. HTTPMethod: "POST",
  989. HTTPPath: "/",
  990. }
  991. if input == nil {
  992. input = &GetStackPolicyInput{}
  993. }
  994. req = c.newRequest(op, input, output)
  995. output = &GetStackPolicyOutput{}
  996. req.Data = output
  997. return
  998. }
  999. // GetStackPolicy API operation for AWS CloudFormation.
  1000. //
  1001. // Returns the stack policy for a specified stack. If a stack doesn't have a
  1002. // policy, a null value is returned.
  1003. //
  1004. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1005. // with awserr.Error's Code and Message methods to get detailed information about
  1006. // the error.
  1007. //
  1008. // See the AWS API reference guide for AWS CloudFormation's
  1009. // API operation GetStackPolicy for usage and error information.
  1010. func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPolicyOutput, error) {
  1011. req, out := c.GetStackPolicyRequest(input)
  1012. err := req.Send()
  1013. return out, err
  1014. }
  1015. const opGetTemplate = "GetTemplate"
  1016. // GetTemplateRequest generates a "aws/request.Request" representing the
  1017. // client's request for the GetTemplate operation. The "output" return
  1018. // value can be used to capture response data after the request's "Send" method
  1019. // is called.
  1020. //
  1021. // See GetTemplate for usage and error information.
  1022. //
  1023. // Creating a request object using this method should be used when you want to inject
  1024. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1025. // access properties on the request object before or after sending the request. If
  1026. // you just want the service response, call the GetTemplate method directly
  1027. // instead.
  1028. //
  1029. // Note: You must call the "Send" method on the returned request object in order
  1030. // to execute the request.
  1031. //
  1032. // // Example sending a request using the GetTemplateRequest method.
  1033. // req, resp := client.GetTemplateRequest(params)
  1034. //
  1035. // err := req.Send()
  1036. // if err == nil { // resp is now filled
  1037. // fmt.Println(resp)
  1038. // }
  1039. //
  1040. func (c *CloudFormation) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) {
  1041. op := &request.Operation{
  1042. Name: opGetTemplate,
  1043. HTTPMethod: "POST",
  1044. HTTPPath: "/",
  1045. }
  1046. if input == nil {
  1047. input = &GetTemplateInput{}
  1048. }
  1049. req = c.newRequest(op, input, output)
  1050. output = &GetTemplateOutput{}
  1051. req.Data = output
  1052. return
  1053. }
  1054. // GetTemplate API operation for AWS CloudFormation.
  1055. //
  1056. // Returns the template body for a specified stack. You can get the template
  1057. // for running or deleted stacks.
  1058. //
  1059. // For deleted stacks, GetTemplate returns the template for up to 90 days after
  1060. // the stack has been deleted.
  1061. //
  1062. // If the template does not exist, a ValidationError is returned.
  1063. //
  1064. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1065. // with awserr.Error's Code and Message methods to get detailed information about
  1066. // the error.
  1067. //
  1068. // See the AWS API reference guide for AWS CloudFormation's
  1069. // API operation GetTemplate for usage and error information.
  1070. func (c *CloudFormation) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) {
  1071. req, out := c.GetTemplateRequest(input)
  1072. err := req.Send()
  1073. return out, err
  1074. }
  1075. const opGetTemplateSummary = "GetTemplateSummary"
  1076. // GetTemplateSummaryRequest generates a "aws/request.Request" representing the
  1077. // client's request for the GetTemplateSummary operation. The "output" return
  1078. // value can be used to capture response data after the request's "Send" method
  1079. // is called.
  1080. //
  1081. // See GetTemplateSummary for usage and error information.
  1082. //
  1083. // Creating a request object using this method should be used when you want to inject
  1084. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1085. // access properties on the request object before or after sending the request. If
  1086. // you just want the service response, call the GetTemplateSummary method directly
  1087. // instead.
  1088. //
  1089. // Note: You must call the "Send" method on the returned request object in order
  1090. // to execute the request.
  1091. //
  1092. // // Example sending a request using the GetTemplateSummaryRequest method.
  1093. // req, resp := client.GetTemplateSummaryRequest(params)
  1094. //
  1095. // err := req.Send()
  1096. // if err == nil { // resp is now filled
  1097. // fmt.Println(resp)
  1098. // }
  1099. //
  1100. func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInput) (req *request.Request, output *GetTemplateSummaryOutput) {
  1101. op := &request.Operation{
  1102. Name: opGetTemplateSummary,
  1103. HTTPMethod: "POST",
  1104. HTTPPath: "/",
  1105. }
  1106. if input == nil {
  1107. input = &GetTemplateSummaryInput{}
  1108. }
  1109. req = c.newRequest(op, input, output)
  1110. output = &GetTemplateSummaryOutput{}
  1111. req.Data = output
  1112. return
  1113. }
  1114. // GetTemplateSummary API operation for AWS CloudFormation.
  1115. //
  1116. // Returns information about a new or existing template. The GetTemplateSummary
  1117. // action is useful for viewing parameter information, such as default parameter
  1118. // values and parameter types, before you create or update a stack.
  1119. //
  1120. // You can use the GetTemplateSummary action when you submit a template, or
  1121. // you can get template information for a running or deleted stack.
  1122. //
  1123. // For deleted stacks, GetTemplateSummary returns the template information for
  1124. // up to 90 days after the stack has been deleted. If the template does not
  1125. // exist, a ValidationError is returned.
  1126. //
  1127. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1128. // with awserr.Error's Code and Message methods to get detailed information about
  1129. // the error.
  1130. //
  1131. // See the AWS API reference guide for AWS CloudFormation's
  1132. // API operation GetTemplateSummary for usage and error information.
  1133. func (c *CloudFormation) GetTemplateSummary(input *GetTemplateSummaryInput) (*GetTemplateSummaryOutput, error) {
  1134. req, out := c.GetTemplateSummaryRequest(input)
  1135. err := req.Send()
  1136. return out, err
  1137. }
  1138. const opListChangeSets = "ListChangeSets"
  1139. // ListChangeSetsRequest generates a "aws/request.Request" representing the
  1140. // client's request for the ListChangeSets operation. The "output" return
  1141. // value can be used to capture response data after the request's "Send" method
  1142. // is called.
  1143. //
  1144. // See ListChangeSets for usage and error information.
  1145. //
  1146. // Creating a request object using this method should be used when you want to inject
  1147. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1148. // access properties on the request object before or after sending the request. If
  1149. // you just want the service response, call the ListChangeSets method directly
  1150. // instead.
  1151. //
  1152. // Note: You must call the "Send" method on the returned request object in order
  1153. // to execute the request.
  1154. //
  1155. // // Example sending a request using the ListChangeSetsRequest method.
  1156. // req, resp := client.ListChangeSetsRequest(params)
  1157. //
  1158. // err := req.Send()
  1159. // if err == nil { // resp is now filled
  1160. // fmt.Println(resp)
  1161. // }
  1162. //
  1163. func (c *CloudFormation) ListChangeSetsRequest(input *ListChangeSetsInput) (req *request.Request, output *ListChangeSetsOutput) {
  1164. op := &request.Operation{
  1165. Name: opListChangeSets,
  1166. HTTPMethod: "POST",
  1167. HTTPPath: "/",
  1168. }
  1169. if input == nil {
  1170. input = &ListChangeSetsInput{}
  1171. }
  1172. req = c.newRequest(op, input, output)
  1173. output = &ListChangeSetsOutput{}
  1174. req.Data = output
  1175. return
  1176. }
  1177. // ListChangeSets API operation for AWS CloudFormation.
  1178. //
  1179. // Returns the ID and status of each active change set for a stack. For example,
  1180. // AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or
  1181. // CREATE_PENDING state.
  1182. //
  1183. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1184. // with awserr.Error's Code and Message methods to get detailed information about
  1185. // the error.
  1186. //
  1187. // See the AWS API reference guide for AWS CloudFormation's
  1188. // API operation ListChangeSets for usage and error information.
  1189. func (c *CloudFormation) ListChangeSets(input *ListChangeSetsInput) (*ListChangeSetsOutput, error) {
  1190. req, out := c.ListChangeSetsRequest(input)
  1191. err := req.Send()
  1192. return out, err
  1193. }
  1194. const opListStackResources = "ListStackResources"
  1195. // ListStackResourcesRequest generates a "aws/request.Request" representing the
  1196. // client's request for the ListStackResources operation. The "output" return
  1197. // value can be used to capture response data after the request's "Send" method
  1198. // is called.
  1199. //
  1200. // See ListStackResources for usage and error information.
  1201. //
  1202. // Creating a request object using this method should be used when you want to inject
  1203. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1204. // access properties on the request object before or after sending the request. If
  1205. // you just want the service response, call the ListStackResources method directly
  1206. // instead.
  1207. //
  1208. // Note: You must call the "Send" method on the returned request object in order
  1209. // to execute the request.
  1210. //
  1211. // // Example sending a request using the ListStackResourcesRequest method.
  1212. // req, resp := client.ListStackResourcesRequest(params)
  1213. //
  1214. // err := req.Send()
  1215. // if err == nil { // resp is now filled
  1216. // fmt.Println(resp)
  1217. // }
  1218. //
  1219. func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInput) (req *request.Request, output *ListStackResourcesOutput) {
  1220. op := &request.Operation{
  1221. Name: opListStackResources,
  1222. HTTPMethod: "POST",
  1223. HTTPPath: "/",
  1224. Paginator: &request.Paginator{
  1225. InputTokens: []string{"NextToken"},
  1226. OutputTokens: []string{"NextToken"},
  1227. LimitToken: "",
  1228. TruncationToken: "",
  1229. },
  1230. }
  1231. if input == nil {
  1232. input = &ListStackResourcesInput{}
  1233. }
  1234. req = c.newRequest(op, input, output)
  1235. output = &ListStackResourcesOutput{}
  1236. req.Data = output
  1237. return
  1238. }
  1239. // ListStackResources API operation for AWS CloudFormation.
  1240. //
  1241. // Returns descriptions of all resources of the specified stack.
  1242. //
  1243. // For deleted stacks, ListStackResources returns resource information for up
  1244. // to 90 days after the stack has been deleted.
  1245. //
  1246. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1247. // with awserr.Error's Code and Message methods to get detailed information about
  1248. // the error.
  1249. //
  1250. // See the AWS API reference guide for AWS CloudFormation's
  1251. // API operation ListStackResources for usage and error information.
  1252. func (c *CloudFormation) ListStackResources(input *ListStackResourcesInput) (*ListStackResourcesOutput, error) {
  1253. req, out := c.ListStackResourcesRequest(input)
  1254. err := req.Send()
  1255. return out, err
  1256. }
  1257. // ListStackResourcesPages iterates over the pages of a ListStackResources operation,
  1258. // calling the "fn" function with the response data for each page. To stop
  1259. // iterating, return false from the fn function.
  1260. //
  1261. // See ListStackResources method for more information on how to use this operation.
  1262. //
  1263. // Note: This operation can generate multiple requests to a service.
  1264. //
  1265. // // Example iterating over at most 3 pages of a ListStackResources operation.
  1266. // pageNum := 0
  1267. // err := client.ListStackResourcesPages(params,
  1268. // func(page *ListStackResourcesOutput, lastPage bool) bool {
  1269. // pageNum++
  1270. // fmt.Println(page)
  1271. // return pageNum <= 3
  1272. // })
  1273. //
  1274. func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, fn func(p *ListStackResourcesOutput, lastPage bool) (shouldContinue bool)) error {
  1275. page, _ := c.ListStackResourcesRequest(input)
  1276. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1277. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1278. return fn(p.(*ListStackResourcesOutput), lastPage)
  1279. })
  1280. }
  1281. const opListStacks = "ListStacks"
  1282. // ListStacksRequest generates a "aws/request.Request" representing the
  1283. // client's request for the ListStacks operation. The "output" return
  1284. // value can be used to capture response data after the request's "Send" method
  1285. // is called.
  1286. //
  1287. // See ListStacks for usage and error information.
  1288. //
  1289. // Creating a request object using this method should be used when you want to inject
  1290. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1291. // access properties on the request object before or after sending the request. If
  1292. // you just want the service response, call the ListStacks method directly
  1293. // instead.
  1294. //
  1295. // Note: You must call the "Send" method on the returned request object in order
  1296. // to execute the request.
  1297. //
  1298. // // Example sending a request using the ListStacksRequest method.
  1299. // req, resp := client.ListStacksRequest(params)
  1300. //
  1301. // err := req.Send()
  1302. // if err == nil { // resp is now filled
  1303. // fmt.Println(resp)
  1304. // }
  1305. //
  1306. func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request.Request, output *ListStacksOutput) {
  1307. op := &request.Operation{
  1308. Name: opListStacks,
  1309. HTTPMethod: "POST",
  1310. HTTPPath: "/",
  1311. Paginator: &request.Paginator{
  1312. InputTokens: []string{"NextToken"},
  1313. OutputTokens: []string{"NextToken"},
  1314. LimitToken: "",
  1315. TruncationToken: "",
  1316. },
  1317. }
  1318. if input == nil {
  1319. input = &ListStacksInput{}
  1320. }
  1321. req = c.newRequest(op, input, output)
  1322. output = &ListStacksOutput{}
  1323. req.Data = output
  1324. return
  1325. }
  1326. // ListStacks API operation for AWS CloudFormation.
  1327. //
  1328. // Returns the summary information for stacks whose status matches the specified
  1329. // StackStatusFilter. Summary information for stacks that have been deleted
  1330. // is kept for 90 days after the stack is deleted. If no StackStatusFilter is
  1331. // specified, summary information for all stacks is returned (including existing
  1332. // stacks and stacks that have been deleted).
  1333. //
  1334. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1335. // with awserr.Error's Code and Message methods to get detailed information about
  1336. // the error.
  1337. //
  1338. // See the AWS API reference guide for AWS CloudFormation's
  1339. // API operation ListStacks for usage and error information.
  1340. func (c *CloudFormation) ListStacks(input *ListStacksInput) (*ListStacksOutput, error) {
  1341. req, out := c.ListStacksRequest(input)
  1342. err := req.Send()
  1343. return out, err
  1344. }
  1345. // ListStacksPages iterates over the pages of a ListStacks operation,
  1346. // calling the "fn" function with the response data for each page. To stop
  1347. // iterating, return false from the fn function.
  1348. //
  1349. // See ListStacks method for more information on how to use this operation.
  1350. //
  1351. // Note: This operation can generate multiple requests to a service.
  1352. //
  1353. // // Example iterating over at most 3 pages of a ListStacks operation.
  1354. // pageNum := 0
  1355. // err := client.ListStacksPages(params,
  1356. // func(page *ListStacksOutput, lastPage bool) bool {
  1357. // pageNum++
  1358. // fmt.Println(page)
  1359. // return pageNum <= 3
  1360. // })
  1361. //
  1362. func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(p *ListStacksOutput, lastPage bool) (shouldContinue bool)) error {
  1363. page, _ := c.ListStacksRequest(input)
  1364. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1365. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1366. return fn(p.(*ListStacksOutput), lastPage)
  1367. })
  1368. }
  1369. const opSetStackPolicy = "SetStackPolicy"
  1370. // SetStackPolicyRequest generates a "aws/request.Request" representing the
  1371. // client's request for the SetStackPolicy operation. The "output" return
  1372. // value can be used to capture response data after the request's "Send" method
  1373. // is called.
  1374. //
  1375. // See SetStackPolicy for usage and error information.
  1376. //
  1377. // Creating a request object using this method should be used when you want to inject
  1378. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1379. // access properties on the request object before or after sending the request. If
  1380. // you just want the service response, call the SetStackPolicy method directly
  1381. // instead.
  1382. //
  1383. // Note: You must call the "Send" method on the returned request object in order
  1384. // to execute the request.
  1385. //
  1386. // // Example sending a request using the SetStackPolicyRequest method.
  1387. // req, resp := client.SetStackPolicyRequest(params)
  1388. //
  1389. // err := req.Send()
  1390. // if err == nil { // resp is now filled
  1391. // fmt.Println(resp)
  1392. // }
  1393. //
  1394. func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req *request.Request, output *SetStackPolicyOutput) {
  1395. op := &request.Operation{
  1396. Name: opSetStackPolicy,
  1397. HTTPMethod: "POST",
  1398. HTTPPath: "/",
  1399. }
  1400. if input == nil {
  1401. input = &SetStackPolicyInput{}
  1402. }
  1403. req = c.newRequest(op, input, output)
  1404. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1405. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1406. output = &SetStackPolicyOutput{}
  1407. req.Data = output
  1408. return
  1409. }
  1410. // SetStackPolicy API operation for AWS CloudFormation.
  1411. //
  1412. // Sets a stack policy for a specified stack.
  1413. //
  1414. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1415. // with awserr.Error's Code and Message methods to get detailed information about
  1416. // the error.
  1417. //
  1418. // See the AWS API reference guide for AWS CloudFormation's
  1419. // API operation SetStackPolicy for usage and error information.
  1420. func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPolicyOutput, error) {
  1421. req, out := c.SetStackPolicyRequest(input)
  1422. err := req.Send()
  1423. return out, err
  1424. }
  1425. const opSignalResource = "SignalResource"
  1426. // SignalResourceRequest generates a "aws/request.Request" representing the
  1427. // client's request for the SignalResource operation. The "output" return
  1428. // value can be used to capture response data after the request's "Send" method
  1429. // is called.
  1430. //
  1431. // See SignalResource for usage and error information.
  1432. //
  1433. // Creating a request object using this method should be used when you want to inject
  1434. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1435. // access properties on the request object before or after sending the request. If
  1436. // you just want the service response, call the SignalResource method directly
  1437. // instead.
  1438. //
  1439. // Note: You must call the "Send" method on the returned request object in order
  1440. // to execute the request.
  1441. //
  1442. // // Example sending a request using the SignalResourceRequest method.
  1443. // req, resp := client.SignalResourceRequest(params)
  1444. //
  1445. // err := req.Send()
  1446. // if err == nil { // resp is now filled
  1447. // fmt.Println(resp)
  1448. // }
  1449. //
  1450. func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req *request.Request, output *SignalResourceOutput) {
  1451. op := &request.Operation{
  1452. Name: opSignalResource,
  1453. HTTPMethod: "POST",
  1454. HTTPPath: "/",
  1455. }
  1456. if input == nil {
  1457. input = &SignalResourceInput{}
  1458. }
  1459. req = c.newRequest(op, input, output)
  1460. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1461. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1462. output = &SignalResourceOutput{}
  1463. req.Data = output
  1464. return
  1465. }
  1466. // SignalResource API operation for AWS CloudFormation.
  1467. //
  1468. // Sends a signal to the specified resource with a success or failure status.
  1469. // You can use the SignalResource API in conjunction with a creation policy
  1470. // or update policy. AWS CloudFormation doesn't proceed with a stack creation
  1471. // or update until resources receive the required number of signals or the timeout
  1472. // period is exceeded. The SignalResource API is useful in cases where you want
  1473. // to send signals from anywhere other than an Amazon EC2 instance.
  1474. //
  1475. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1476. // with awserr.Error's Code and Message methods to get detailed information about
  1477. // the error.
  1478. //
  1479. // See the AWS API reference guide for AWS CloudFormation's
  1480. // API operation SignalResource for usage and error information.
  1481. func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalResourceOutput, error) {
  1482. req, out := c.SignalResourceRequest(input)
  1483. err := req.Send()
  1484. return out, err
  1485. }
  1486. const opUpdateStack = "UpdateStack"
  1487. // UpdateStackRequest generates a "aws/request.Request" representing the
  1488. // client's request for the UpdateStack operation. The "output" return
  1489. // value can be used to capture response data after the request's "Send" method
  1490. // is called.
  1491. //
  1492. // See UpdateStack for usage and error information.
  1493. //
  1494. // Creating a request object using this method should be used when you want to inject
  1495. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1496. // access properties on the request object before or after sending the request. If
  1497. // you just want the service response, call the UpdateStack method directly
  1498. // instead.
  1499. //
  1500. // Note: You must call the "Send" method on the returned request object in order
  1501. // to execute the request.
  1502. //
  1503. // // Example sending a request using the UpdateStackRequest method.
  1504. // req, resp := client.UpdateStackRequest(params)
  1505. //
  1506. // err := req.Send()
  1507. // if err == nil { // resp is now filled
  1508. // fmt.Println(resp)
  1509. // }
  1510. //
  1511. func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
  1512. op := &request.Operation{
  1513. Name: opUpdateStack,
  1514. HTTPMethod: "POST",
  1515. HTTPPath: "/",
  1516. }
  1517. if input == nil {
  1518. input = &UpdateStackInput{}
  1519. }
  1520. req = c.newRequest(op, input, output)
  1521. output = &UpdateStackOutput{}
  1522. req.Data = output
  1523. return
  1524. }
  1525. // UpdateStack API operation for AWS CloudFormation.
  1526. //
  1527. // Updates a stack as specified in the template. After the call completes successfully,
  1528. // the stack update starts. You can check the status of the stack via the DescribeStacks
  1529. // action.
  1530. //
  1531. // To get a copy of the template for an existing stack, you can use the GetTemplate
  1532. // action.
  1533. //
  1534. // For more information about creating an update template, updating a stack,
  1535. // and monitoring the progress of the update, see Updating a Stack (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).
  1536. //
  1537. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1538. // with awserr.Error's Code and Message methods to get detailed information about
  1539. // the error.
  1540. //
  1541. // See the AWS API reference guide for AWS CloudFormation's
  1542. // API operation UpdateStack for usage and error information.
  1543. //
  1544. // Returned Error Codes:
  1545. // * InsufficientCapabilitiesException
  1546. // The template contains resources with capabilities that were not specified
  1547. // in the Capabilities parameter.
  1548. //
  1549. func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
  1550. req, out := c.UpdateStackRequest(input)
  1551. err := req.Send()
  1552. return out, err
  1553. }
  1554. const opValidateTemplate = "ValidateTemplate"
  1555. // ValidateTemplateRequest generates a "aws/request.Request" representing the
  1556. // client's request for the ValidateTemplate operation. The "output" return
  1557. // value can be used to capture response data after the request's "Send" method
  1558. // is called.
  1559. //
  1560. // See ValidateTemplate for usage and error information.
  1561. //
  1562. // Creating a request object using this method should be used when you want to inject
  1563. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1564. // access properties on the request object before or after sending the request. If
  1565. // you just want the service response, call the ValidateTemplate method directly
  1566. // instead.
  1567. //
  1568. // Note: You must call the "Send" method on the returned request object in order
  1569. // to execute the request.
  1570. //
  1571. // // Example sending a request using the ValidateTemplateRequest method.
  1572. // req, resp := client.ValidateTemplateRequest(params)
  1573. //
  1574. // err := req.Send()
  1575. // if err == nil { // resp is now filled
  1576. // fmt.Println(resp)
  1577. // }
  1578. //
  1579. func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) (req *request.Request, output *ValidateTemplateOutput) {
  1580. op := &request.Operation{
  1581. Name: opValidateTemplate,
  1582. HTTPMethod: "POST",
  1583. HTTPPath: "/",
  1584. }
  1585. if input == nil {
  1586. input = &ValidateTemplateInput{}
  1587. }
  1588. req = c.newRequest(op, input, output)
  1589. output = &ValidateTemplateOutput{}
  1590. req.Data = output
  1591. return
  1592. }
  1593. // ValidateTemplate API operation for AWS CloudFormation.
  1594. //
  1595. // Validates a specified template. AWS CloudFormation first checks if the template
  1596. // is valid JSON. If it isn't, AWS CloudFormation checks if the template is
  1597. // valid YAML. If both these checks fail, AWS CloudFormation returns a template
  1598. // validation error.
  1599. //
  1600. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1601. // with awserr.Error's Code and Message methods to get detailed information about
  1602. // the error.
  1603. //
  1604. // See the AWS API reference guide for AWS CloudFormation's
  1605. // API operation ValidateTemplate for usage and error information.
  1606. func (c *CloudFormation) ValidateTemplate(input *ValidateTemplateInput) (*ValidateTemplateOutput, error) {
  1607. req, out := c.ValidateTemplateRequest(input)
  1608. err := req.Send()
  1609. return out, err
  1610. }
  1611. // The AccountLimit data type.
  1612. type AccountLimit struct {
  1613. _ struct{} `type:"structure"`
  1614. // The name of the account limit. Currently, the only account limit is StackLimit.
  1615. Name *string `type:"string"`
  1616. // The value that is associated with the account limit name.
  1617. Value *int64 `type:"integer"`
  1618. }
  1619. // String returns the string representation
  1620. func (s AccountLimit) String() string {
  1621. return awsutil.Prettify(s)
  1622. }
  1623. // GoString returns the string representation
  1624. func (s AccountLimit) GoString() string {
  1625. return s.String()
  1626. }
  1627. // The input for the CancelUpdateStack action.
  1628. type CancelUpdateStackInput struct {
  1629. _ struct{} `type:"structure"`
  1630. // The name or the unique stack ID that is associated with the stack.
  1631. //
  1632. // StackName is a required field
  1633. StackName *string `type:"string" required:"true"`
  1634. }
  1635. // String returns the string representation
  1636. func (s CancelUpdateStackInput) String() string {
  1637. return awsutil.Prettify(s)
  1638. }
  1639. // GoString returns the string representation
  1640. func (s CancelUpdateStackInput) GoString() string {
  1641. return s.String()
  1642. }
  1643. // Validate inspects the fields of the type to determine if they are valid.
  1644. func (s *CancelUpdateStackInput) Validate() error {
  1645. invalidParams := request.ErrInvalidParams{Context: "CancelUpdateStackInput"}
  1646. if s.StackName == nil {
  1647. invalidParams.Add(request.NewErrParamRequired("StackName"))
  1648. }
  1649. if invalidParams.Len() > 0 {
  1650. return invalidParams
  1651. }
  1652. return nil
  1653. }
  1654. type CancelUpdateStackOutput struct {
  1655. _ struct{} `type:"structure"`
  1656. }
  1657. // String returns the string representation
  1658. func (s CancelUpdateStackOutput) String() string {
  1659. return awsutil.Prettify(s)
  1660. }
  1661. // GoString returns the string representation
  1662. func (s CancelUpdateStackOutput) GoString() string {
  1663. return s.String()
  1664. }
  1665. // The Change structure describes the changes AWS CloudFormation will perform
  1666. // if you execute the change set.
  1667. type Change struct {
  1668. _ struct{} `type:"structure"`
  1669. // A ResourceChange structure that describes the resource and action that AWS
  1670. // CloudFormation will perform.
  1671. ResourceChange *ResourceChange `type:"structure"`
  1672. // The type of entity that AWS CloudFormation changes. Currently, the only entity
  1673. // type is Resource.
  1674. Type *string `type:"string" enum:"ChangeType"`
  1675. }
  1676. // String returns the string representation
  1677. func (s Change) String() string {
  1678. return awsutil.Prettify(s)
  1679. }
  1680. // GoString returns the string representation
  1681. func (s Change) GoString() string {
  1682. return s.String()
  1683. }
  1684. // The ChangeSetSummary structure describes a change set, its status, and the
  1685. // stack with which it's associated.
  1686. type ChangeSetSummary struct {
  1687. _ struct{} `type:"structure"`
  1688. // The ID of the change set.
  1689. ChangeSetId *string `min:"1" type:"string"`
  1690. // The name of the change set.
  1691. ChangeSetName *string `min:"1" type:"string"`
  1692. // The start time when the change set was created, in UTC.
  1693. CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  1694. // Descriptive information about the change set.
  1695. Description *string `min:"1" type:"string"`
  1696. // If the change set execution status is AVAILABLE, you can execute the change
  1697. // set. If you can’t execute the change set, the status indicates why. For example,
  1698. // a change set might be in an UNAVAILABLE state because AWS CloudFormation
  1699. // is still creating it or in an OBSOLETE state because the stack was already
  1700. // updated.
  1701. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"`
  1702. // The ID of the stack with which the change set is associated.
  1703. StackId *string `type:"string"`
  1704. // The name of the stack with which the change set is associated.
  1705. StackName *string `type:"string"`
  1706. // The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE,
  1707. // or FAILED.
  1708. Status *string `type:"string" enum:"ChangeSetStatus"`
  1709. // A description of the change set's status. For example, if your change set
  1710. // is in the FAILED state, AWS CloudFormation shows the error message.
  1711. StatusReason *string `type:"string"`
  1712. }
  1713. // String returns the string representation
  1714. func (s ChangeSetSummary) String() string {
  1715. return awsutil.Prettify(s)
  1716. }
  1717. // GoString returns the string representation
  1718. func (s ChangeSetSummary) GoString() string {
  1719. return s.String()
  1720. }
  1721. // The input for the ContinueUpdateRollback action.
  1722. type ContinueUpdateRollbackInput struct {
  1723. _ struct{} `type:"structure"`
  1724. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  1725. // role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation
  1726. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  1727. // always uses this role for all future operations on the stack. As long as
  1728. // users have permission to operate on the stack, AWS CloudFormation uses this
  1729. // role even if the users don't have permission to pass it. Ensure that the
  1730. // role grants least privilege.
  1731. //
  1732. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  1733. // associated with the stack. If no role is available, AWS CloudFormation uses
  1734. // a temporary session that is generated from your user credentials.
  1735. RoleARN *string `min:"20" type:"string"`
  1736. // The name or the unique ID of the stack that you want to continue rolling
  1737. // back.
  1738. //
  1739. // StackName is a required field
  1740. StackName *string `min:"1" type:"string" required:"true"`
  1741. }
  1742. // String returns the string representation
  1743. func (s ContinueUpdateRollbackInput) String() string {
  1744. return awsutil.Prettify(s)
  1745. }
  1746. // GoString returns the string representation
  1747. func (s ContinueUpdateRollbackInput) GoString() string {
  1748. return s.String()
  1749. }
  1750. // Validate inspects the fields of the type to determine if they are valid.
  1751. func (s *ContinueUpdateRollbackInput) Validate() error {
  1752. invalidParams := request.ErrInvalidParams{Context: "ContinueUpdateRollbackInput"}
  1753. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  1754. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  1755. }
  1756. if s.StackName == nil {
  1757. invalidParams.Add(request.NewErrParamRequired("StackName"))
  1758. }
  1759. if s.StackName != nil && len(*s.StackName) < 1 {
  1760. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  1761. }
  1762. if invalidParams.Len() > 0 {
  1763. return invalidParams
  1764. }
  1765. return nil
  1766. }
  1767. // The output for a ContinueUpdateRollback action.
  1768. type ContinueUpdateRollbackOutput struct {
  1769. _ struct{} `type:"structure"`
  1770. }
  1771. // String returns the string representation
  1772. func (s ContinueUpdateRollbackOutput) String() string {
  1773. return awsutil.Prettify(s)
  1774. }
  1775. // GoString returns the string representation
  1776. func (s ContinueUpdateRollbackOutput) GoString() string {
  1777. return s.String()
  1778. }
  1779. // The input for the CreateChangeSet action.
  1780. type CreateChangeSetInput struct {
  1781. _ struct{} `type:"structure"`
  1782. // A list of values that you must specify before AWS CloudFormation can update
  1783. // certain stacks. Some stack templates might include resources that can affect
  1784. // permissions in your AWS account, for example, by creating new AWS Identity
  1785. // and Access Management (IAM) users. For those stacks, you must explicitly
  1786. // acknowledge their capabilities by specifying this parameter.
  1787. //
  1788. // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following
  1789. // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html),
  1790. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html),
  1791. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html),
  1792. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html),
  1793. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html),
  1794. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html),
  1795. // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html).
  1796. // If your stack template contains these resources, we recommend that you review
  1797. // all permissions associated with them and edit their permissions if necessary.
  1798. //
  1799. // If you have IAM resources, you can specify either capability. If you have
  1800. // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If
  1801. // you don't specify this parameter, this action returns an InsufficientCapabilities
  1802. // error.
  1803. //
  1804. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  1805. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  1806. Capabilities []*string `type:"list"`
  1807. // The name of the change set. The name must be unique among all change sets
  1808. // that are associated with the specified stack.
  1809. //
  1810. // A change set name can contain only alphanumeric, case sensitive characters
  1811. // and hyphens. It must start with an alphabetic character and cannot exceed
  1812. // 128 characters.
  1813. //
  1814. // ChangeSetName is a required field
  1815. ChangeSetName *string `min:"1" type:"string" required:"true"`
  1816. // A unique identifier for this CreateChangeSet request. Specify this token
  1817. // if you plan to retry requests so that AWS CloudFormation knows that you're
  1818. // not attempting to create another change set with the same name. You might
  1819. // retry CreateChangeSet requests to ensure that AWS CloudFormation successfully
  1820. // received them.
  1821. ClientToken *string `min:"1" type:"string"`
  1822. // A description to help you identify this change set.
  1823. Description *string `min:"1" type:"string"`
  1824. // The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon
  1825. // SNS) topics that AWS CloudFormation associates with the stack. To remove
  1826. // all associated notification topics, specify an empty list.
  1827. NotificationARNs []*string `type:"list"`
  1828. // A list of Parameter structures that specify input parameters for the change
  1829. // set. For more information, see the Parameter (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  1830. // data type.
  1831. Parameters []*Parameter `type:"list"`
  1832. // The template resource types that you have permissions to work with if you
  1833. // execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  1834. //
  1835. // If the list of resource types doesn't include a resource type that you're
  1836. // updating, the stack update fails. By default, AWS CloudFormation grants permissions
  1837. // to all resource types. AWS Identity and Access Management (IAM) uses this
  1838. // parameter for condition keys in IAM policies for AWS CloudFormation. For
  1839. // more information, see Controlling Access with AWS Identity and Access Management
  1840. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
  1841. // in the AWS CloudFormation User Guide.
  1842. ResourceTypes []*string `type:"list"`
  1843. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  1844. // role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation
  1845. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  1846. // always uses this role for all future operations on the stack. As long as
  1847. // users have permission to operate on the stack, AWS CloudFormation uses this
  1848. // role even if the users don't have permission to pass it. Ensure that the
  1849. // role grants least privilege.
  1850. //
  1851. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  1852. // associated with the stack. If no role is available, AWS CloudFormation uses
  1853. // a temporary session that is generated from your user credentials.
  1854. RoleARN *string `min:"20" type:"string"`
  1855. // The name or the unique ID of the stack for which you are creating a change
  1856. // set. AWS CloudFormation generates the change set by comparing this stack's
  1857. // information with the information that you submit, such as a modified template
  1858. // or different parameter input values.
  1859. //
  1860. // StackName is a required field
  1861. StackName *string `min:"1" type:"string" required:"true"`
  1862. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  1863. // these tags to resources in the stack. You can specify a maximum of 10 tags.
  1864. Tags []*Tag `type:"list"`
  1865. // A structure that contains the body of the revised template, with a minimum
  1866. // length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation
  1867. // generates the change set by comparing this template with the template of
  1868. // the stack that you specified.
  1869. //
  1870. // Conditional: You must specify only TemplateBody or TemplateURL.
  1871. TemplateBody *string `min:"1" type:"string"`
  1872. // The location of the file that contains the revised template. The URL must
  1873. // point to a template (max size: 460,800 bytes) that is located in an S3 bucket.
  1874. // AWS CloudFormation generates the change set by comparing this template with
  1875. // the stack that you specified.
  1876. //
  1877. // Conditional: You must specify only TemplateBody or TemplateURL.
  1878. TemplateURL *string `min:"1" type:"string"`
  1879. // Whether to reuse the template that is associated with the stack to create
  1880. // the change set.
  1881. UsePreviousTemplate *bool `type:"boolean"`
  1882. }
  1883. // String returns the string representation
  1884. func (s CreateChangeSetInput) String() string {
  1885. return awsutil.Prettify(s)
  1886. }
  1887. // GoString returns the string representation
  1888. func (s CreateChangeSetInput) GoString() string {
  1889. return s.String()
  1890. }
  1891. // Validate inspects the fields of the type to determine if they are valid.
  1892. func (s *CreateChangeSetInput) Validate() error {
  1893. invalidParams := request.ErrInvalidParams{Context: "CreateChangeSetInput"}
  1894. if s.ChangeSetName == nil {
  1895. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  1896. }
  1897. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  1898. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  1899. }
  1900. if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1901. invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1902. }
  1903. if s.Description != nil && len(*s.Description) < 1 {
  1904. invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  1905. }
  1906. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  1907. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  1908. }
  1909. if s.StackName == nil {
  1910. invalidParams.Add(request.NewErrParamRequired("StackName"))
  1911. }
  1912. if s.StackName != nil && len(*s.StackName) < 1 {
  1913. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  1914. }
  1915. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  1916. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  1917. }
  1918. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  1919. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  1920. }
  1921. if invalidParams.Len() > 0 {
  1922. return invalidParams
  1923. }
  1924. return nil
  1925. }
  1926. // The output for the CreateChangeSet action.
  1927. type CreateChangeSetOutput struct {
  1928. _ struct{} `type:"structure"`
  1929. // The Amazon Resource Name (ARN) of the change set.
  1930. Id *string `min:"1" type:"string"`
  1931. }
  1932. // String returns the string representation
  1933. func (s CreateChangeSetOutput) String() string {
  1934. return awsutil.Prettify(s)
  1935. }
  1936. // GoString returns the string representation
  1937. func (s CreateChangeSetOutput) GoString() string {
  1938. return s.String()
  1939. }
  1940. // The input for CreateStack action.
  1941. type CreateStackInput struct {
  1942. _ struct{} `type:"structure"`
  1943. // A list of values that you must specify before AWS CloudFormation can create
  1944. // certain stacks. Some stack templates might include resources that can affect
  1945. // permissions in your AWS account, for example, by creating new AWS Identity
  1946. // and Access Management (IAM) users. For those stacks, you must explicitly
  1947. // acknowledge their capabilities by specifying this parameter.
  1948. //
  1949. // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following
  1950. // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html),
  1951. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html),
  1952. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html),
  1953. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html),
  1954. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html),
  1955. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html),
  1956. // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html).
  1957. // If your stack template contains these resources, we recommend that you review
  1958. // all permissions associated with them and edit their permissions if necessary.
  1959. //
  1960. // If you have IAM resources, you can specify either capability. If you have
  1961. // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If
  1962. // you don't specify this parameter, this action returns an InsufficientCapabilities
  1963. // error.
  1964. //
  1965. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  1966. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  1967. Capabilities []*string `type:"list"`
  1968. // Set to true to disable rollback of the stack if stack creation failed. You
  1969. // can specify either DisableRollback or OnFailure, but not both.
  1970. //
  1971. // Default: false
  1972. DisableRollback *bool `type:"boolean"`
  1973. // The Simple Notification Service (SNS) topic ARNs to publish stack related
  1974. // events. You can find your SNS topic ARNs using the SNS console (https://console.aws.amazon.com/sns)
  1975. // or your Command Line Interface (CLI).
  1976. NotificationARNs []*string `type:"list"`
  1977. // Determines what action will be taken if stack creation fails. This must be
  1978. // one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure
  1979. // or DisableRollback, but not both.
  1980. //
  1981. // Default: ROLLBACK
  1982. OnFailure *string `type:"string" enum:"OnFailure"`
  1983. // A list of Parameter structures that specify input parameters for the stack.
  1984. // For more information, see the Parameter (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  1985. // data type.
  1986. Parameters []*Parameter `type:"list"`
  1987. // The template resource types that you have permissions to work with for this
  1988. // create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  1989. // Use the following syntax to describe template resource types: AWS::* (for
  1990. // all AWS resource), Custom::* (for all custom resources), Custom::logical_ID
  1991. // (for a specific custom resource), AWS::service_name::* (for all resources
  1992. // of a particular AWS service), and AWS::service_name::resource_logical_ID
  1993. // (for a specific AWS resource).
  1994. //
  1995. // If the list of resource types doesn't include a resource that you're creating,
  1996. // the stack creation fails. By default, AWS CloudFormation grants permissions
  1997. // to all resource types. AWS Identity and Access Management (IAM) uses this
  1998. // parameter for AWS CloudFormation-specific condition keys in IAM policies.
  1999. // For more information, see Controlling Access with AWS Identity and Access
  2000. // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html).
  2001. ResourceTypes []*string `type:"list"`
  2002. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  2003. // role that AWS CloudFormation assumes to create the stack. AWS CloudFormation
  2004. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  2005. // always uses this role for all future operations on the stack. As long as
  2006. // users have permission to operate on the stack, AWS CloudFormation uses this
  2007. // role even if the users don't have permission to pass it. Ensure that the
  2008. // role grants least privilege.
  2009. //
  2010. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  2011. // associated with the stack. If no role is available, AWS CloudFormation uses
  2012. // a temporary session that is generated from your user credentials.
  2013. RoleARN *string `min:"20" type:"string"`
  2014. // The name that is associated with the stack. The name must be unique in the
  2015. // region in which you are creating the stack.
  2016. //
  2017. // A stack name can contain only alphanumeric characters (case sensitive) and
  2018. // hyphens. It must start with an alphabetic character and cannot be longer
  2019. // than 128 characters.
  2020. //
  2021. // StackName is a required field
  2022. StackName *string `type:"string" required:"true"`
  2023. // Structure containing the stack policy body. For more information, go to
  2024. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  2025. // in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody
  2026. // or the StackPolicyURL parameter, but not both.
  2027. StackPolicyBody *string `min:"1" type:"string"`
  2028. // Location of a file containing the stack policy. The URL must point to a policy
  2029. // (maximum size: 16 KB) located in an S3 bucket in the same region as the stack.
  2030. // You can specify either the StackPolicyBody or the StackPolicyURL parameter,
  2031. // but not both.
  2032. StackPolicyURL *string `min:"1" type:"string"`
  2033. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  2034. // these tags to the resources created in the stack. A maximum number of 10
  2035. // tags can be specified.
  2036. Tags []*Tag `type:"list"`
  2037. // Structure containing the template body with a minimum length of 1 byte and
  2038. // a maximum length of 51,200 bytes. For more information, go to Template Anatomy
  2039. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2040. // in the AWS CloudFormation User Guide.
  2041. //
  2042. // Conditional: You must specify either the TemplateBody or the TemplateURL
  2043. // parameter, but not both.
  2044. TemplateBody *string `min:"1" type:"string"`
  2045. // Location of file containing the template body. The URL must point to a template
  2046. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  2047. // information, go to the Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2048. // in the AWS CloudFormation User Guide.
  2049. //
  2050. // Conditional: You must specify either the TemplateBody or the TemplateURL
  2051. // parameter, but not both.
  2052. TemplateURL *string `min:"1" type:"string"`
  2053. // The amount of time that can pass before the stack status becomes CREATE_FAILED;
  2054. // if DisableRollback is not set or is set to false, the stack will be rolled
  2055. // back.
  2056. TimeoutInMinutes *int64 `min:"1" type:"integer"`
  2057. }
  2058. // String returns the string representation
  2059. func (s CreateStackInput) String() string {
  2060. return awsutil.Prettify(s)
  2061. }
  2062. // GoString returns the string representation
  2063. func (s CreateStackInput) GoString() string {
  2064. return s.String()
  2065. }
  2066. // Validate inspects the fields of the type to determine if they are valid.
  2067. func (s *CreateStackInput) Validate() error {
  2068. invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
  2069. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  2070. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  2071. }
  2072. if s.StackName == nil {
  2073. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2074. }
  2075. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  2076. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  2077. }
  2078. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  2079. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  2080. }
  2081. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  2082. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  2083. }
  2084. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  2085. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  2086. }
  2087. if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 {
  2088. invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1))
  2089. }
  2090. if invalidParams.Len() > 0 {
  2091. return invalidParams
  2092. }
  2093. return nil
  2094. }
  2095. // The output for a CreateStack action.
  2096. type CreateStackOutput struct {
  2097. _ struct{} `type:"structure"`
  2098. // Unique identifier of the stack.
  2099. StackId *string `type:"string"`
  2100. }
  2101. // String returns the string representation
  2102. func (s CreateStackOutput) String() string {
  2103. return awsutil.Prettify(s)
  2104. }
  2105. // GoString returns the string representation
  2106. func (s CreateStackOutput) GoString() string {
  2107. return s.String()
  2108. }
  2109. // The input for the DeleteChangeSet action.
  2110. type DeleteChangeSetInput struct {
  2111. _ struct{} `type:"structure"`
  2112. // The name or Amazon Resource Name (ARN) of the change set that you want to
  2113. // delete.
  2114. //
  2115. // ChangeSetName is a required field
  2116. ChangeSetName *string `min:"1" type:"string" required:"true"`
  2117. // If you specified the name of a change set to delete, specify the stack name
  2118. // or ID (ARN) that is associated with it.
  2119. StackName *string `min:"1" type:"string"`
  2120. }
  2121. // String returns the string representation
  2122. func (s DeleteChangeSetInput) String() string {
  2123. return awsutil.Prettify(s)
  2124. }
  2125. // GoString returns the string representation
  2126. func (s DeleteChangeSetInput) GoString() string {
  2127. return s.String()
  2128. }
  2129. // Validate inspects the fields of the type to determine if they are valid.
  2130. func (s *DeleteChangeSetInput) Validate() error {
  2131. invalidParams := request.ErrInvalidParams{Context: "DeleteChangeSetInput"}
  2132. if s.ChangeSetName == nil {
  2133. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  2134. }
  2135. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  2136. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  2137. }
  2138. if s.StackName != nil && len(*s.StackName) < 1 {
  2139. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  2140. }
  2141. if invalidParams.Len() > 0 {
  2142. return invalidParams
  2143. }
  2144. return nil
  2145. }
  2146. // The output for the DeleteChangeSet action.
  2147. type DeleteChangeSetOutput struct {
  2148. _ struct{} `type:"structure"`
  2149. }
  2150. // String returns the string representation
  2151. func (s DeleteChangeSetOutput) String() string {
  2152. return awsutil.Prettify(s)
  2153. }
  2154. // GoString returns the string representation
  2155. func (s DeleteChangeSetOutput) GoString() string {
  2156. return s.String()
  2157. }
  2158. // The input for DeleteStack action.
  2159. type DeleteStackInput struct {
  2160. _ struct{} `type:"structure"`
  2161. // For stacks in the DELETE_FAILED state, a list of resource logical IDs that
  2162. // are associated with the resources you want to retain. During deletion, AWS
  2163. // CloudFormation deletes the stack but does not delete the retained resources.
  2164. //
  2165. // Retaining resources is useful when you cannot delete a resource, such as
  2166. // a non-empty S3 bucket, but you want to delete the stack.
  2167. RetainResources []*string `type:"list"`
  2168. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  2169. // role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation
  2170. // uses the role's credentials to make calls on your behalf.
  2171. //
  2172. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  2173. // associated with the stack. If no role is available, AWS CloudFormation uses
  2174. // a temporary session that is generated from your user credentials.
  2175. RoleARN *string `min:"20" type:"string"`
  2176. // The name or the unique stack ID that is associated with the stack.
  2177. //
  2178. // StackName is a required field
  2179. StackName *string `type:"string" required:"true"`
  2180. }
  2181. // String returns the string representation
  2182. func (s DeleteStackInput) String() string {
  2183. return awsutil.Prettify(s)
  2184. }
  2185. // GoString returns the string representation
  2186. func (s DeleteStackInput) GoString() string {
  2187. return s.String()
  2188. }
  2189. // Validate inspects the fields of the type to determine if they are valid.
  2190. func (s *DeleteStackInput) Validate() error {
  2191. invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
  2192. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  2193. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  2194. }
  2195. if s.StackName == nil {
  2196. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2197. }
  2198. if invalidParams.Len() > 0 {
  2199. return invalidParams
  2200. }
  2201. return nil
  2202. }
  2203. type DeleteStackOutput struct {
  2204. _ struct{} `type:"structure"`
  2205. }
  2206. // String returns the string representation
  2207. func (s DeleteStackOutput) String() string {
  2208. return awsutil.Prettify(s)
  2209. }
  2210. // GoString returns the string representation
  2211. func (s DeleteStackOutput) GoString() string {
  2212. return s.String()
  2213. }
  2214. // The input for the DescribeAccountLimits action.
  2215. type DescribeAccountLimitsInput struct {
  2216. _ struct{} `type:"structure"`
  2217. // A string that identifies the next page of limits that you want to retrieve.
  2218. NextToken *string `min:"1" type:"string"`
  2219. }
  2220. // String returns the string representation
  2221. func (s DescribeAccountLimitsInput) String() string {
  2222. return awsutil.Prettify(s)
  2223. }
  2224. // GoString returns the string representation
  2225. func (s DescribeAccountLimitsInput) GoString() string {
  2226. return s.String()
  2227. }
  2228. // Validate inspects the fields of the type to determine if they are valid.
  2229. func (s *DescribeAccountLimitsInput) Validate() error {
  2230. invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"}
  2231. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2232. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2233. }
  2234. if invalidParams.Len() > 0 {
  2235. return invalidParams
  2236. }
  2237. return nil
  2238. }
  2239. // The output for the DescribeAccountLimits action.
  2240. type DescribeAccountLimitsOutput struct {
  2241. _ struct{} `type:"structure"`
  2242. // An account limit structure that contain a list of AWS CloudFormation account
  2243. // limits and their values.
  2244. AccountLimits []*AccountLimit `type:"list"`
  2245. // If the output exceeds 1 MB in size, a string that identifies the next page
  2246. // of limits. If no additional page exists, this value is null.
  2247. NextToken *string `min:"1" type:"string"`
  2248. }
  2249. // String returns the string representation
  2250. func (s DescribeAccountLimitsOutput) String() string {
  2251. return awsutil.Prettify(s)
  2252. }
  2253. // GoString returns the string representation
  2254. func (s DescribeAccountLimitsOutput) GoString() string {
  2255. return s.String()
  2256. }
  2257. // The input for the DescribeChangeSet action.
  2258. type DescribeChangeSetInput struct {
  2259. _ struct{} `type:"structure"`
  2260. // The name or Amazon Resource Name (ARN) of the change set that you want to
  2261. // describe.
  2262. //
  2263. // ChangeSetName is a required field
  2264. ChangeSetName *string `min:"1" type:"string" required:"true"`
  2265. // A string (provided by the DescribeChangeSet response output) that identifies
  2266. // the next page of information that you want to retrieve.
  2267. NextToken *string `min:"1" type:"string"`
  2268. // If you specified the name of a change set, specify the stack name or ID (ARN)
  2269. // of the change set you want to describe.
  2270. StackName *string `min:"1" type:"string"`
  2271. }
  2272. // String returns the string representation
  2273. func (s DescribeChangeSetInput) String() string {
  2274. return awsutil.Prettify(s)
  2275. }
  2276. // GoString returns the string representation
  2277. func (s DescribeChangeSetInput) GoString() string {
  2278. return s.String()
  2279. }
  2280. // Validate inspects the fields of the type to determine if they are valid.
  2281. func (s *DescribeChangeSetInput) Validate() error {
  2282. invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"}
  2283. if s.ChangeSetName == nil {
  2284. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  2285. }
  2286. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  2287. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  2288. }
  2289. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2290. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2291. }
  2292. if s.StackName != nil && len(*s.StackName) < 1 {
  2293. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  2294. }
  2295. if invalidParams.Len() > 0 {
  2296. return invalidParams
  2297. }
  2298. return nil
  2299. }
  2300. // The output for the DescribeChangeSet action.
  2301. type DescribeChangeSetOutput struct {
  2302. _ struct{} `type:"structure"`
  2303. // If you execute the change set, the list of capabilities that were explicitly
  2304. // acknowledged when the change set was created.
  2305. Capabilities []*string `type:"list"`
  2306. // The ARN of the change set.
  2307. ChangeSetId *string `min:"1" type:"string"`
  2308. // The name of the change set.
  2309. ChangeSetName *string `min:"1" type:"string"`
  2310. // A list of Change structures that describes the resources AWS CloudFormation
  2311. // changes if you execute the change set.
  2312. Changes []*Change `type:"list"`
  2313. // The start time when the change set was created, in UTC.
  2314. CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2315. // Information about the change set.
  2316. Description *string `min:"1" type:"string"`
  2317. // If the change set execution status is AVAILABLE, you can execute the change
  2318. // set. If you can’t execute the change set, the status indicates why. For example,
  2319. // a change set might be in an UNAVAILABLE state because AWS CloudFormation
  2320. // is still creating it or in an OBSOLETE state because the stack was already
  2321. // updated.
  2322. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"`
  2323. // If the output exceeds 1 MB, a string that identifies the next page of changes.
  2324. // If there is no additional page, this value is null.
  2325. NextToken *string `min:"1" type:"string"`
  2326. // The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that
  2327. // will be associated with the stack if you execute the change set.
  2328. NotificationARNs []*string `type:"list"`
  2329. // A list of Parameter structures that describes the input parameters and their
  2330. // values used to create the change set. For more information, see the Parameter
  2331. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  2332. // data type.
  2333. Parameters []*Parameter `type:"list"`
  2334. // The ARN of the stack that is associated with the change set.
  2335. StackId *string `type:"string"`
  2336. // The name of the stack that is associated with the change set.
  2337. StackName *string `type:"string"`
  2338. // The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE,
  2339. // or FAILED.
  2340. Status *string `type:"string" enum:"ChangeSetStatus"`
  2341. // A description of the change set's status. For example, if your attempt to
  2342. // create a change set failed, AWS CloudFormation shows the error message.
  2343. StatusReason *string `type:"string"`
  2344. // If you execute the change set, the tags that will be associated with the
  2345. // stack.
  2346. Tags []*Tag `type:"list"`
  2347. }
  2348. // String returns the string representation
  2349. func (s DescribeChangeSetOutput) String() string {
  2350. return awsutil.Prettify(s)
  2351. }
  2352. // GoString returns the string representation
  2353. func (s DescribeChangeSetOutput) GoString() string {
  2354. return s.String()
  2355. }
  2356. // The input for DescribeStackEvents action.
  2357. type DescribeStackEventsInput struct {
  2358. _ struct{} `type:"structure"`
  2359. // A string that identifies the next page of events that you want to retrieve.
  2360. NextToken *string `min:"1" type:"string"`
  2361. // The name or the unique stack ID that is associated with the stack, which
  2362. // are not always interchangeable:
  2363. //
  2364. // * Running stacks: You can specify either the stack's name or its unique
  2365. // stack ID.
  2366. //
  2367. // * Deleted stacks: You must specify the unique stack ID.
  2368. //
  2369. // Default: There is no default value.
  2370. StackName *string `type:"string"`
  2371. }
  2372. // String returns the string representation
  2373. func (s DescribeStackEventsInput) String() string {
  2374. return awsutil.Prettify(s)
  2375. }
  2376. // GoString returns the string representation
  2377. func (s DescribeStackEventsInput) GoString() string {
  2378. return s.String()
  2379. }
  2380. // Validate inspects the fields of the type to determine if they are valid.
  2381. func (s *DescribeStackEventsInput) Validate() error {
  2382. invalidParams := request.ErrInvalidParams{Context: "DescribeStackEventsInput"}
  2383. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2384. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2385. }
  2386. if invalidParams.Len() > 0 {
  2387. return invalidParams
  2388. }
  2389. return nil
  2390. }
  2391. // The output for a DescribeStackEvents action.
  2392. type DescribeStackEventsOutput struct {
  2393. _ struct{} `type:"structure"`
  2394. // If the output exceeds 1 MB in size, a string that identifies the next page
  2395. // of events. If no additional page exists, this value is null.
  2396. NextToken *string `min:"1" type:"string"`
  2397. // A list of StackEvents structures.
  2398. StackEvents []*StackEvent `type:"list"`
  2399. }
  2400. // String returns the string representation
  2401. func (s DescribeStackEventsOutput) String() string {
  2402. return awsutil.Prettify(s)
  2403. }
  2404. // GoString returns the string representation
  2405. func (s DescribeStackEventsOutput) GoString() string {
  2406. return s.String()
  2407. }
  2408. // The input for DescribeStackResource action.
  2409. type DescribeStackResourceInput struct {
  2410. _ struct{} `type:"structure"`
  2411. // The logical name of the resource as specified in the template.
  2412. //
  2413. // Default: There is no default value.
  2414. //
  2415. // LogicalResourceId is a required field
  2416. LogicalResourceId *string `type:"string" required:"true"`
  2417. // The name or the unique stack ID that is associated with the stack, which
  2418. // are not always interchangeable:
  2419. //
  2420. // * Running stacks: You can specify either the stack's name or its unique
  2421. // stack ID.
  2422. //
  2423. // * Deleted stacks: You must specify the unique stack ID.
  2424. //
  2425. // Default: There is no default value.
  2426. //
  2427. // StackName is a required field
  2428. StackName *string `type:"string" required:"true"`
  2429. }
  2430. // String returns the string representation
  2431. func (s DescribeStackResourceInput) String() string {
  2432. return awsutil.Prettify(s)
  2433. }
  2434. // GoString returns the string representation
  2435. func (s DescribeStackResourceInput) GoString() string {
  2436. return s.String()
  2437. }
  2438. // Validate inspects the fields of the type to determine if they are valid.
  2439. func (s *DescribeStackResourceInput) Validate() error {
  2440. invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceInput"}
  2441. if s.LogicalResourceId == nil {
  2442. invalidParams.Add(request.NewErrParamRequired("LogicalResourceId"))
  2443. }
  2444. if s.StackName == nil {
  2445. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2446. }
  2447. if invalidParams.Len() > 0 {
  2448. return invalidParams
  2449. }
  2450. return nil
  2451. }
  2452. // The output for a DescribeStackResource action.
  2453. type DescribeStackResourceOutput struct {
  2454. _ struct{} `type:"structure"`
  2455. // A StackResourceDetail structure containing the description of the specified
  2456. // resource in the specified stack.
  2457. StackResourceDetail *StackResourceDetail `type:"structure"`
  2458. }
  2459. // String returns the string representation
  2460. func (s DescribeStackResourceOutput) String() string {
  2461. return awsutil.Prettify(s)
  2462. }
  2463. // GoString returns the string representation
  2464. func (s DescribeStackResourceOutput) GoString() string {
  2465. return s.String()
  2466. }
  2467. // The input for DescribeStackResources action.
  2468. type DescribeStackResourcesInput struct {
  2469. _ struct{} `type:"structure"`
  2470. // The logical name of the resource as specified in the template.
  2471. //
  2472. // Default: There is no default value.
  2473. LogicalResourceId *string `type:"string"`
  2474. // The name or unique identifier that corresponds to a physical instance ID
  2475. // of a resource supported by AWS CloudFormation.
  2476. //
  2477. // For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId
  2478. // corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources
  2479. // to find which stack the instance belongs to and what other resources are
  2480. // part of the stack.
  2481. //
  2482. // Required: Conditional. If you do not specify PhysicalResourceId, you must
  2483. // specify StackName.
  2484. //
  2485. // Default: There is no default value.
  2486. PhysicalResourceId *string `type:"string"`
  2487. // The name or the unique stack ID that is associated with the stack, which
  2488. // are not always interchangeable:
  2489. //
  2490. // * Running stacks: You can specify either the stack's name or its unique
  2491. // stack ID.
  2492. //
  2493. // * Deleted stacks: You must specify the unique stack ID.
  2494. //
  2495. // Default: There is no default value.
  2496. //
  2497. // Required: Conditional. If you do not specify StackName, you must specify
  2498. // PhysicalResourceId.
  2499. StackName *string `type:"string"`
  2500. }
  2501. // String returns the string representation
  2502. func (s DescribeStackResourcesInput) String() string {
  2503. return awsutil.Prettify(s)
  2504. }
  2505. // GoString returns the string representation
  2506. func (s DescribeStackResourcesInput) GoString() string {
  2507. return s.String()
  2508. }
  2509. // The output for a DescribeStackResources action.
  2510. type DescribeStackResourcesOutput struct {
  2511. _ struct{} `type:"structure"`
  2512. // A list of StackResource structures.
  2513. StackResources []*StackResource `type:"list"`
  2514. }
  2515. // String returns the string representation
  2516. func (s DescribeStackResourcesOutput) String() string {
  2517. return awsutil.Prettify(s)
  2518. }
  2519. // GoString returns the string representation
  2520. func (s DescribeStackResourcesOutput) GoString() string {
  2521. return s.String()
  2522. }
  2523. // The input for DescribeStacks action.
  2524. type DescribeStacksInput struct {
  2525. _ struct{} `type:"structure"`
  2526. // A string that identifies the next page of stacks that you want to retrieve.
  2527. NextToken *string `min:"1" type:"string"`
  2528. // The name or the unique stack ID that is associated with the stack, which
  2529. // are not always interchangeable:
  2530. //
  2531. // * Running stacks: You can specify either the stack's name or its unique
  2532. // stack ID.
  2533. //
  2534. // * Deleted stacks: You must specify the unique stack ID.
  2535. //
  2536. // Default: There is no default value.
  2537. StackName *string `type:"string"`
  2538. }
  2539. // String returns the string representation
  2540. func (s DescribeStacksInput) String() string {
  2541. return awsutil.Prettify(s)
  2542. }
  2543. // GoString returns the string representation
  2544. func (s DescribeStacksInput) GoString() string {
  2545. return s.String()
  2546. }
  2547. // Validate inspects the fields of the type to determine if they are valid.
  2548. func (s *DescribeStacksInput) Validate() error {
  2549. invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"}
  2550. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2551. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2552. }
  2553. if invalidParams.Len() > 0 {
  2554. return invalidParams
  2555. }
  2556. return nil
  2557. }
  2558. // The output for a DescribeStacks action.
  2559. type DescribeStacksOutput struct {
  2560. _ struct{} `type:"structure"`
  2561. // If the output exceeds 1 MB in size, a string that identifies the next page
  2562. // of stacks. If no additional page exists, this value is null.
  2563. NextToken *string `min:"1" type:"string"`
  2564. // A list of stack structures.
  2565. Stacks []*Stack `type:"list"`
  2566. }
  2567. // String returns the string representation
  2568. func (s DescribeStacksOutput) String() string {
  2569. return awsutil.Prettify(s)
  2570. }
  2571. // GoString returns the string representation
  2572. func (s DescribeStacksOutput) GoString() string {
  2573. return s.String()
  2574. }
  2575. // The input for an EstimateTemplateCost action.
  2576. type EstimateTemplateCostInput struct {
  2577. _ struct{} `type:"structure"`
  2578. // A list of Parameter structures that specify input parameters.
  2579. Parameters []*Parameter `type:"list"`
  2580. // Structure containing the template body with a minimum length of 1 byte and
  2581. // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy
  2582. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2583. // in the AWS CloudFormation User Guide.)
  2584. //
  2585. // Conditional: You must pass TemplateBody or TemplateURL. If both are passed,
  2586. // only TemplateBody is used.
  2587. TemplateBody *string `min:"1" type:"string"`
  2588. // Location of file containing the template body. The URL must point to a template
  2589. // that is located in an Amazon S3 bucket. For more information, go to Template
  2590. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2591. // in the AWS CloudFormation User Guide.
  2592. //
  2593. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  2594. // only TemplateBody is used.
  2595. TemplateURL *string `min:"1" type:"string"`
  2596. }
  2597. // String returns the string representation
  2598. func (s EstimateTemplateCostInput) String() string {
  2599. return awsutil.Prettify(s)
  2600. }
  2601. // GoString returns the string representation
  2602. func (s EstimateTemplateCostInput) GoString() string {
  2603. return s.String()
  2604. }
  2605. // Validate inspects the fields of the type to determine if they are valid.
  2606. func (s *EstimateTemplateCostInput) Validate() error {
  2607. invalidParams := request.ErrInvalidParams{Context: "EstimateTemplateCostInput"}
  2608. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  2609. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  2610. }
  2611. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  2612. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  2613. }
  2614. if invalidParams.Len() > 0 {
  2615. return invalidParams
  2616. }
  2617. return nil
  2618. }
  2619. // The output for a EstimateTemplateCost action.
  2620. type EstimateTemplateCostOutput struct {
  2621. _ struct{} `type:"structure"`
  2622. // An AWS Simple Monthly Calculator URL with a query string that describes the
  2623. // resources required to run the template.
  2624. Url *string `type:"string"`
  2625. }
  2626. // String returns the string representation
  2627. func (s EstimateTemplateCostOutput) String() string {
  2628. return awsutil.Prettify(s)
  2629. }
  2630. // GoString returns the string representation
  2631. func (s EstimateTemplateCostOutput) GoString() string {
  2632. return s.String()
  2633. }
  2634. // The input for the ExecuteChangeSet action.
  2635. type ExecuteChangeSetInput struct {
  2636. _ struct{} `type:"structure"`
  2637. // The name or ARN of the change set that you want use to update the specified
  2638. // stack.
  2639. //
  2640. // ChangeSetName is a required field
  2641. ChangeSetName *string `min:"1" type:"string" required:"true"`
  2642. // If you specified the name of a change set, specify the stack name or ID (ARN)
  2643. // that is associated with the change set you want to execute.
  2644. StackName *string `min:"1" type:"string"`
  2645. }
  2646. // String returns the string representation
  2647. func (s ExecuteChangeSetInput) String() string {
  2648. return awsutil.Prettify(s)
  2649. }
  2650. // GoString returns the string representation
  2651. func (s ExecuteChangeSetInput) GoString() string {
  2652. return s.String()
  2653. }
  2654. // Validate inspects the fields of the type to determine if they are valid.
  2655. func (s *ExecuteChangeSetInput) Validate() error {
  2656. invalidParams := request.ErrInvalidParams{Context: "ExecuteChangeSetInput"}
  2657. if s.ChangeSetName == nil {
  2658. invalidParams.Add(request.NewErrParamRequired("ChangeSetName"))
  2659. }
  2660. if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
  2661. invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
  2662. }
  2663. if s.StackName != nil && len(*s.StackName) < 1 {
  2664. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  2665. }
  2666. if invalidParams.Len() > 0 {
  2667. return invalidParams
  2668. }
  2669. return nil
  2670. }
  2671. // The output for the ExecuteChangeSet action.
  2672. type ExecuteChangeSetOutput struct {
  2673. _ struct{} `type:"structure"`
  2674. }
  2675. // String returns the string representation
  2676. func (s ExecuteChangeSetOutput) String() string {
  2677. return awsutil.Prettify(s)
  2678. }
  2679. // GoString returns the string representation
  2680. func (s ExecuteChangeSetOutput) GoString() string {
  2681. return s.String()
  2682. }
  2683. // The input for the GetStackPolicy action.
  2684. type GetStackPolicyInput struct {
  2685. _ struct{} `type:"structure"`
  2686. // The name or unique stack ID that is associated with the stack whose policy
  2687. // you want to get.
  2688. //
  2689. // StackName is a required field
  2690. StackName *string `type:"string" required:"true"`
  2691. }
  2692. // String returns the string representation
  2693. func (s GetStackPolicyInput) String() string {
  2694. return awsutil.Prettify(s)
  2695. }
  2696. // GoString returns the string representation
  2697. func (s GetStackPolicyInput) GoString() string {
  2698. return s.String()
  2699. }
  2700. // Validate inspects the fields of the type to determine if they are valid.
  2701. func (s *GetStackPolicyInput) Validate() error {
  2702. invalidParams := request.ErrInvalidParams{Context: "GetStackPolicyInput"}
  2703. if s.StackName == nil {
  2704. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2705. }
  2706. if invalidParams.Len() > 0 {
  2707. return invalidParams
  2708. }
  2709. return nil
  2710. }
  2711. // The output for the GetStackPolicy action.
  2712. type GetStackPolicyOutput struct {
  2713. _ struct{} `type:"structure"`
  2714. // Structure containing the stack policy body. (For more information, go to
  2715. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  2716. // in the AWS CloudFormation User Guide.)
  2717. StackPolicyBody *string `min:"1" type:"string"`
  2718. }
  2719. // String returns the string representation
  2720. func (s GetStackPolicyOutput) String() string {
  2721. return awsutil.Prettify(s)
  2722. }
  2723. // GoString returns the string representation
  2724. func (s GetStackPolicyOutput) GoString() string {
  2725. return s.String()
  2726. }
  2727. // The input for a GetTemplate action.
  2728. type GetTemplateInput struct {
  2729. _ struct{} `type:"structure"`
  2730. // The name or the unique stack ID that is associated with the stack, which
  2731. // are not always interchangeable:
  2732. //
  2733. // * Running stacks: You can specify either the stack's name or its unique
  2734. // stack ID.
  2735. //
  2736. // * Deleted stacks: You must specify the unique stack ID.
  2737. //
  2738. // Default: There is no default value.
  2739. //
  2740. // StackName is a required field
  2741. StackName *string `type:"string" required:"true"`
  2742. }
  2743. // String returns the string representation
  2744. func (s GetTemplateInput) String() string {
  2745. return awsutil.Prettify(s)
  2746. }
  2747. // GoString returns the string representation
  2748. func (s GetTemplateInput) GoString() string {
  2749. return s.String()
  2750. }
  2751. // Validate inspects the fields of the type to determine if they are valid.
  2752. func (s *GetTemplateInput) Validate() error {
  2753. invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"}
  2754. if s.StackName == nil {
  2755. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2756. }
  2757. if invalidParams.Len() > 0 {
  2758. return invalidParams
  2759. }
  2760. return nil
  2761. }
  2762. // The output for GetTemplate action.
  2763. type GetTemplateOutput struct {
  2764. _ struct{} `type:"structure"`
  2765. // Structure containing the template body. (For more information, go to Template
  2766. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2767. // in the AWS CloudFormation User Guide.)
  2768. //
  2769. // AWS CloudFormation returns the same template that was used when the stack
  2770. // was created.
  2771. TemplateBody *string `min:"1" type:"string"`
  2772. }
  2773. // String returns the string representation
  2774. func (s GetTemplateOutput) String() string {
  2775. return awsutil.Prettify(s)
  2776. }
  2777. // GoString returns the string representation
  2778. func (s GetTemplateOutput) GoString() string {
  2779. return s.String()
  2780. }
  2781. // The input for the GetTemplateSummary action.
  2782. type GetTemplateSummaryInput struct {
  2783. _ struct{} `type:"structure"`
  2784. // The name or the stack ID that is associated with the stack, which are not
  2785. // always interchangeable. For running stacks, you can specify either the stack's
  2786. // name or its unique stack ID. For deleted stack, you must specify the unique
  2787. // stack ID.
  2788. //
  2789. // Conditional: You must specify only one of the following parameters: StackName,
  2790. // TemplateBody, or TemplateURL.
  2791. StackName *string `min:"1" type:"string"`
  2792. // Structure containing the template body with a minimum length of 1 byte and
  2793. // a maximum length of 51,200 bytes. For more information about templates, see
  2794. // Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2795. // in the AWS CloudFormation User Guide.
  2796. //
  2797. // Conditional: You must specify only one of the following parameters: StackName,
  2798. // TemplateBody, or TemplateURL.
  2799. TemplateBody *string `min:"1" type:"string"`
  2800. // Location of file containing the template body. The URL must point to a template
  2801. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  2802. // information about templates, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  2803. // in the AWS CloudFormation User Guide.
  2804. //
  2805. // Conditional: You must specify only one of the following parameters: StackName,
  2806. // TemplateBody, or TemplateURL.
  2807. TemplateURL *string `min:"1" type:"string"`
  2808. }
  2809. // String returns the string representation
  2810. func (s GetTemplateSummaryInput) String() string {
  2811. return awsutil.Prettify(s)
  2812. }
  2813. // GoString returns the string representation
  2814. func (s GetTemplateSummaryInput) GoString() string {
  2815. return s.String()
  2816. }
  2817. // Validate inspects the fields of the type to determine if they are valid.
  2818. func (s *GetTemplateSummaryInput) Validate() error {
  2819. invalidParams := request.ErrInvalidParams{Context: "GetTemplateSummaryInput"}
  2820. if s.StackName != nil && len(*s.StackName) < 1 {
  2821. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  2822. }
  2823. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  2824. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  2825. }
  2826. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  2827. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  2828. }
  2829. if invalidParams.Len() > 0 {
  2830. return invalidParams
  2831. }
  2832. return nil
  2833. }
  2834. // The output for the GetTemplateSummary action.
  2835. type GetTemplateSummaryOutput struct {
  2836. _ struct{} `type:"structure"`
  2837. // The capabilities found within the template. If your template contains IAM
  2838. // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value
  2839. // for this parameter when you use the CreateStack or UpdateStack actions with
  2840. // your template; otherwise, those actions return an InsufficientCapabilities
  2841. // error.
  2842. //
  2843. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  2844. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  2845. Capabilities []*string `type:"list"`
  2846. // The list of resources that generated the values in the Capabilities response
  2847. // element.
  2848. CapabilitiesReason *string `type:"string"`
  2849. // The value that is defined in the Description property of the template.
  2850. Description *string `min:"1" type:"string"`
  2851. // The value that is defined for the Metadata property of the template.
  2852. Metadata *string `type:"string"`
  2853. // A list of parameter declarations that describe various properties for each
  2854. // parameter.
  2855. Parameters []*ParameterDeclaration `type:"list"`
  2856. // A list of all the template resource types that are defined in the template,
  2857. // such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance.
  2858. ResourceTypes []*string `type:"list"`
  2859. // The AWS template format version, which identifies the capabilities of the
  2860. // template.
  2861. Version *string `type:"string"`
  2862. }
  2863. // String returns the string representation
  2864. func (s GetTemplateSummaryOutput) String() string {
  2865. return awsutil.Prettify(s)
  2866. }
  2867. // GoString returns the string representation
  2868. func (s GetTemplateSummaryOutput) GoString() string {
  2869. return s.String()
  2870. }
  2871. // The input for the ListChangeSets action.
  2872. type ListChangeSetsInput struct {
  2873. _ struct{} `type:"structure"`
  2874. // A string (provided by the ListChangeSets response output) that identifies
  2875. // the next page of change sets that you want to retrieve.
  2876. NextToken *string `min:"1" type:"string"`
  2877. // The name or the Amazon Resource Name (ARN) of the stack for which you want
  2878. // to list change sets.
  2879. //
  2880. // StackName is a required field
  2881. StackName *string `min:"1" type:"string" required:"true"`
  2882. }
  2883. // String returns the string representation
  2884. func (s ListChangeSetsInput) String() string {
  2885. return awsutil.Prettify(s)
  2886. }
  2887. // GoString returns the string representation
  2888. func (s ListChangeSetsInput) GoString() string {
  2889. return s.String()
  2890. }
  2891. // Validate inspects the fields of the type to determine if they are valid.
  2892. func (s *ListChangeSetsInput) Validate() error {
  2893. invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"}
  2894. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2895. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2896. }
  2897. if s.StackName == nil {
  2898. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2899. }
  2900. if s.StackName != nil && len(*s.StackName) < 1 {
  2901. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  2902. }
  2903. if invalidParams.Len() > 0 {
  2904. return invalidParams
  2905. }
  2906. return nil
  2907. }
  2908. // The output for the ListChangeSets action.
  2909. type ListChangeSetsOutput struct {
  2910. _ struct{} `type:"structure"`
  2911. // If the output exceeds 1 MB, a string that identifies the next page of change
  2912. // sets. If there is no additional page, this value is null.
  2913. NextToken *string `min:"1" type:"string"`
  2914. // A list of ChangeSetSummary structures that provides the ID and status of
  2915. // each change set for the specified stack.
  2916. Summaries []*ChangeSetSummary `type:"list"`
  2917. }
  2918. // String returns the string representation
  2919. func (s ListChangeSetsOutput) String() string {
  2920. return awsutil.Prettify(s)
  2921. }
  2922. // GoString returns the string representation
  2923. func (s ListChangeSetsOutput) GoString() string {
  2924. return s.String()
  2925. }
  2926. // The input for the ListStackResource action.
  2927. type ListStackResourcesInput struct {
  2928. _ struct{} `type:"structure"`
  2929. // A string that identifies the next page of stack resources that you want to
  2930. // retrieve.
  2931. NextToken *string `min:"1" type:"string"`
  2932. // The name or the unique stack ID that is associated with the stack, which
  2933. // are not always interchangeable:
  2934. //
  2935. // * Running stacks: You can specify either the stack's name or its unique
  2936. // stack ID.
  2937. //
  2938. // * Deleted stacks: You must specify the unique stack ID.
  2939. //
  2940. // Default: There is no default value.
  2941. //
  2942. // StackName is a required field
  2943. StackName *string `type:"string" required:"true"`
  2944. }
  2945. // String returns the string representation
  2946. func (s ListStackResourcesInput) String() string {
  2947. return awsutil.Prettify(s)
  2948. }
  2949. // GoString returns the string representation
  2950. func (s ListStackResourcesInput) GoString() string {
  2951. return s.String()
  2952. }
  2953. // Validate inspects the fields of the type to determine if they are valid.
  2954. func (s *ListStackResourcesInput) Validate() error {
  2955. invalidParams := request.ErrInvalidParams{Context: "ListStackResourcesInput"}
  2956. if s.NextToken != nil && len(*s.NextToken) < 1 {
  2957. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2958. }
  2959. if s.StackName == nil {
  2960. invalidParams.Add(request.NewErrParamRequired("StackName"))
  2961. }
  2962. if invalidParams.Len() > 0 {
  2963. return invalidParams
  2964. }
  2965. return nil
  2966. }
  2967. // The output for a ListStackResources action.
  2968. type ListStackResourcesOutput struct {
  2969. _ struct{} `type:"structure"`
  2970. // If the output exceeds 1 MB, a string that identifies the next page of stack
  2971. // resources. If no additional page exists, this value is null.
  2972. NextToken *string `min:"1" type:"string"`
  2973. // A list of StackResourceSummary structures.
  2974. StackResourceSummaries []*StackResourceSummary `type:"list"`
  2975. }
  2976. // String returns the string representation
  2977. func (s ListStackResourcesOutput) String() string {
  2978. return awsutil.Prettify(s)
  2979. }
  2980. // GoString returns the string representation
  2981. func (s ListStackResourcesOutput) GoString() string {
  2982. return s.String()
  2983. }
  2984. // The input for ListStacks action.
  2985. type ListStacksInput struct {
  2986. _ struct{} `type:"structure"`
  2987. // A string that identifies the next page of stacks that you want to retrieve.
  2988. NextToken *string `min:"1" type:"string"`
  2989. // Stack status to use as a filter. Specify one or more stack status codes to
  2990. // list only stacks with the specified status codes. For a complete list of
  2991. // stack status codes, see the StackStatus parameter of the Stack data type.
  2992. StackStatusFilter []*string `type:"list"`
  2993. }
  2994. // String returns the string representation
  2995. func (s ListStacksInput) String() string {
  2996. return awsutil.Prettify(s)
  2997. }
  2998. // GoString returns the string representation
  2999. func (s ListStacksInput) GoString() string {
  3000. return s.String()
  3001. }
  3002. // Validate inspects the fields of the type to determine if they are valid.
  3003. func (s *ListStacksInput) Validate() error {
  3004. invalidParams := request.ErrInvalidParams{Context: "ListStacksInput"}
  3005. if s.NextToken != nil && len(*s.NextToken) < 1 {
  3006. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  3007. }
  3008. if invalidParams.Len() > 0 {
  3009. return invalidParams
  3010. }
  3011. return nil
  3012. }
  3013. // The output for ListStacks action.
  3014. type ListStacksOutput struct {
  3015. _ struct{} `type:"structure"`
  3016. // If the output exceeds 1 MB in size, a string that identifies the next page
  3017. // of stacks. If no additional page exists, this value is null.
  3018. NextToken *string `min:"1" type:"string"`
  3019. // A list of StackSummary structures containing information about the specified
  3020. // stacks.
  3021. StackSummaries []*StackSummary `type:"list"`
  3022. }
  3023. // String returns the string representation
  3024. func (s ListStacksOutput) String() string {
  3025. return awsutil.Prettify(s)
  3026. }
  3027. // GoString returns the string representation
  3028. func (s ListStacksOutput) GoString() string {
  3029. return s.String()
  3030. }
  3031. // The Output data type.
  3032. type Output struct {
  3033. _ struct{} `type:"structure"`
  3034. // User defined description associated with the output.
  3035. Description *string `min:"1" type:"string"`
  3036. // The key associated with the output.
  3037. OutputKey *string `type:"string"`
  3038. // The value associated with the output.
  3039. OutputValue *string `type:"string"`
  3040. }
  3041. // String returns the string representation
  3042. func (s Output) String() string {
  3043. return awsutil.Prettify(s)
  3044. }
  3045. // GoString returns the string representation
  3046. func (s Output) GoString() string {
  3047. return s.String()
  3048. }
  3049. // The Parameter data type.
  3050. type Parameter struct {
  3051. _ struct{} `type:"structure"`
  3052. // The key associated with the parameter. If you don't specify a key and value
  3053. // for a particular parameter, AWS CloudFormation uses the default value that
  3054. // is specified in your template.
  3055. ParameterKey *string `type:"string"`
  3056. // The value associated with the parameter.
  3057. ParameterValue *string `type:"string"`
  3058. // During a stack update, use the existing parameter value that the stack is
  3059. // using for a given parameter key. If you specify true, do not specify a parameter
  3060. // value.
  3061. UsePreviousValue *bool `type:"boolean"`
  3062. }
  3063. // String returns the string representation
  3064. func (s Parameter) String() string {
  3065. return awsutil.Prettify(s)
  3066. }
  3067. // GoString returns the string representation
  3068. func (s Parameter) GoString() string {
  3069. return s.String()
  3070. }
  3071. // A set of criteria that AWS CloudFormation uses to validate parameter values.
  3072. // Although other constraints might be defined in the stack template, AWS CloudFormation
  3073. // returns only the AllowedValues property.
  3074. type ParameterConstraints struct {
  3075. _ struct{} `type:"structure"`
  3076. // A list of values that are permitted for a parameter.
  3077. AllowedValues []*string `type:"list"`
  3078. }
  3079. // String returns the string representation
  3080. func (s ParameterConstraints) String() string {
  3081. return awsutil.Prettify(s)
  3082. }
  3083. // GoString returns the string representation
  3084. func (s ParameterConstraints) GoString() string {
  3085. return s.String()
  3086. }
  3087. // The ParameterDeclaration data type.
  3088. type ParameterDeclaration struct {
  3089. _ struct{} `type:"structure"`
  3090. // The default value of the parameter.
  3091. DefaultValue *string `type:"string"`
  3092. // The description that is associate with the parameter.
  3093. Description *string `min:"1" type:"string"`
  3094. // Flag that indicates whether the parameter value is shown as plain text in
  3095. // logs and in the AWS Management Console.
  3096. NoEcho *bool `type:"boolean"`
  3097. // The criteria that AWS CloudFormation uses to validate parameter values.
  3098. ParameterConstraints *ParameterConstraints `type:"structure"`
  3099. // The name that is associated with the parameter.
  3100. ParameterKey *string `type:"string"`
  3101. // The type of parameter.
  3102. ParameterType *string `type:"string"`
  3103. }
  3104. // String returns the string representation
  3105. func (s ParameterDeclaration) String() string {
  3106. return awsutil.Prettify(s)
  3107. }
  3108. // GoString returns the string representation
  3109. func (s ParameterDeclaration) GoString() string {
  3110. return s.String()
  3111. }
  3112. // The ResourceChange structure describes the resource and the action that AWS
  3113. // CloudFormation will perform on it if you execute this change set.
  3114. type ResourceChange struct {
  3115. _ struct{} `type:"structure"`
  3116. // The action that AWS CloudFormation takes on the resource, such as Add (adds
  3117. // a new resource), Modify (changes a resource), or Remove (deletes a resource).
  3118. Action *string `type:"string" enum:"ChangeAction"`
  3119. // For the Modify action, a list of ResourceChangeDetail structures that describes
  3120. // the changes that AWS CloudFormation will make to the resource.
  3121. Details []*ResourceChangeDetail `type:"list"`
  3122. // The resource's logical ID, which is defined in the stack's template.
  3123. LogicalResourceId *string `type:"string"`
  3124. // The resource's physical ID (resource name). Resources that you are adding
  3125. // don't have physical IDs because they haven't been created.
  3126. PhysicalResourceId *string `type:"string"`
  3127. // For the Modify action, indicates whether AWS CloudFormation will replace
  3128. // the resource by creating a new one and deleting the old one. This value depends
  3129. // on the value of the RequiresRecreation property in the ResourceTargetDefinition
  3130. // structure. For example, if the RequiresRecreation field is Always and the
  3131. // Evaluation field is Static, Replacement is True. If the RequiresRecreation
  3132. // field is Always and the Evaluation field is Dynamic, Replacement is Conditionally.
  3133. //
  3134. // If you have multiple changes with different RequiresRecreation values, the
  3135. // Replacement value depends on the change with the most impact. A RequiresRecreation
  3136. // value of Always has the most impact, followed by Conditionally, and then
  3137. // Never.
  3138. Replacement *string `type:"string" enum:"Replacement"`
  3139. // The type of AWS CloudFormation resource, such as AWS::S3::Bucket.
  3140. ResourceType *string `min:"1" type:"string"`
  3141. // For the Modify action, indicates which resource attribute is triggering this
  3142. // update, such as a change in the resource attribute's Metadata, Properties,
  3143. // or Tags.
  3144. Scope []*string `type:"list"`
  3145. }
  3146. // String returns the string representation
  3147. func (s ResourceChange) String() string {
  3148. return awsutil.Prettify(s)
  3149. }
  3150. // GoString returns the string representation
  3151. func (s ResourceChange) GoString() string {
  3152. return s.String()
  3153. }
  3154. // For a resource with Modify as the action, the ResourceChange structure describes
  3155. // the changes AWS CloudFormation will make to that resource.
  3156. type ResourceChangeDetail struct {
  3157. _ struct{} `type:"structure"`
  3158. // The identity of the entity that triggered this change. This entity is a member
  3159. // of the group that is specified by the ChangeSource field. For example, if
  3160. // you modified the value of the KeyPairName parameter, the CausingEntity is
  3161. // the name of the parameter (KeyPairName).
  3162. //
  3163. // If the ChangeSource value is DirectModification, no value is given for CausingEntity.
  3164. CausingEntity *string `type:"string"`
  3165. // The group to which the CausingEntity value belongs. There are five entity
  3166. // groups:
  3167. //
  3168. // * ResourceReference entities are Ref intrinsic functions that refer to
  3169. // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.
  3170. //
  3171. // * ParameterReference entities are Ref intrinsic functions that get template
  3172. // parameter values, such as { "Ref" : "MyPasswordParameter" }.
  3173. //
  3174. // * ResourceAttribute entities are Fn::GetAtt intrinsic functions that get
  3175. // resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource",
  3176. // "PublicDnsName" ] }.
  3177. //
  3178. // * DirectModification entities are changes that are made directly to the
  3179. // template.
  3180. //
  3181. // * Automatic entities are AWS::CloudFormation::Stack resource types, which
  3182. // are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack
  3183. // resource, AWS CloudFormation sets the ChangeSource to Automatic because
  3184. // the nested stack's template might have changed. Changes to a nested stack's
  3185. // template aren't visible to AWS CloudFormation until you run an update
  3186. // on the parent stack.
  3187. ChangeSource *string `type:"string" enum:"ChangeSource"`
  3188. // Indicates whether AWS CloudFormation can determine the target value, and
  3189. // whether the target value will change before you execute a change set.
  3190. //
  3191. // For Static evaluations, AWS CloudFormation can determine that the target
  3192. // value will change, and its value. For example, if you directly modify the
  3193. // InstanceType property of an EC2 instance, AWS CloudFormation knows that this
  3194. // property value will change, and its value, so this is a Static evaluation.
  3195. //
  3196. // For Dynamic evaluations, cannot determine the target value because it depends
  3197. // on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic
  3198. // function, when the stack is updated. For example, if your template includes
  3199. // a reference to a resource that is conditionally recreated, the value of the
  3200. // reference (the physical ID of the resource) might change, depending on if
  3201. // the resource is recreated. If the resource is recreated, it will have a new
  3202. // physical ID, so all references to that resource will also be updated.
  3203. Evaluation *string `type:"string" enum:"EvaluationType"`
  3204. // A ResourceTargetDefinition structure that describes the field that AWS CloudFormation
  3205. // will change and whether the resource will be recreated.
  3206. Target *ResourceTargetDefinition `type:"structure"`
  3207. }
  3208. // String returns the string representation
  3209. func (s ResourceChangeDetail) String() string {
  3210. return awsutil.Prettify(s)
  3211. }
  3212. // GoString returns the string representation
  3213. func (s ResourceChangeDetail) GoString() string {
  3214. return s.String()
  3215. }
  3216. // The field that AWS CloudFormation will change, such as the name of a resource's
  3217. // property, and whether the resource will be recreated.
  3218. type ResourceTargetDefinition struct {
  3219. _ struct{} `type:"structure"`
  3220. // Indicates which resource attribute is triggering this update, such as a change
  3221. // in the resource attribute's Metadata, Properties, or Tags.
  3222. Attribute *string `type:"string" enum:"ResourceAttribute"`
  3223. // If the Attribute value is Properties, the name of the property. For all other
  3224. // attributes, the value is null.
  3225. Name *string `type:"string"`
  3226. // If the Attribute value is Properties, indicates whether a change to this
  3227. // property causes the resource to be recreated. The value can be Never, Always,
  3228. // or Conditionally. To determine the conditions for a Conditionally recreation,
  3229. // see the update behavior for that property (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  3230. // in the AWS CloudFormation User Guide.
  3231. RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
  3232. }
  3233. // String returns the string representation
  3234. func (s ResourceTargetDefinition) String() string {
  3235. return awsutil.Prettify(s)
  3236. }
  3237. // GoString returns the string representation
  3238. func (s ResourceTargetDefinition) GoString() string {
  3239. return s.String()
  3240. }
  3241. // The input for the SetStackPolicy action.
  3242. type SetStackPolicyInput struct {
  3243. _ struct{} `type:"structure"`
  3244. // The name or unique stack ID that you want to associate a policy with.
  3245. //
  3246. // StackName is a required field
  3247. StackName *string `type:"string" required:"true"`
  3248. // Structure containing the stack policy body. For more information, go to
  3249. // Prevent Updates to Stack Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)
  3250. // in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody
  3251. // or the StackPolicyURL parameter, but not both.
  3252. StackPolicyBody *string `min:"1" type:"string"`
  3253. // Location of a file containing the stack policy. The URL must point to a policy
  3254. // (maximum size: 16 KB) located in an S3 bucket in the same region as the stack.
  3255. // You can specify either the StackPolicyBody or the StackPolicyURL parameter,
  3256. // but not both.
  3257. StackPolicyURL *string `min:"1" type:"string"`
  3258. }
  3259. // String returns the string representation
  3260. func (s SetStackPolicyInput) String() string {
  3261. return awsutil.Prettify(s)
  3262. }
  3263. // GoString returns the string representation
  3264. func (s SetStackPolicyInput) GoString() string {
  3265. return s.String()
  3266. }
  3267. // Validate inspects the fields of the type to determine if they are valid.
  3268. func (s *SetStackPolicyInput) Validate() error {
  3269. invalidParams := request.ErrInvalidParams{Context: "SetStackPolicyInput"}
  3270. if s.StackName == nil {
  3271. invalidParams.Add(request.NewErrParamRequired("StackName"))
  3272. }
  3273. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  3274. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  3275. }
  3276. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  3277. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  3278. }
  3279. if invalidParams.Len() > 0 {
  3280. return invalidParams
  3281. }
  3282. return nil
  3283. }
  3284. type SetStackPolicyOutput struct {
  3285. _ struct{} `type:"structure"`
  3286. }
  3287. // String returns the string representation
  3288. func (s SetStackPolicyOutput) String() string {
  3289. return awsutil.Prettify(s)
  3290. }
  3291. // GoString returns the string representation
  3292. func (s SetStackPolicyOutput) GoString() string {
  3293. return s.String()
  3294. }
  3295. // The input for the SignalResource action.
  3296. type SignalResourceInput struct {
  3297. _ struct{} `type:"structure"`
  3298. // The logical ID of the resource that you want to signal. The logical ID is
  3299. // the name of the resource that given in the template.
  3300. //
  3301. // LogicalResourceId is a required field
  3302. LogicalResourceId *string `type:"string" required:"true"`
  3303. // The stack name or unique stack ID that includes the resource that you want
  3304. // to signal.
  3305. //
  3306. // StackName is a required field
  3307. StackName *string `min:"1" type:"string" required:"true"`
  3308. // The status of the signal, which is either success or failure. A failure signal
  3309. // causes AWS CloudFormation to immediately fail the stack creation or update.
  3310. //
  3311. // Status is a required field
  3312. Status *string `type:"string" required:"true" enum:"ResourceSignalStatus"`
  3313. // A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling
  3314. // groups, specify the instance ID that you are signaling as the unique ID.
  3315. // If you send multiple signals to a single resource (such as signaling a wait
  3316. // condition), each signal requires a different unique ID.
  3317. //
  3318. // UniqueId is a required field
  3319. UniqueId *string `min:"1" type:"string" required:"true"`
  3320. }
  3321. // String returns the string representation
  3322. func (s SignalResourceInput) String() string {
  3323. return awsutil.Prettify(s)
  3324. }
  3325. // GoString returns the string representation
  3326. func (s SignalResourceInput) GoString() string {
  3327. return s.String()
  3328. }
  3329. // Validate inspects the fields of the type to determine if they are valid.
  3330. func (s *SignalResourceInput) Validate() error {
  3331. invalidParams := request.ErrInvalidParams{Context: "SignalResourceInput"}
  3332. if s.LogicalResourceId == nil {
  3333. invalidParams.Add(request.NewErrParamRequired("LogicalResourceId"))
  3334. }
  3335. if s.StackName == nil {
  3336. invalidParams.Add(request.NewErrParamRequired("StackName"))
  3337. }
  3338. if s.StackName != nil && len(*s.StackName) < 1 {
  3339. invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  3340. }
  3341. if s.Status == nil {
  3342. invalidParams.Add(request.NewErrParamRequired("Status"))
  3343. }
  3344. if s.UniqueId == nil {
  3345. invalidParams.Add(request.NewErrParamRequired("UniqueId"))
  3346. }
  3347. if s.UniqueId != nil && len(*s.UniqueId) < 1 {
  3348. invalidParams.Add(request.NewErrParamMinLen("UniqueId", 1))
  3349. }
  3350. if invalidParams.Len() > 0 {
  3351. return invalidParams
  3352. }
  3353. return nil
  3354. }
  3355. type SignalResourceOutput struct {
  3356. _ struct{} `type:"structure"`
  3357. }
  3358. // String returns the string representation
  3359. func (s SignalResourceOutput) String() string {
  3360. return awsutil.Prettify(s)
  3361. }
  3362. // GoString returns the string representation
  3363. func (s SignalResourceOutput) GoString() string {
  3364. return s.String()
  3365. }
  3366. // The Stack data type.
  3367. type Stack struct {
  3368. _ struct{} `type:"structure"`
  3369. // The capabilities allowed in the stack.
  3370. Capabilities []*string `type:"list"`
  3371. // The time at which the stack was created.
  3372. //
  3373. // CreationTime is a required field
  3374. CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3375. // A user-defined description associated with the stack.
  3376. Description *string `min:"1" type:"string"`
  3377. // Boolean to enable or disable rollback on stack creation failures:
  3378. //
  3379. // * true: disable rollback
  3380. //
  3381. // * false: enable rollback
  3382. DisableRollback *bool `type:"boolean"`
  3383. // The time the stack was last updated. This field will only be returned if
  3384. // the stack has been updated at least once.
  3385. LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3386. // SNS topic ARNs to which stack related events are published.
  3387. NotificationARNs []*string `type:"list"`
  3388. // A list of output structures.
  3389. Outputs []*Output `type:"list"`
  3390. // A list of Parameter structures.
  3391. Parameters []*Parameter `type:"list"`
  3392. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  3393. // role that is associated with the stack. During a stack operation, AWS CloudFormation
  3394. // uses this role's credentials to make calls on your behalf.
  3395. RoleARN *string `min:"20" type:"string"`
  3396. // Unique identifier of the stack.
  3397. StackId *string `type:"string"`
  3398. // The name associated with the stack.
  3399. //
  3400. // StackName is a required field
  3401. StackName *string `type:"string" required:"true"`
  3402. // Current status of the stack.
  3403. //
  3404. // StackStatus is a required field
  3405. StackStatus *string `type:"string" required:"true" enum:"StackStatus"`
  3406. // Success/failure message associated with the stack status.
  3407. StackStatusReason *string `type:"string"`
  3408. // A list of Tags that specify information about the stack.
  3409. Tags []*Tag `type:"list"`
  3410. // The amount of time within which stack creation should complete.
  3411. TimeoutInMinutes *int64 `min:"1" type:"integer"`
  3412. }
  3413. // String returns the string representation
  3414. func (s Stack) String() string {
  3415. return awsutil.Prettify(s)
  3416. }
  3417. // GoString returns the string representation
  3418. func (s Stack) GoString() string {
  3419. return s.String()
  3420. }
  3421. // The StackEvent data type.
  3422. type StackEvent struct {
  3423. _ struct{} `type:"structure"`
  3424. // The unique ID of this event.
  3425. //
  3426. // EventId is a required field
  3427. EventId *string `type:"string" required:"true"`
  3428. // The logical name of the resource specified in the template.
  3429. LogicalResourceId *string `type:"string"`
  3430. // The name or unique identifier associated with the physical instance of the
  3431. // resource.
  3432. PhysicalResourceId *string `type:"string"`
  3433. // BLOB of the properties used to create the resource.
  3434. ResourceProperties *string `type:"string"`
  3435. // Current status of the resource.
  3436. ResourceStatus *string `type:"string" enum:"ResourceStatus"`
  3437. // Success/failure message associated with the resource.
  3438. ResourceStatusReason *string `type:"string"`
  3439. // Type of resource. (For more information, go to AWS Resource Types Reference
  3440. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  3441. // in the AWS CloudFormation User Guide.)
  3442. ResourceType *string `min:"1" type:"string"`
  3443. // The unique ID name of the instance of the stack.
  3444. //
  3445. // StackId is a required field
  3446. StackId *string `type:"string" required:"true"`
  3447. // The name associated with a stack.
  3448. //
  3449. // StackName is a required field
  3450. StackName *string `type:"string" required:"true"`
  3451. // Time the status was updated.
  3452. //
  3453. // Timestamp is a required field
  3454. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3455. }
  3456. // String returns the string representation
  3457. func (s StackEvent) String() string {
  3458. return awsutil.Prettify(s)
  3459. }
  3460. // GoString returns the string representation
  3461. func (s StackEvent) GoString() string {
  3462. return s.String()
  3463. }
  3464. // The StackResource data type.
  3465. type StackResource struct {
  3466. _ struct{} `type:"structure"`
  3467. // User defined description associated with the resource.
  3468. Description *string `min:"1" type:"string"`
  3469. // The logical name of the resource specified in the template.
  3470. //
  3471. // LogicalResourceId is a required field
  3472. LogicalResourceId *string `type:"string" required:"true"`
  3473. // The name or unique identifier that corresponds to a physical instance ID
  3474. // of a resource supported by AWS CloudFormation.
  3475. PhysicalResourceId *string `type:"string"`
  3476. // Current status of the resource.
  3477. //
  3478. // ResourceStatus is a required field
  3479. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  3480. // Success/failure message associated with the resource.
  3481. ResourceStatusReason *string `type:"string"`
  3482. // Type of resource. (For more information, go to AWS Resource Types Reference
  3483. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  3484. // in the AWS CloudFormation User Guide.)
  3485. //
  3486. // ResourceType is a required field
  3487. ResourceType *string `min:"1" type:"string" required:"true"`
  3488. // Unique identifier of the stack.
  3489. StackId *string `type:"string"`
  3490. // The name associated with the stack.
  3491. StackName *string `type:"string"`
  3492. // Time the status was updated.
  3493. //
  3494. // Timestamp is a required field
  3495. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3496. }
  3497. // String returns the string representation
  3498. func (s StackResource) String() string {
  3499. return awsutil.Prettify(s)
  3500. }
  3501. // GoString returns the string representation
  3502. func (s StackResource) GoString() string {
  3503. return s.String()
  3504. }
  3505. // Contains detailed information about the specified stack resource.
  3506. type StackResourceDetail struct {
  3507. _ struct{} `type:"structure"`
  3508. // User defined description associated with the resource.
  3509. Description *string `min:"1" type:"string"`
  3510. // Time the status was updated.
  3511. //
  3512. // LastUpdatedTimestamp is a required field
  3513. LastUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3514. // The logical name of the resource specified in the template.
  3515. //
  3516. // LogicalResourceId is a required field
  3517. LogicalResourceId *string `type:"string" required:"true"`
  3518. // The content of the Metadata attribute declared for the resource. For more
  3519. // information, see Metadata Attribute (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html)
  3520. // in the AWS CloudFormation User Guide.
  3521. Metadata *string `type:"string"`
  3522. // The name or unique identifier that corresponds to a physical instance ID
  3523. // of a resource supported by AWS CloudFormation.
  3524. PhysicalResourceId *string `type:"string"`
  3525. // Current status of the resource.
  3526. //
  3527. // ResourceStatus is a required field
  3528. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  3529. // Success/failure message associated with the resource.
  3530. ResourceStatusReason *string `type:"string"`
  3531. // Type of resource. ((For more information, go to AWS Resource Types Reference
  3532. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  3533. // in the AWS CloudFormation User Guide.)
  3534. //
  3535. // ResourceType is a required field
  3536. ResourceType *string `min:"1" type:"string" required:"true"`
  3537. // Unique identifier of the stack.
  3538. StackId *string `type:"string"`
  3539. // The name associated with the stack.
  3540. StackName *string `type:"string"`
  3541. }
  3542. // String returns the string representation
  3543. func (s StackResourceDetail) String() string {
  3544. return awsutil.Prettify(s)
  3545. }
  3546. // GoString returns the string representation
  3547. func (s StackResourceDetail) GoString() string {
  3548. return s.String()
  3549. }
  3550. // Contains high-level information about the specified stack resource.
  3551. type StackResourceSummary struct {
  3552. _ struct{} `type:"structure"`
  3553. // Time the status was updated.
  3554. //
  3555. // LastUpdatedTimestamp is a required field
  3556. LastUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3557. // The logical name of the resource specified in the template.
  3558. //
  3559. // LogicalResourceId is a required field
  3560. LogicalResourceId *string `type:"string" required:"true"`
  3561. // The name or unique identifier that corresponds to a physical instance ID
  3562. // of the resource.
  3563. PhysicalResourceId *string `type:"string"`
  3564. // Current status of the resource.
  3565. //
  3566. // ResourceStatus is a required field
  3567. ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"`
  3568. // Success/failure message associated with the resource.
  3569. ResourceStatusReason *string `type:"string"`
  3570. // Type of resource. (For more information, go to AWS Resource Types Reference
  3571. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  3572. // in the AWS CloudFormation User Guide.)
  3573. //
  3574. // ResourceType is a required field
  3575. ResourceType *string `min:"1" type:"string" required:"true"`
  3576. }
  3577. // String returns the string representation
  3578. func (s StackResourceSummary) String() string {
  3579. return awsutil.Prettify(s)
  3580. }
  3581. // GoString returns the string representation
  3582. func (s StackResourceSummary) GoString() string {
  3583. return s.String()
  3584. }
  3585. // The StackSummary Data Type
  3586. type StackSummary struct {
  3587. _ struct{} `type:"structure"`
  3588. // The time the stack was created.
  3589. //
  3590. // CreationTime is a required field
  3591. CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3592. // The time the stack was deleted.
  3593. DeletionTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3594. // The time the stack was last updated. This field will only be returned if
  3595. // the stack has been updated at least once.
  3596. LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3597. // Unique stack identifier.
  3598. StackId *string `type:"string"`
  3599. // The name associated with the stack.
  3600. //
  3601. // StackName is a required field
  3602. StackName *string `type:"string" required:"true"`
  3603. // The current status of the stack.
  3604. //
  3605. // StackStatus is a required field
  3606. StackStatus *string `type:"string" required:"true" enum:"StackStatus"`
  3607. // Success/Failure message associated with the stack status.
  3608. StackStatusReason *string `type:"string"`
  3609. // The template description of the template used to create the stack.
  3610. TemplateDescription *string `type:"string"`
  3611. }
  3612. // String returns the string representation
  3613. func (s StackSummary) String() string {
  3614. return awsutil.Prettify(s)
  3615. }
  3616. // GoString returns the string representation
  3617. func (s StackSummary) GoString() string {
  3618. return s.String()
  3619. }
  3620. // The Tag type enables you to specify a key-value pair that can be used to
  3621. // store information about an AWS CloudFormation stack.
  3622. type Tag struct {
  3623. _ struct{} `type:"structure"`
  3624. // Required. A string used to identify this tag. You can specify a maximum of
  3625. // 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have
  3626. // the reserved prefix: aws:.
  3627. Key *string `type:"string"`
  3628. // Required. A string containing the value for this tag. You can specify a maximum
  3629. // of 256 characters for a tag value.
  3630. Value *string `type:"string"`
  3631. }
  3632. // String returns the string representation
  3633. func (s Tag) String() string {
  3634. return awsutil.Prettify(s)
  3635. }
  3636. // GoString returns the string representation
  3637. func (s Tag) GoString() string {
  3638. return s.String()
  3639. }
  3640. // The TemplateParameter data type.
  3641. type TemplateParameter struct {
  3642. _ struct{} `type:"structure"`
  3643. // The default value associated with the parameter.
  3644. DefaultValue *string `type:"string"`
  3645. // User defined description associated with the parameter.
  3646. Description *string `min:"1" type:"string"`
  3647. // Flag indicating whether the parameter should be displayed as plain text in
  3648. // logs and UIs.
  3649. NoEcho *bool `type:"boolean"`
  3650. // The name associated with the parameter.
  3651. ParameterKey *string `type:"string"`
  3652. }
  3653. // String returns the string representation
  3654. func (s TemplateParameter) String() string {
  3655. return awsutil.Prettify(s)
  3656. }
  3657. // GoString returns the string representation
  3658. func (s TemplateParameter) GoString() string {
  3659. return s.String()
  3660. }
  3661. // The input for an UpdateStack action.
  3662. type UpdateStackInput struct {
  3663. _ struct{} `type:"structure"`
  3664. // A list of values that you must specify before AWS CloudFormation can update
  3665. // certain stacks. Some stack templates might include resources that can affect
  3666. // permissions in your AWS account, for example, by creating new AWS Identity
  3667. // and Access Management (IAM) users. For those stacks, you must explicitly
  3668. // acknowledge their capabilities by specifying this parameter.
  3669. //
  3670. // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following
  3671. // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html),
  3672. // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html),
  3673. // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html),
  3674. // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html),
  3675. // AWS::IAM::Role (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html),
  3676. // AWS::IAM::User (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html),
  3677. // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html).
  3678. // If your stack template contains these resources, we recommend that you review
  3679. // all permissions associated with them and edit their permissions if necessary.
  3680. //
  3681. // If you have IAM resources, you can specify either capability. If you have
  3682. // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If
  3683. // you don't specify this parameter, this action returns an InsufficientCapabilities
  3684. // error.
  3685. //
  3686. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  3687. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  3688. Capabilities []*string `type:"list"`
  3689. // Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that
  3690. // AWS CloudFormation associates with the stack. Specify an empty list to remove
  3691. // all notification topics.
  3692. NotificationARNs []*string `type:"list"`
  3693. // A list of Parameter structures that specify input parameters for the stack.
  3694. // For more information, see the Parameter (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html)
  3695. // data type.
  3696. Parameters []*Parameter `type:"list"`
  3697. // The template resource types that you have permissions to work with for this
  3698. // update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.
  3699. //
  3700. // If the list of resource types doesn't include a resource that you're updating,
  3701. // the stack update fails. By default, AWS CloudFormation grants permissions
  3702. // to all resource types. AWS Identity and Access Management (IAM) uses this
  3703. // parameter for AWS CloudFormation-specific condition keys in IAM policies.
  3704. // For more information, see Controlling Access with AWS Identity and Access
  3705. // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html).
  3706. ResourceTypes []*string `type:"list"`
  3707. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  3708. // role that AWS CloudFormation assumes to update the stack. AWS CloudFormation
  3709. // uses the role's credentials to make calls on your behalf. AWS CloudFormation
  3710. // always uses this role for all future operations on the stack. As long as
  3711. // users have permission to operate on the stack, AWS CloudFormation uses this
  3712. // role even if the users don't have permission to pass it. Ensure that the
  3713. // role grants least privilege.
  3714. //
  3715. // If you don't specify a value, AWS CloudFormation uses the role that was previously
  3716. // associated with the stack. If no role is available, AWS CloudFormation uses
  3717. // a temporary session that is generated from your user credentials.
  3718. RoleARN *string `min:"20" type:"string"`
  3719. // The name or unique stack ID of the stack to update.
  3720. //
  3721. // StackName is a required field
  3722. StackName *string `type:"string" required:"true"`
  3723. // Structure containing a new stack policy body. You can specify either the
  3724. // StackPolicyBody or the StackPolicyURL parameter, but not both.
  3725. //
  3726. // You might update the stack policy, for example, in order to protect a new
  3727. // resource that you created during a stack update. If you do not specify a
  3728. // stack policy, the current policy that is associated with the stack is unchanged.
  3729. StackPolicyBody *string `min:"1" type:"string"`
  3730. // Structure containing the temporary overriding stack policy body. You can
  3731. // specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL
  3732. // parameter, but not both.
  3733. //
  3734. // If you want to update protected resources, specify a temporary overriding
  3735. // stack policy during this update. If you do not specify a stack policy, the
  3736. // current policy that is associated with the stack will be used.
  3737. StackPolicyDuringUpdateBody *string `min:"1" type:"string"`
  3738. // Location of a file containing the temporary overriding stack policy. The
  3739. // URL must point to a policy (max size: 16KB) located in an S3 bucket in the
  3740. // same region as the stack. You can specify either the StackPolicyDuringUpdateBody
  3741. // or the StackPolicyDuringUpdateURL parameter, but not both.
  3742. //
  3743. // If you want to update protected resources, specify a temporary overriding
  3744. // stack policy during this update. If you do not specify a stack policy, the
  3745. // current policy that is associated with the stack will be used.
  3746. StackPolicyDuringUpdateURL *string `min:"1" type:"string"`
  3747. // Location of a file containing the updated stack policy. The URL must point
  3748. // to a policy (max size: 16KB) located in an S3 bucket in the same region as
  3749. // the stack. You can specify either the StackPolicyBody or the StackPolicyURL
  3750. // parameter, but not both.
  3751. //
  3752. // You might update the stack policy, for example, in order to protect a new
  3753. // resource that you created during a stack update. If you do not specify a
  3754. // stack policy, the current policy that is associated with the stack is unchanged.
  3755. StackPolicyURL *string `min:"1" type:"string"`
  3756. // Key-value pairs to associate with this stack. AWS CloudFormation also propagates
  3757. // these tags to supported resources in the stack. You can specify a maximum
  3758. // number of 10 tags.
  3759. //
  3760. // If you don't specify this parameter, AWS CloudFormation doesn't modify the
  3761. // stack's tags. If you specify an empty value, AWS CloudFormation removes all
  3762. // associated tags.
  3763. Tags []*Tag `type:"list"`
  3764. // Structure containing the template body with a minimum length of 1 byte and
  3765. // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy
  3766. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  3767. // in the AWS CloudFormation User Guide.)
  3768. //
  3769. // Conditional: You must specify either the TemplateBody or the TemplateURL
  3770. // parameter, but not both.
  3771. TemplateBody *string `min:"1" type:"string"`
  3772. // Location of file containing the template body. The URL must point to a template
  3773. // that is located in an Amazon S3 bucket. For more information, go to Template
  3774. // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  3775. // in the AWS CloudFormation User Guide.
  3776. //
  3777. // Conditional: You must specify either the TemplateBody or the TemplateURL
  3778. // parameter, but not both.
  3779. TemplateURL *string `min:"1" type:"string"`
  3780. // Reuse the existing template that is associated with the stack that you are
  3781. // updating.
  3782. UsePreviousTemplate *bool `type:"boolean"`
  3783. }
  3784. // String returns the string representation
  3785. func (s UpdateStackInput) String() string {
  3786. return awsutil.Prettify(s)
  3787. }
  3788. // GoString returns the string representation
  3789. func (s UpdateStackInput) GoString() string {
  3790. return s.String()
  3791. }
  3792. // Validate inspects the fields of the type to determine if they are valid.
  3793. func (s *UpdateStackInput) Validate() error {
  3794. invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
  3795. if s.RoleARN != nil && len(*s.RoleARN) < 20 {
  3796. invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20))
  3797. }
  3798. if s.StackName == nil {
  3799. invalidParams.Add(request.NewErrParamRequired("StackName"))
  3800. }
  3801. if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 {
  3802. invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1))
  3803. }
  3804. if s.StackPolicyDuringUpdateBody != nil && len(*s.StackPolicyDuringUpdateBody) < 1 {
  3805. invalidParams.Add(request.NewErrParamMinLen("StackPolicyDuringUpdateBody", 1))
  3806. }
  3807. if s.StackPolicyDuringUpdateURL != nil && len(*s.StackPolicyDuringUpdateURL) < 1 {
  3808. invalidParams.Add(request.NewErrParamMinLen("StackPolicyDuringUpdateURL", 1))
  3809. }
  3810. if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 {
  3811. invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1))
  3812. }
  3813. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  3814. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  3815. }
  3816. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  3817. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  3818. }
  3819. if invalidParams.Len() > 0 {
  3820. return invalidParams
  3821. }
  3822. return nil
  3823. }
  3824. // The output for an UpdateStack action.
  3825. type UpdateStackOutput struct {
  3826. _ struct{} `type:"structure"`
  3827. // Unique identifier of the stack.
  3828. StackId *string `type:"string"`
  3829. }
  3830. // String returns the string representation
  3831. func (s UpdateStackOutput) String() string {
  3832. return awsutil.Prettify(s)
  3833. }
  3834. // GoString returns the string representation
  3835. func (s UpdateStackOutput) GoString() string {
  3836. return s.String()
  3837. }
  3838. // The input for ValidateTemplate action.
  3839. type ValidateTemplateInput struct {
  3840. _ struct{} `type:"structure"`
  3841. // Structure containing the template body with a minimum length of 1 byte and
  3842. // a maximum length of 51,200 bytes. For more information, go to Template Anatomy
  3843. // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  3844. // in the AWS CloudFormation User Guide.
  3845. //
  3846. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  3847. // only TemplateBody is used.
  3848. TemplateBody *string `min:"1" type:"string"`
  3849. // Location of file containing the template body. The URL must point to a template
  3850. // (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more
  3851. // information, go to Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)
  3852. // in the AWS CloudFormation User Guide.
  3853. //
  3854. // Conditional: You must pass TemplateURL or TemplateBody. If both are passed,
  3855. // only TemplateBody is used.
  3856. TemplateURL *string `min:"1" type:"string"`
  3857. }
  3858. // String returns the string representation
  3859. func (s ValidateTemplateInput) String() string {
  3860. return awsutil.Prettify(s)
  3861. }
  3862. // GoString returns the string representation
  3863. func (s ValidateTemplateInput) GoString() string {
  3864. return s.String()
  3865. }
  3866. // Validate inspects the fields of the type to determine if they are valid.
  3867. func (s *ValidateTemplateInput) Validate() error {
  3868. invalidParams := request.ErrInvalidParams{Context: "ValidateTemplateInput"}
  3869. if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  3870. invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  3871. }
  3872. if s.TemplateURL != nil && len(*s.TemplateURL) < 1 {
  3873. invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1))
  3874. }
  3875. if invalidParams.Len() > 0 {
  3876. return invalidParams
  3877. }
  3878. return nil
  3879. }
  3880. // The output for ValidateTemplate action.
  3881. type ValidateTemplateOutput struct {
  3882. _ struct{} `type:"structure"`
  3883. // The capabilities found within the template. If your template contains IAM
  3884. // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value
  3885. // for this parameter when you use the CreateStack or UpdateStack actions with
  3886. // your template; otherwise, those actions return an InsufficientCapabilities
  3887. // error.
  3888. //
  3889. // For more information, see Acknowledging IAM Resources in AWS CloudFormation
  3890. // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
  3891. Capabilities []*string `type:"list"`
  3892. // The list of resources that generated the values in the Capabilities response
  3893. // element.
  3894. CapabilitiesReason *string `type:"string"`
  3895. // The description found within the template.
  3896. Description *string `min:"1" type:"string"`
  3897. // A list of TemplateParameter structures.
  3898. Parameters []*TemplateParameter `type:"list"`
  3899. }
  3900. // String returns the string representation
  3901. func (s ValidateTemplateOutput) String() string {
  3902. return awsutil.Prettify(s)
  3903. }
  3904. // GoString returns the string representation
  3905. func (s ValidateTemplateOutput) GoString() string {
  3906. return s.String()
  3907. }
  3908. const (
  3909. // CapabilityCapabilityIam is a Capability enum value
  3910. CapabilityCapabilityIam = "CAPABILITY_IAM"
  3911. // CapabilityCapabilityNamedIam is a Capability enum value
  3912. CapabilityCapabilityNamedIam = "CAPABILITY_NAMED_IAM"
  3913. )
  3914. const (
  3915. // ChangeActionAdd is a ChangeAction enum value
  3916. ChangeActionAdd = "Add"
  3917. // ChangeActionModify is a ChangeAction enum value
  3918. ChangeActionModify = "Modify"
  3919. // ChangeActionRemove is a ChangeAction enum value
  3920. ChangeActionRemove = "Remove"
  3921. )
  3922. const (
  3923. // ChangeSetStatusCreatePending is a ChangeSetStatus enum value
  3924. ChangeSetStatusCreatePending = "CREATE_PENDING"
  3925. // ChangeSetStatusCreateInProgress is a ChangeSetStatus enum value
  3926. ChangeSetStatusCreateInProgress = "CREATE_IN_PROGRESS"
  3927. // ChangeSetStatusCreateComplete is a ChangeSetStatus enum value
  3928. ChangeSetStatusCreateComplete = "CREATE_COMPLETE"
  3929. // ChangeSetStatusDeleteComplete is a ChangeSetStatus enum value
  3930. ChangeSetStatusDeleteComplete = "DELETE_COMPLETE"
  3931. // ChangeSetStatusFailed is a ChangeSetStatus enum value
  3932. ChangeSetStatusFailed = "FAILED"
  3933. )
  3934. const (
  3935. // ChangeSourceResourceReference is a ChangeSource enum value
  3936. ChangeSourceResourceReference = "ResourceReference"
  3937. // ChangeSourceParameterReference is a ChangeSource enum value
  3938. ChangeSourceParameterReference = "ParameterReference"
  3939. // ChangeSourceResourceAttribute is a ChangeSource enum value
  3940. ChangeSourceResourceAttribute = "ResourceAttribute"
  3941. // ChangeSourceDirectModification is a ChangeSource enum value
  3942. ChangeSourceDirectModification = "DirectModification"
  3943. // ChangeSourceAutomatic is a ChangeSource enum value
  3944. ChangeSourceAutomatic = "Automatic"
  3945. )
  3946. const (
  3947. // ChangeTypeResource is a ChangeType enum value
  3948. ChangeTypeResource = "Resource"
  3949. )
  3950. const (
  3951. // EvaluationTypeStatic is a EvaluationType enum value
  3952. EvaluationTypeStatic = "Static"
  3953. // EvaluationTypeDynamic is a EvaluationType enum value
  3954. EvaluationTypeDynamic = "Dynamic"
  3955. )
  3956. const (
  3957. // ExecutionStatusUnavailable is a ExecutionStatus enum value
  3958. ExecutionStatusUnavailable = "UNAVAILABLE"
  3959. // ExecutionStatusAvailable is a ExecutionStatus enum value
  3960. ExecutionStatusAvailable = "AVAILABLE"
  3961. // ExecutionStatusExecuteInProgress is a ExecutionStatus enum value
  3962. ExecutionStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
  3963. // ExecutionStatusExecuteComplete is a ExecutionStatus enum value
  3964. ExecutionStatusExecuteComplete = "EXECUTE_COMPLETE"
  3965. // ExecutionStatusExecuteFailed is a ExecutionStatus enum value
  3966. ExecutionStatusExecuteFailed = "EXECUTE_FAILED"
  3967. // ExecutionStatusObsolete is a ExecutionStatus enum value
  3968. ExecutionStatusObsolete = "OBSOLETE"
  3969. )
  3970. const (
  3971. // OnFailureDoNothing is a OnFailure enum value
  3972. OnFailureDoNothing = "DO_NOTHING"
  3973. // OnFailureRollback is a OnFailure enum value
  3974. OnFailureRollback = "ROLLBACK"
  3975. // OnFailureDelete is a OnFailure enum value
  3976. OnFailureDelete = "DELETE"
  3977. )
  3978. const (
  3979. // ReplacementTrue is a Replacement enum value
  3980. ReplacementTrue = "True"
  3981. // ReplacementFalse is a Replacement enum value
  3982. ReplacementFalse = "False"
  3983. // ReplacementConditional is a Replacement enum value
  3984. ReplacementConditional = "Conditional"
  3985. )
  3986. const (
  3987. // RequiresRecreationNever is a RequiresRecreation enum value
  3988. RequiresRecreationNever = "Never"
  3989. // RequiresRecreationConditionally is a RequiresRecreation enum value
  3990. RequiresRecreationConditionally = "Conditionally"
  3991. // RequiresRecreationAlways is a RequiresRecreation enum value
  3992. RequiresRecreationAlways = "Always"
  3993. )
  3994. const (
  3995. // ResourceAttributeProperties is a ResourceAttribute enum value
  3996. ResourceAttributeProperties = "Properties"
  3997. // ResourceAttributeMetadata is a ResourceAttribute enum value
  3998. ResourceAttributeMetadata = "Metadata"
  3999. // ResourceAttributeCreationPolicy is a ResourceAttribute enum value
  4000. ResourceAttributeCreationPolicy = "CreationPolicy"
  4001. // ResourceAttributeUpdatePolicy is a ResourceAttribute enum value
  4002. ResourceAttributeUpdatePolicy = "UpdatePolicy"
  4003. // ResourceAttributeDeletionPolicy is a ResourceAttribute enum value
  4004. ResourceAttributeDeletionPolicy = "DeletionPolicy"
  4005. // ResourceAttributeTags is a ResourceAttribute enum value
  4006. ResourceAttributeTags = "Tags"
  4007. )
  4008. const (
  4009. // ResourceSignalStatusSuccess is a ResourceSignalStatus enum value
  4010. ResourceSignalStatusSuccess = "SUCCESS"
  4011. // ResourceSignalStatusFailure is a ResourceSignalStatus enum value
  4012. ResourceSignalStatusFailure = "FAILURE"
  4013. )
  4014. const (
  4015. // ResourceStatusCreateInProgress is a ResourceStatus enum value
  4016. ResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
  4017. // ResourceStatusCreateFailed is a ResourceStatus enum value
  4018. ResourceStatusCreateFailed = "CREATE_FAILED"
  4019. // ResourceStatusCreateComplete is a ResourceStatus enum value
  4020. ResourceStatusCreateComplete = "CREATE_COMPLETE"
  4021. // ResourceStatusDeleteInProgress is a ResourceStatus enum value
  4022. ResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
  4023. // ResourceStatusDeleteFailed is a ResourceStatus enum value
  4024. ResourceStatusDeleteFailed = "DELETE_FAILED"
  4025. // ResourceStatusDeleteComplete is a ResourceStatus enum value
  4026. ResourceStatusDeleteComplete = "DELETE_COMPLETE"
  4027. // ResourceStatusDeleteSkipped is a ResourceStatus enum value
  4028. ResourceStatusDeleteSkipped = "DELETE_SKIPPED"
  4029. // ResourceStatusUpdateInProgress is a ResourceStatus enum value
  4030. ResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
  4031. // ResourceStatusUpdateFailed is a ResourceStatus enum value
  4032. ResourceStatusUpdateFailed = "UPDATE_FAILED"
  4033. // ResourceStatusUpdateComplete is a ResourceStatus enum value
  4034. ResourceStatusUpdateComplete = "UPDATE_COMPLETE"
  4035. )
  4036. const (
  4037. // StackStatusCreateInProgress is a StackStatus enum value
  4038. StackStatusCreateInProgress = "CREATE_IN_PROGRESS"
  4039. // StackStatusCreateFailed is a StackStatus enum value
  4040. StackStatusCreateFailed = "CREATE_FAILED"
  4041. // StackStatusCreateComplete is a StackStatus enum value
  4042. StackStatusCreateComplete = "CREATE_COMPLETE"
  4043. // StackStatusRollbackInProgress is a StackStatus enum value
  4044. StackStatusRollbackInProgress = "ROLLBACK_IN_PROGRESS"
  4045. // StackStatusRollbackFailed is a StackStatus enum value
  4046. StackStatusRollbackFailed = "ROLLBACK_FAILED"
  4047. // StackStatusRollbackComplete is a StackStatus enum value
  4048. StackStatusRollbackComplete = "ROLLBACK_COMPLETE"
  4049. // StackStatusDeleteInProgress is a StackStatus enum value
  4050. StackStatusDeleteInProgress = "DELETE_IN_PROGRESS"
  4051. // StackStatusDeleteFailed is a StackStatus enum value
  4052. StackStatusDeleteFailed = "DELETE_FAILED"
  4053. // StackStatusDeleteComplete is a StackStatus enum value
  4054. StackStatusDeleteComplete = "DELETE_COMPLETE"
  4055. // StackStatusUpdateInProgress is a StackStatus enum value
  4056. StackStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
  4057. // StackStatusUpdateCompleteCleanupInProgress is a StackStatus enum value
  4058. StackStatusUpdateCompleteCleanupInProgress = "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
  4059. // StackStatusUpdateComplete is a StackStatus enum value
  4060. StackStatusUpdateComplete = "UPDATE_COMPLETE"
  4061. // StackStatusUpdateRollbackInProgress is a StackStatus enum value
  4062. StackStatusUpdateRollbackInProgress = "UPDATE_ROLLBACK_IN_PROGRESS"
  4063. // StackStatusUpdateRollbackFailed is a StackStatus enum value
  4064. StackStatusUpdateRollbackFailed = "UPDATE_ROLLBACK_FAILED"
  4065. // StackStatusUpdateRollbackCompleteCleanupInProgress is a StackStatus enum value
  4066. StackStatusUpdateRollbackCompleteCleanupInProgress = "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
  4067. // StackStatusUpdateRollbackComplete is a StackStatus enum value
  4068. StackStatusUpdateRollbackComplete = "UPDATE_ROLLBACK_COMPLETE"
  4069. )