api.go 147 KB

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