api.go 174 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package autoscaling provides a client for Auto Scaling.
  3. package autoscaling
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAttachInstances = "AttachInstances"
  10. // AttachInstancesRequest generates a request for the AttachInstances operation.
  11. func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req *request.Request, output *AttachInstancesOutput) {
  12. op := &request.Operation{
  13. Name: opAttachInstances,
  14. HTTPMethod: "POST",
  15. HTTPPath: "/",
  16. }
  17. if input == nil {
  18. input = &AttachInstancesInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &AttachInstancesOutput{}
  22. req.Data = output
  23. return
  24. }
  25. // Attaches one or more EC2 instances to the specified Auto Scaling group.
  26. //
  27. // For more information, see Attach EC2 Instances to Your Auto Scaling Group
  28. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-instance-asg.html)
  29. // in the Auto Scaling Developer Guide.
  30. func (c *AutoScaling) AttachInstances(input *AttachInstancesInput) (*AttachInstancesOutput, error) {
  31. req, out := c.AttachInstancesRequest(input)
  32. err := req.Send()
  33. return out, err
  34. }
  35. const opAttachLoadBalancers = "AttachLoadBalancers"
  36. // AttachLoadBalancersRequest generates a request for the AttachLoadBalancers operation.
  37. func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput) (req *request.Request, output *AttachLoadBalancersOutput) {
  38. op := &request.Operation{
  39. Name: opAttachLoadBalancers,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AttachLoadBalancersInput{}
  45. }
  46. req = c.newRequest(op, input, output)
  47. output = &AttachLoadBalancersOutput{}
  48. req.Data = output
  49. return
  50. }
  51. // Attaches one or more load balancers to the specified Auto Scaling group.
  52. //
  53. // To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers.
  54. // To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.
  55. //
  56. // For more information, see Attach a Load Balancer to Your Auto Scaling Group
  57. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-load-balancer-asg.html)
  58. // in the Auto Scaling Developer Guide.
  59. func (c *AutoScaling) AttachLoadBalancers(input *AttachLoadBalancersInput) (*AttachLoadBalancersOutput, error) {
  60. req, out := c.AttachLoadBalancersRequest(input)
  61. err := req.Send()
  62. return out, err
  63. }
  64. const opCompleteLifecycleAction = "CompleteLifecycleAction"
  65. // CompleteLifecycleActionRequest generates a request for the CompleteLifecycleAction operation.
  66. func (c *AutoScaling) CompleteLifecycleActionRequest(input *CompleteLifecycleActionInput) (req *request.Request, output *CompleteLifecycleActionOutput) {
  67. op := &request.Operation{
  68. Name: opCompleteLifecycleAction,
  69. HTTPMethod: "POST",
  70. HTTPPath: "/",
  71. }
  72. if input == nil {
  73. input = &CompleteLifecycleActionInput{}
  74. }
  75. req = c.newRequest(op, input, output)
  76. output = &CompleteLifecycleActionOutput{}
  77. req.Data = output
  78. return
  79. }
  80. // Completes the lifecycle action for the associated token initiated under the
  81. // given lifecycle hook with the specified result.
  82. //
  83. // This operation is a part of the basic sequence for adding a lifecycle hook
  84. // to an Auto Scaling group:
  85. //
  86. // Create a notification target. A target can be either an Amazon SQS queue
  87. // or an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling
  88. // to publish lifecycle notifications to the designated SQS queue or SNS topic.
  89. // Create the lifecycle hook. You can create a hook that acts when instances
  90. // launch or when instances terminate. If necessary, record the lifecycle action
  91. // heartbeat to keep the instance in a pending state. Complete the lifecycle
  92. // action. For more information, see Auto Scaling Pending State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html)
  93. // and Auto Scaling Terminating State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html)
  94. // in the Auto Scaling Developer Guide.
  95. func (c *AutoScaling) CompleteLifecycleAction(input *CompleteLifecycleActionInput) (*CompleteLifecycleActionOutput, error) {
  96. req, out := c.CompleteLifecycleActionRequest(input)
  97. err := req.Send()
  98. return out, err
  99. }
  100. const opCreateAutoScalingGroup = "CreateAutoScalingGroup"
  101. // CreateAutoScalingGroupRequest generates a request for the CreateAutoScalingGroup operation.
  102. func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGroupInput) (req *request.Request, output *CreateAutoScalingGroupOutput) {
  103. op := &request.Operation{
  104. Name: opCreateAutoScalingGroup,
  105. HTTPMethod: "POST",
  106. HTTPPath: "/",
  107. }
  108. if input == nil {
  109. input = &CreateAutoScalingGroupInput{}
  110. }
  111. req = c.newRequest(op, input, output)
  112. output = &CreateAutoScalingGroupOutput{}
  113. req.Data = output
  114. return
  115. }
  116. // Creates an Auto Scaling group with the specified name and attributes.
  117. //
  118. // If you exceed your maximum limit of Auto Scaling groups, which by default
  119. // is 20 per region, the call fails. For information about viewing and updating
  120. // this limit, see DescribeAccountLimits.
  121. //
  122. // For more information, see Auto Scaling Groups (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroup.html)
  123. // in the Auto Scaling Developer Guide.
  124. func (c *AutoScaling) CreateAutoScalingGroup(input *CreateAutoScalingGroupInput) (*CreateAutoScalingGroupOutput, error) {
  125. req, out := c.CreateAutoScalingGroupRequest(input)
  126. err := req.Send()
  127. return out, err
  128. }
  129. const opCreateLaunchConfiguration = "CreateLaunchConfiguration"
  130. // CreateLaunchConfigurationRequest generates a request for the CreateLaunchConfiguration operation.
  131. func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfigurationInput) (req *request.Request, output *CreateLaunchConfigurationOutput) {
  132. op := &request.Operation{
  133. Name: opCreateLaunchConfiguration,
  134. HTTPMethod: "POST",
  135. HTTPPath: "/",
  136. }
  137. if input == nil {
  138. input = &CreateLaunchConfigurationInput{}
  139. }
  140. req = c.newRequest(op, input, output)
  141. output = &CreateLaunchConfigurationOutput{}
  142. req.Data = output
  143. return
  144. }
  145. // Creates a launch configuration.
  146. //
  147. // If you exceed your maximum limit of launch configurations, which by default
  148. // is 100 per region, the call fails. For information about viewing and updating
  149. // this limit, see DescribeAccountLimits.
  150. //
  151. // For more information, see Launch Configurations (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/LaunchConfiguration.html)
  152. // in the Auto Scaling Developer Guide.
  153. func (c *AutoScaling) CreateLaunchConfiguration(input *CreateLaunchConfigurationInput) (*CreateLaunchConfigurationOutput, error) {
  154. req, out := c.CreateLaunchConfigurationRequest(input)
  155. err := req.Send()
  156. return out, err
  157. }
  158. const opCreateOrUpdateTags = "CreateOrUpdateTags"
  159. // CreateOrUpdateTagsRequest generates a request for the CreateOrUpdateTags operation.
  160. func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) (req *request.Request, output *CreateOrUpdateTagsOutput) {
  161. op := &request.Operation{
  162. Name: opCreateOrUpdateTags,
  163. HTTPMethod: "POST",
  164. HTTPPath: "/",
  165. }
  166. if input == nil {
  167. input = &CreateOrUpdateTagsInput{}
  168. }
  169. req = c.newRequest(op, input, output)
  170. output = &CreateOrUpdateTagsOutput{}
  171. req.Data = output
  172. return
  173. }
  174. // Creates or updates tags for the specified Auto Scaling group.
  175. //
  176. // A tag is defined by its resource ID, resource type, key, value, and propagate
  177. // flag. The value and the propagate flag are optional parameters. The only
  178. // supported resource type is auto-scaling-group, and the resource ID must be
  179. // the name of the group. The PropagateAtLaunch flag determines whether the
  180. // tag is added to instances launched in the group. Valid values are true or
  181. // false.
  182. //
  183. // When you specify a tag with a key that already exists, the operation overwrites
  184. // the previous tag definition, and you do not get an error message.
  185. //
  186. // For more information, see Tagging Auto Scaling Groups and Instances (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html)
  187. // in the Auto Scaling Developer Guide.
  188. func (c *AutoScaling) CreateOrUpdateTags(input *CreateOrUpdateTagsInput) (*CreateOrUpdateTagsOutput, error) {
  189. req, out := c.CreateOrUpdateTagsRequest(input)
  190. err := req.Send()
  191. return out, err
  192. }
  193. const opDeleteAutoScalingGroup = "DeleteAutoScalingGroup"
  194. // DeleteAutoScalingGroupRequest generates a request for the DeleteAutoScalingGroup operation.
  195. func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGroupInput) (req *request.Request, output *DeleteAutoScalingGroupOutput) {
  196. op := &request.Operation{
  197. Name: opDeleteAutoScalingGroup,
  198. HTTPMethod: "POST",
  199. HTTPPath: "/",
  200. }
  201. if input == nil {
  202. input = &DeleteAutoScalingGroupInput{}
  203. }
  204. req = c.newRequest(op, input, output)
  205. output = &DeleteAutoScalingGroupOutput{}
  206. req.Data = output
  207. return
  208. }
  209. // Deletes the specified Auto Scaling group.
  210. //
  211. // The group must have no instances and no scaling activities in progress.
  212. //
  213. // To remove all instances before calling DeleteAutoScalingGroup, call UpdateAutoScalingGroup
  214. // to set the minimum and maximum size of the Auto Scaling group to zero.
  215. func (c *AutoScaling) DeleteAutoScalingGroup(input *DeleteAutoScalingGroupInput) (*DeleteAutoScalingGroupOutput, error) {
  216. req, out := c.DeleteAutoScalingGroupRequest(input)
  217. err := req.Send()
  218. return out, err
  219. }
  220. const opDeleteLaunchConfiguration = "DeleteLaunchConfiguration"
  221. // DeleteLaunchConfigurationRequest generates a request for the DeleteLaunchConfiguration operation.
  222. func (c *AutoScaling) DeleteLaunchConfigurationRequest(input *DeleteLaunchConfigurationInput) (req *request.Request, output *DeleteLaunchConfigurationOutput) {
  223. op := &request.Operation{
  224. Name: opDeleteLaunchConfiguration,
  225. HTTPMethod: "POST",
  226. HTTPPath: "/",
  227. }
  228. if input == nil {
  229. input = &DeleteLaunchConfigurationInput{}
  230. }
  231. req = c.newRequest(op, input, output)
  232. output = &DeleteLaunchConfigurationOutput{}
  233. req.Data = output
  234. return
  235. }
  236. // Deletes the specified launch configuration.
  237. //
  238. // The launch configuration must not be attached to an Auto Scaling group.
  239. // When this call completes, the launch configuration is no longer available
  240. // for use.
  241. func (c *AutoScaling) DeleteLaunchConfiguration(input *DeleteLaunchConfigurationInput) (*DeleteLaunchConfigurationOutput, error) {
  242. req, out := c.DeleteLaunchConfigurationRequest(input)
  243. err := req.Send()
  244. return out, err
  245. }
  246. const opDeleteLifecycleHook = "DeleteLifecycleHook"
  247. // DeleteLifecycleHookRequest generates a request for the DeleteLifecycleHook operation.
  248. func (c *AutoScaling) DeleteLifecycleHookRequest(input *DeleteLifecycleHookInput) (req *request.Request, output *DeleteLifecycleHookOutput) {
  249. op := &request.Operation{
  250. Name: opDeleteLifecycleHook,
  251. HTTPMethod: "POST",
  252. HTTPPath: "/",
  253. }
  254. if input == nil {
  255. input = &DeleteLifecycleHookInput{}
  256. }
  257. req = c.newRequest(op, input, output)
  258. output = &DeleteLifecycleHookOutput{}
  259. req.Data = output
  260. return
  261. }
  262. // Deletes the specified lifecycle hook.
  263. //
  264. // If there are any outstanding lifecycle actions, they are completed first
  265. // (ABANDON for launching instances, CONTINUE for terminating instances).
  266. func (c *AutoScaling) DeleteLifecycleHook(input *DeleteLifecycleHookInput) (*DeleteLifecycleHookOutput, error) {
  267. req, out := c.DeleteLifecycleHookRequest(input)
  268. err := req.Send()
  269. return out, err
  270. }
  271. const opDeleteNotificationConfiguration = "DeleteNotificationConfiguration"
  272. // DeleteNotificationConfigurationRequest generates a request for the DeleteNotificationConfiguration operation.
  273. func (c *AutoScaling) DeleteNotificationConfigurationRequest(input *DeleteNotificationConfigurationInput) (req *request.Request, output *DeleteNotificationConfigurationOutput) {
  274. op := &request.Operation{
  275. Name: opDeleteNotificationConfiguration,
  276. HTTPMethod: "POST",
  277. HTTPPath: "/",
  278. }
  279. if input == nil {
  280. input = &DeleteNotificationConfigurationInput{}
  281. }
  282. req = c.newRequest(op, input, output)
  283. output = &DeleteNotificationConfigurationOutput{}
  284. req.Data = output
  285. return
  286. }
  287. // Deletes the specified notification.
  288. func (c *AutoScaling) DeleteNotificationConfiguration(input *DeleteNotificationConfigurationInput) (*DeleteNotificationConfigurationOutput, error) {
  289. req, out := c.DeleteNotificationConfigurationRequest(input)
  290. err := req.Send()
  291. return out, err
  292. }
  293. const opDeletePolicy = "DeletePolicy"
  294. // DeletePolicyRequest generates a request for the DeletePolicy operation.
  295. func (c *AutoScaling) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
  296. op := &request.Operation{
  297. Name: opDeletePolicy,
  298. HTTPMethod: "POST",
  299. HTTPPath: "/",
  300. }
  301. if input == nil {
  302. input = &DeletePolicyInput{}
  303. }
  304. req = c.newRequest(op, input, output)
  305. output = &DeletePolicyOutput{}
  306. req.Data = output
  307. return
  308. }
  309. // Deletes the specified Auto Scaling policy.
  310. func (c *AutoScaling) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
  311. req, out := c.DeletePolicyRequest(input)
  312. err := req.Send()
  313. return out, err
  314. }
  315. const opDeleteScheduledAction = "DeleteScheduledAction"
  316. // DeleteScheduledActionRequest generates a request for the DeleteScheduledAction operation.
  317. func (c *AutoScaling) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) {
  318. op := &request.Operation{
  319. Name: opDeleteScheduledAction,
  320. HTTPMethod: "POST",
  321. HTTPPath: "/",
  322. }
  323. if input == nil {
  324. input = &DeleteScheduledActionInput{}
  325. }
  326. req = c.newRequest(op, input, output)
  327. output = &DeleteScheduledActionOutput{}
  328. req.Data = output
  329. return
  330. }
  331. // Deletes the specified scheduled action.
  332. func (c *AutoScaling) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) {
  333. req, out := c.DeleteScheduledActionRequest(input)
  334. err := req.Send()
  335. return out, err
  336. }
  337. const opDeleteTags = "DeleteTags"
  338. // DeleteTagsRequest generates a request for the DeleteTags operation.
  339. func (c *AutoScaling) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  340. op := &request.Operation{
  341. Name: opDeleteTags,
  342. HTTPMethod: "POST",
  343. HTTPPath: "/",
  344. }
  345. if input == nil {
  346. input = &DeleteTagsInput{}
  347. }
  348. req = c.newRequest(op, input, output)
  349. output = &DeleteTagsOutput{}
  350. req.Data = output
  351. return
  352. }
  353. // Deletes the specified tags.
  354. func (c *AutoScaling) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  355. req, out := c.DeleteTagsRequest(input)
  356. err := req.Send()
  357. return out, err
  358. }
  359. const opDescribeAccountLimits = "DescribeAccountLimits"
  360. // DescribeAccountLimitsRequest generates a request for the DescribeAccountLimits operation.
  361. func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) {
  362. op := &request.Operation{
  363. Name: opDescribeAccountLimits,
  364. HTTPMethod: "POST",
  365. HTTPPath: "/",
  366. }
  367. if input == nil {
  368. input = &DescribeAccountLimitsInput{}
  369. }
  370. req = c.newRequest(op, input, output)
  371. output = &DescribeAccountLimitsOutput{}
  372. req.Data = output
  373. return
  374. }
  375. // Describes the current Auto Scaling resource limits for your AWS account.
  376. //
  377. // For information about requesting an increase in these limits, see AWS Service
  378. // Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)
  379. // in the Amazon Web Services General Reference.
  380. func (c *AutoScaling) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) {
  381. req, out := c.DescribeAccountLimitsRequest(input)
  382. err := req.Send()
  383. return out, err
  384. }
  385. const opDescribeAdjustmentTypes = "DescribeAdjustmentTypes"
  386. // DescribeAdjustmentTypesRequest generates a request for the DescribeAdjustmentTypes operation.
  387. func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTypesInput) (req *request.Request, output *DescribeAdjustmentTypesOutput) {
  388. op := &request.Operation{
  389. Name: opDescribeAdjustmentTypes,
  390. HTTPMethod: "POST",
  391. HTTPPath: "/",
  392. }
  393. if input == nil {
  394. input = &DescribeAdjustmentTypesInput{}
  395. }
  396. req = c.newRequest(op, input, output)
  397. output = &DescribeAdjustmentTypesOutput{}
  398. req.Data = output
  399. return
  400. }
  401. // Describes the policy adjustment types for use with PutScalingPolicy.
  402. func (c *AutoScaling) DescribeAdjustmentTypes(input *DescribeAdjustmentTypesInput) (*DescribeAdjustmentTypesOutput, error) {
  403. req, out := c.DescribeAdjustmentTypesRequest(input)
  404. err := req.Send()
  405. return out, err
  406. }
  407. const opDescribeAutoScalingGroups = "DescribeAutoScalingGroups"
  408. // DescribeAutoScalingGroupsRequest generates a request for the DescribeAutoScalingGroups operation.
  409. func (c *AutoScaling) DescribeAutoScalingGroupsRequest(input *DescribeAutoScalingGroupsInput) (req *request.Request, output *DescribeAutoScalingGroupsOutput) {
  410. op := &request.Operation{
  411. Name: opDescribeAutoScalingGroups,
  412. HTTPMethod: "POST",
  413. HTTPPath: "/",
  414. Paginator: &request.Paginator{
  415. InputTokens: []string{"NextToken"},
  416. OutputTokens: []string{"NextToken"},
  417. LimitToken: "MaxRecords",
  418. TruncationToken: "",
  419. },
  420. }
  421. if input == nil {
  422. input = &DescribeAutoScalingGroupsInput{}
  423. }
  424. req = c.newRequest(op, input, output)
  425. output = &DescribeAutoScalingGroupsOutput{}
  426. req.Data = output
  427. return
  428. }
  429. // Describes one or more Auto Scaling groups. If a list of names is not provided,
  430. // the call describes all Auto Scaling groups.
  431. func (c *AutoScaling) DescribeAutoScalingGroups(input *DescribeAutoScalingGroupsInput) (*DescribeAutoScalingGroupsOutput, error) {
  432. req, out := c.DescribeAutoScalingGroupsRequest(input)
  433. err := req.Send()
  434. return out, err
  435. }
  436. func (c *AutoScaling) DescribeAutoScalingGroupsPages(input *DescribeAutoScalingGroupsInput, fn func(p *DescribeAutoScalingGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  437. page, _ := c.DescribeAutoScalingGroupsRequest(input)
  438. return page.EachPage(func(p interface{}, lastPage bool) bool {
  439. return fn(p.(*DescribeAutoScalingGroupsOutput), lastPage)
  440. })
  441. }
  442. const opDescribeAutoScalingInstances = "DescribeAutoScalingInstances"
  443. // DescribeAutoScalingInstancesRequest generates a request for the DescribeAutoScalingInstances operation.
  444. func (c *AutoScaling) DescribeAutoScalingInstancesRequest(input *DescribeAutoScalingInstancesInput) (req *request.Request, output *DescribeAutoScalingInstancesOutput) {
  445. op := &request.Operation{
  446. Name: opDescribeAutoScalingInstances,
  447. HTTPMethod: "POST",
  448. HTTPPath: "/",
  449. Paginator: &request.Paginator{
  450. InputTokens: []string{"NextToken"},
  451. OutputTokens: []string{"NextToken"},
  452. LimitToken: "MaxRecords",
  453. TruncationToken: "",
  454. },
  455. }
  456. if input == nil {
  457. input = &DescribeAutoScalingInstancesInput{}
  458. }
  459. req = c.newRequest(op, input, output)
  460. output = &DescribeAutoScalingInstancesOutput{}
  461. req.Data = output
  462. return
  463. }
  464. // Describes one or more Auto Scaling instances. If a list is not provided,
  465. // the call describes all instances.
  466. func (c *AutoScaling) DescribeAutoScalingInstances(input *DescribeAutoScalingInstancesInput) (*DescribeAutoScalingInstancesOutput, error) {
  467. req, out := c.DescribeAutoScalingInstancesRequest(input)
  468. err := req.Send()
  469. return out, err
  470. }
  471. func (c *AutoScaling) DescribeAutoScalingInstancesPages(input *DescribeAutoScalingInstancesInput, fn func(p *DescribeAutoScalingInstancesOutput, lastPage bool) (shouldContinue bool)) error {
  472. page, _ := c.DescribeAutoScalingInstancesRequest(input)
  473. return page.EachPage(func(p interface{}, lastPage bool) bool {
  474. return fn(p.(*DescribeAutoScalingInstancesOutput), lastPage)
  475. })
  476. }
  477. const opDescribeAutoScalingNotificationTypes = "DescribeAutoScalingNotificationTypes"
  478. // DescribeAutoScalingNotificationTypesRequest generates a request for the DescribeAutoScalingNotificationTypes operation.
  479. func (c *AutoScaling) DescribeAutoScalingNotificationTypesRequest(input *DescribeAutoScalingNotificationTypesInput) (req *request.Request, output *DescribeAutoScalingNotificationTypesOutput) {
  480. op := &request.Operation{
  481. Name: opDescribeAutoScalingNotificationTypes,
  482. HTTPMethod: "POST",
  483. HTTPPath: "/",
  484. }
  485. if input == nil {
  486. input = &DescribeAutoScalingNotificationTypesInput{}
  487. }
  488. req = c.newRequest(op, input, output)
  489. output = &DescribeAutoScalingNotificationTypesOutput{}
  490. req.Data = output
  491. return
  492. }
  493. // Describes the notification types that are supported by Auto Scaling.
  494. func (c *AutoScaling) DescribeAutoScalingNotificationTypes(input *DescribeAutoScalingNotificationTypesInput) (*DescribeAutoScalingNotificationTypesOutput, error) {
  495. req, out := c.DescribeAutoScalingNotificationTypesRequest(input)
  496. err := req.Send()
  497. return out, err
  498. }
  499. const opDescribeLaunchConfigurations = "DescribeLaunchConfigurations"
  500. // DescribeLaunchConfigurationsRequest generates a request for the DescribeLaunchConfigurations operation.
  501. func (c *AutoScaling) DescribeLaunchConfigurationsRequest(input *DescribeLaunchConfigurationsInput) (req *request.Request, output *DescribeLaunchConfigurationsOutput) {
  502. op := &request.Operation{
  503. Name: opDescribeLaunchConfigurations,
  504. HTTPMethod: "POST",
  505. HTTPPath: "/",
  506. Paginator: &request.Paginator{
  507. InputTokens: []string{"NextToken"},
  508. OutputTokens: []string{"NextToken"},
  509. LimitToken: "MaxRecords",
  510. TruncationToken: "",
  511. },
  512. }
  513. if input == nil {
  514. input = &DescribeLaunchConfigurationsInput{}
  515. }
  516. req = c.newRequest(op, input, output)
  517. output = &DescribeLaunchConfigurationsOutput{}
  518. req.Data = output
  519. return
  520. }
  521. // Describes one or more launch configurations. If you omit the list of names,
  522. // then the call describes all launch configurations.
  523. func (c *AutoScaling) DescribeLaunchConfigurations(input *DescribeLaunchConfigurationsInput) (*DescribeLaunchConfigurationsOutput, error) {
  524. req, out := c.DescribeLaunchConfigurationsRequest(input)
  525. err := req.Send()
  526. return out, err
  527. }
  528. func (c *AutoScaling) DescribeLaunchConfigurationsPages(input *DescribeLaunchConfigurationsInput, fn func(p *DescribeLaunchConfigurationsOutput, lastPage bool) (shouldContinue bool)) error {
  529. page, _ := c.DescribeLaunchConfigurationsRequest(input)
  530. return page.EachPage(func(p interface{}, lastPage bool) bool {
  531. return fn(p.(*DescribeLaunchConfigurationsOutput), lastPage)
  532. })
  533. }
  534. const opDescribeLifecycleHookTypes = "DescribeLifecycleHookTypes"
  535. // DescribeLifecycleHookTypesRequest generates a request for the DescribeLifecycleHookTypes operation.
  536. func (c *AutoScaling) DescribeLifecycleHookTypesRequest(input *DescribeLifecycleHookTypesInput) (req *request.Request, output *DescribeLifecycleHookTypesOutput) {
  537. op := &request.Operation{
  538. Name: opDescribeLifecycleHookTypes,
  539. HTTPMethod: "POST",
  540. HTTPPath: "/",
  541. }
  542. if input == nil {
  543. input = &DescribeLifecycleHookTypesInput{}
  544. }
  545. req = c.newRequest(op, input, output)
  546. output = &DescribeLifecycleHookTypesOutput{}
  547. req.Data = output
  548. return
  549. }
  550. // Describes the available types of lifecycle hooks.
  551. func (c *AutoScaling) DescribeLifecycleHookTypes(input *DescribeLifecycleHookTypesInput) (*DescribeLifecycleHookTypesOutput, error) {
  552. req, out := c.DescribeLifecycleHookTypesRequest(input)
  553. err := req.Send()
  554. return out, err
  555. }
  556. const opDescribeLifecycleHooks = "DescribeLifecycleHooks"
  557. // DescribeLifecycleHooksRequest generates a request for the DescribeLifecycleHooks operation.
  558. func (c *AutoScaling) DescribeLifecycleHooksRequest(input *DescribeLifecycleHooksInput) (req *request.Request, output *DescribeLifecycleHooksOutput) {
  559. op := &request.Operation{
  560. Name: opDescribeLifecycleHooks,
  561. HTTPMethod: "POST",
  562. HTTPPath: "/",
  563. }
  564. if input == nil {
  565. input = &DescribeLifecycleHooksInput{}
  566. }
  567. req = c.newRequest(op, input, output)
  568. output = &DescribeLifecycleHooksOutput{}
  569. req.Data = output
  570. return
  571. }
  572. // Describes the lifecycle hooks for the specified Auto Scaling group.
  573. func (c *AutoScaling) DescribeLifecycleHooks(input *DescribeLifecycleHooksInput) (*DescribeLifecycleHooksOutput, error) {
  574. req, out := c.DescribeLifecycleHooksRequest(input)
  575. err := req.Send()
  576. return out, err
  577. }
  578. const opDescribeLoadBalancers = "DescribeLoadBalancers"
  579. // DescribeLoadBalancersRequest generates a request for the DescribeLoadBalancers operation.
  580. func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) {
  581. op := &request.Operation{
  582. Name: opDescribeLoadBalancers,
  583. HTTPMethod: "POST",
  584. HTTPPath: "/",
  585. }
  586. if input == nil {
  587. input = &DescribeLoadBalancersInput{}
  588. }
  589. req = c.newRequest(op, input, output)
  590. output = &DescribeLoadBalancersOutput{}
  591. req.Data = output
  592. return
  593. }
  594. // Describes the load balancers for the specified Auto Scaling group.
  595. func (c *AutoScaling) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) {
  596. req, out := c.DescribeLoadBalancersRequest(input)
  597. err := req.Send()
  598. return out, err
  599. }
  600. const opDescribeMetricCollectionTypes = "DescribeMetricCollectionTypes"
  601. // DescribeMetricCollectionTypesRequest generates a request for the DescribeMetricCollectionTypes operation.
  602. func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetricCollectionTypesInput) (req *request.Request, output *DescribeMetricCollectionTypesOutput) {
  603. op := &request.Operation{
  604. Name: opDescribeMetricCollectionTypes,
  605. HTTPMethod: "POST",
  606. HTTPPath: "/",
  607. }
  608. if input == nil {
  609. input = &DescribeMetricCollectionTypesInput{}
  610. }
  611. req = c.newRequest(op, input, output)
  612. output = &DescribeMetricCollectionTypesOutput{}
  613. req.Data = output
  614. return
  615. }
  616. // Describes the available CloudWatch metrics for Auto Scaling.
  617. //
  618. // Note that the GroupStandbyInstances metric is not returned by default. You
  619. // must explicitly request this metric when calling EnableMetricsCollection.
  620. func (c *AutoScaling) DescribeMetricCollectionTypes(input *DescribeMetricCollectionTypesInput) (*DescribeMetricCollectionTypesOutput, error) {
  621. req, out := c.DescribeMetricCollectionTypesRequest(input)
  622. err := req.Send()
  623. return out, err
  624. }
  625. const opDescribeNotificationConfigurations = "DescribeNotificationConfigurations"
  626. // DescribeNotificationConfigurationsRequest generates a request for the DescribeNotificationConfigurations operation.
  627. func (c *AutoScaling) DescribeNotificationConfigurationsRequest(input *DescribeNotificationConfigurationsInput) (req *request.Request, output *DescribeNotificationConfigurationsOutput) {
  628. op := &request.Operation{
  629. Name: opDescribeNotificationConfigurations,
  630. HTTPMethod: "POST",
  631. HTTPPath: "/",
  632. Paginator: &request.Paginator{
  633. InputTokens: []string{"NextToken"},
  634. OutputTokens: []string{"NextToken"},
  635. LimitToken: "MaxRecords",
  636. TruncationToken: "",
  637. },
  638. }
  639. if input == nil {
  640. input = &DescribeNotificationConfigurationsInput{}
  641. }
  642. req = c.newRequest(op, input, output)
  643. output = &DescribeNotificationConfigurationsOutput{}
  644. req.Data = output
  645. return
  646. }
  647. // Describes the notification actions associated with the specified Auto Scaling
  648. // group.
  649. func (c *AutoScaling) DescribeNotificationConfigurations(input *DescribeNotificationConfigurationsInput) (*DescribeNotificationConfigurationsOutput, error) {
  650. req, out := c.DescribeNotificationConfigurationsRequest(input)
  651. err := req.Send()
  652. return out, err
  653. }
  654. func (c *AutoScaling) DescribeNotificationConfigurationsPages(input *DescribeNotificationConfigurationsInput, fn func(p *DescribeNotificationConfigurationsOutput, lastPage bool) (shouldContinue bool)) error {
  655. page, _ := c.DescribeNotificationConfigurationsRequest(input)
  656. return page.EachPage(func(p interface{}, lastPage bool) bool {
  657. return fn(p.(*DescribeNotificationConfigurationsOutput), lastPage)
  658. })
  659. }
  660. const opDescribePolicies = "DescribePolicies"
  661. // DescribePoliciesRequest generates a request for the DescribePolicies operation.
  662. func (c *AutoScaling) DescribePoliciesRequest(input *DescribePoliciesInput) (req *request.Request, output *DescribePoliciesOutput) {
  663. op := &request.Operation{
  664. Name: opDescribePolicies,
  665. HTTPMethod: "POST",
  666. HTTPPath: "/",
  667. Paginator: &request.Paginator{
  668. InputTokens: []string{"NextToken"},
  669. OutputTokens: []string{"NextToken"},
  670. LimitToken: "MaxRecords",
  671. TruncationToken: "",
  672. },
  673. }
  674. if input == nil {
  675. input = &DescribePoliciesInput{}
  676. }
  677. req = c.newRequest(op, input, output)
  678. output = &DescribePoliciesOutput{}
  679. req.Data = output
  680. return
  681. }
  682. // Describes the policies for the specified Auto Scaling group.
  683. func (c *AutoScaling) DescribePolicies(input *DescribePoliciesInput) (*DescribePoliciesOutput, error) {
  684. req, out := c.DescribePoliciesRequest(input)
  685. err := req.Send()
  686. return out, err
  687. }
  688. func (c *AutoScaling) DescribePoliciesPages(input *DescribePoliciesInput, fn func(p *DescribePoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  689. page, _ := c.DescribePoliciesRequest(input)
  690. return page.EachPage(func(p interface{}, lastPage bool) bool {
  691. return fn(p.(*DescribePoliciesOutput), lastPage)
  692. })
  693. }
  694. const opDescribeScalingActivities = "DescribeScalingActivities"
  695. // DescribeScalingActivitiesRequest generates a request for the DescribeScalingActivities operation.
  696. func (c *AutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingActivitiesInput) (req *request.Request, output *DescribeScalingActivitiesOutput) {
  697. op := &request.Operation{
  698. Name: opDescribeScalingActivities,
  699. HTTPMethod: "POST",
  700. HTTPPath: "/",
  701. Paginator: &request.Paginator{
  702. InputTokens: []string{"NextToken"},
  703. OutputTokens: []string{"NextToken"},
  704. LimitToken: "MaxRecords",
  705. TruncationToken: "",
  706. },
  707. }
  708. if input == nil {
  709. input = &DescribeScalingActivitiesInput{}
  710. }
  711. req = c.newRequest(op, input, output)
  712. output = &DescribeScalingActivitiesOutput{}
  713. req.Data = output
  714. return
  715. }
  716. // Describes one or more scaling activities for the specified Auto Scaling group.
  717. // If you omit the ActivityIds, the call returns all activities from the past
  718. // six weeks. Activities are sorted by the start time. Activities still in progress
  719. // appear first on the list.
  720. func (c *AutoScaling) DescribeScalingActivities(input *DescribeScalingActivitiesInput) (*DescribeScalingActivitiesOutput, error) {
  721. req, out := c.DescribeScalingActivitiesRequest(input)
  722. err := req.Send()
  723. return out, err
  724. }
  725. func (c *AutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActivitiesInput, fn func(p *DescribeScalingActivitiesOutput, lastPage bool) (shouldContinue bool)) error {
  726. page, _ := c.DescribeScalingActivitiesRequest(input)
  727. return page.EachPage(func(p interface{}, lastPage bool) bool {
  728. return fn(p.(*DescribeScalingActivitiesOutput), lastPage)
  729. })
  730. }
  731. const opDescribeScalingProcessTypes = "DescribeScalingProcessTypes"
  732. // DescribeScalingProcessTypesRequest generates a request for the DescribeScalingProcessTypes operation.
  733. func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingProcessTypesInput) (req *request.Request, output *DescribeScalingProcessTypesOutput) {
  734. op := &request.Operation{
  735. Name: opDescribeScalingProcessTypes,
  736. HTTPMethod: "POST",
  737. HTTPPath: "/",
  738. }
  739. if input == nil {
  740. input = &DescribeScalingProcessTypesInput{}
  741. }
  742. req = c.newRequest(op, input, output)
  743. output = &DescribeScalingProcessTypesOutput{}
  744. req.Data = output
  745. return
  746. }
  747. // Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.
  748. func (c *AutoScaling) DescribeScalingProcessTypes(input *DescribeScalingProcessTypesInput) (*DescribeScalingProcessTypesOutput, error) {
  749. req, out := c.DescribeScalingProcessTypesRequest(input)
  750. err := req.Send()
  751. return out, err
  752. }
  753. const opDescribeScheduledActions = "DescribeScheduledActions"
  754. // DescribeScheduledActionsRequest generates a request for the DescribeScheduledActions operation.
  755. func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) {
  756. op := &request.Operation{
  757. Name: opDescribeScheduledActions,
  758. HTTPMethod: "POST",
  759. HTTPPath: "/",
  760. Paginator: &request.Paginator{
  761. InputTokens: []string{"NextToken"},
  762. OutputTokens: []string{"NextToken"},
  763. LimitToken: "MaxRecords",
  764. TruncationToken: "",
  765. },
  766. }
  767. if input == nil {
  768. input = &DescribeScheduledActionsInput{}
  769. }
  770. req = c.newRequest(op, input, output)
  771. output = &DescribeScheduledActionsOutput{}
  772. req.Data = output
  773. return
  774. }
  775. // Describes the actions scheduled for your Auto Scaling group that haven't
  776. // run. To describe the actions that have already run, use DescribeScalingActivities.
  777. func (c *AutoScaling) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) {
  778. req, out := c.DescribeScheduledActionsRequest(input)
  779. err := req.Send()
  780. return out, err
  781. }
  782. func (c *AutoScaling) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(p *DescribeScheduledActionsOutput, lastPage bool) (shouldContinue bool)) error {
  783. page, _ := c.DescribeScheduledActionsRequest(input)
  784. return page.EachPage(func(p interface{}, lastPage bool) bool {
  785. return fn(p.(*DescribeScheduledActionsOutput), lastPage)
  786. })
  787. }
  788. const opDescribeTags = "DescribeTags"
  789. // DescribeTagsRequest generates a request for the DescribeTags operation.
  790. func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  791. op := &request.Operation{
  792. Name: opDescribeTags,
  793. HTTPMethod: "POST",
  794. HTTPPath: "/",
  795. Paginator: &request.Paginator{
  796. InputTokens: []string{"NextToken"},
  797. OutputTokens: []string{"NextToken"},
  798. LimitToken: "MaxRecords",
  799. TruncationToken: "",
  800. },
  801. }
  802. if input == nil {
  803. input = &DescribeTagsInput{}
  804. }
  805. req = c.newRequest(op, input, output)
  806. output = &DescribeTagsOutput{}
  807. req.Data = output
  808. return
  809. }
  810. // Describes the specified tags.
  811. //
  812. // You can use filters to limit the results. For example, you can query for
  813. // the tags for a specific Auto Scaling group. You can specify multiple values
  814. // for a filter. A tag must match at least one of the specified values for it
  815. // to be included in the results.
  816. //
  817. // You can also specify multiple filters. The result includes information for
  818. // a particular tag only if it matches all the filters. If there's no match,
  819. // no special message is returned.
  820. func (c *AutoScaling) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  821. req, out := c.DescribeTagsRequest(input)
  822. err := req.Send()
  823. return out, err
  824. }
  825. func (c *AutoScaling) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error {
  826. page, _ := c.DescribeTagsRequest(input)
  827. return page.EachPage(func(p interface{}, lastPage bool) bool {
  828. return fn(p.(*DescribeTagsOutput), lastPage)
  829. })
  830. }
  831. const opDescribeTerminationPolicyTypes = "DescribeTerminationPolicyTypes"
  832. // DescribeTerminationPolicyTypesRequest generates a request for the DescribeTerminationPolicyTypes operation.
  833. func (c *AutoScaling) DescribeTerminationPolicyTypesRequest(input *DescribeTerminationPolicyTypesInput) (req *request.Request, output *DescribeTerminationPolicyTypesOutput) {
  834. op := &request.Operation{
  835. Name: opDescribeTerminationPolicyTypes,
  836. HTTPMethod: "POST",
  837. HTTPPath: "/",
  838. }
  839. if input == nil {
  840. input = &DescribeTerminationPolicyTypesInput{}
  841. }
  842. req = c.newRequest(op, input, output)
  843. output = &DescribeTerminationPolicyTypesOutput{}
  844. req.Data = output
  845. return
  846. }
  847. // Describes the termination policies supported by Auto Scaling.
  848. func (c *AutoScaling) DescribeTerminationPolicyTypes(input *DescribeTerminationPolicyTypesInput) (*DescribeTerminationPolicyTypesOutput, error) {
  849. req, out := c.DescribeTerminationPolicyTypesRequest(input)
  850. err := req.Send()
  851. return out, err
  852. }
  853. const opDetachInstances = "DetachInstances"
  854. // DetachInstancesRequest generates a request for the DetachInstances operation.
  855. func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req *request.Request, output *DetachInstancesOutput) {
  856. op := &request.Operation{
  857. Name: opDetachInstances,
  858. HTTPMethod: "POST",
  859. HTTPPath: "/",
  860. }
  861. if input == nil {
  862. input = &DetachInstancesInput{}
  863. }
  864. req = c.newRequest(op, input, output)
  865. output = &DetachInstancesOutput{}
  866. req.Data = output
  867. return
  868. }
  869. // Removes one or more instances from the specified Auto Scaling group. After
  870. // the instances are detached, you can manage them independently from the rest
  871. // of the Auto Scaling group.
  872. //
  873. // For more information, see Detach EC2 Instances from Your Auto Scaling Group
  874. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html)
  875. // in the Auto Scaling Developer Guide.
  876. func (c *AutoScaling) DetachInstances(input *DetachInstancesInput) (*DetachInstancesOutput, error) {
  877. req, out := c.DetachInstancesRequest(input)
  878. err := req.Send()
  879. return out, err
  880. }
  881. const opDetachLoadBalancers = "DetachLoadBalancers"
  882. // DetachLoadBalancersRequest generates a request for the DetachLoadBalancers operation.
  883. func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput) (req *request.Request, output *DetachLoadBalancersOutput) {
  884. op := &request.Operation{
  885. Name: opDetachLoadBalancers,
  886. HTTPMethod: "POST",
  887. HTTPPath: "/",
  888. }
  889. if input == nil {
  890. input = &DetachLoadBalancersInput{}
  891. }
  892. req = c.newRequest(op, input, output)
  893. output = &DetachLoadBalancersOutput{}
  894. req.Data = output
  895. return
  896. }
  897. // Removes one or more load balancers from the specified Auto Scaling group.
  898. //
  899. // When you detach a load balancer, it enters the Removing state while deregistering
  900. // the instances in the group. When all instances are deregistered, then you
  901. // can no longer describe the load balancer using DescribeLoadBalancers. Note
  902. // that the instances remain running.
  903. func (c *AutoScaling) DetachLoadBalancers(input *DetachLoadBalancersInput) (*DetachLoadBalancersOutput, error) {
  904. req, out := c.DetachLoadBalancersRequest(input)
  905. err := req.Send()
  906. return out, err
  907. }
  908. const opDisableMetricsCollection = "DisableMetricsCollection"
  909. // DisableMetricsCollectionRequest generates a request for the DisableMetricsCollection operation.
  910. func (c *AutoScaling) DisableMetricsCollectionRequest(input *DisableMetricsCollectionInput) (req *request.Request, output *DisableMetricsCollectionOutput) {
  911. op := &request.Operation{
  912. Name: opDisableMetricsCollection,
  913. HTTPMethod: "POST",
  914. HTTPPath: "/",
  915. }
  916. if input == nil {
  917. input = &DisableMetricsCollectionInput{}
  918. }
  919. req = c.newRequest(op, input, output)
  920. output = &DisableMetricsCollectionOutput{}
  921. req.Data = output
  922. return
  923. }
  924. // Disables monitoring of the specified metrics for the specified Auto Scaling
  925. // group.
  926. func (c *AutoScaling) DisableMetricsCollection(input *DisableMetricsCollectionInput) (*DisableMetricsCollectionOutput, error) {
  927. req, out := c.DisableMetricsCollectionRequest(input)
  928. err := req.Send()
  929. return out, err
  930. }
  931. const opEnableMetricsCollection = "EnableMetricsCollection"
  932. // EnableMetricsCollectionRequest generates a request for the EnableMetricsCollection operation.
  933. func (c *AutoScaling) EnableMetricsCollectionRequest(input *EnableMetricsCollectionInput) (req *request.Request, output *EnableMetricsCollectionOutput) {
  934. op := &request.Operation{
  935. Name: opEnableMetricsCollection,
  936. HTTPMethod: "POST",
  937. HTTPPath: "/",
  938. }
  939. if input == nil {
  940. input = &EnableMetricsCollectionInput{}
  941. }
  942. req = c.newRequest(op, input, output)
  943. output = &EnableMetricsCollectionOutput{}
  944. req.Data = output
  945. return
  946. }
  947. // Enables monitoring of the specified metrics for the specified Auto Scaling
  948. // group.
  949. //
  950. // You can only enable metrics collection if InstanceMonitoring in the launch
  951. // configuration for the group is set to True.
  952. func (c *AutoScaling) EnableMetricsCollection(input *EnableMetricsCollectionInput) (*EnableMetricsCollectionOutput, error) {
  953. req, out := c.EnableMetricsCollectionRequest(input)
  954. err := req.Send()
  955. return out, err
  956. }
  957. const opEnterStandby = "EnterStandby"
  958. // EnterStandbyRequest generates a request for the EnterStandby operation.
  959. func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *request.Request, output *EnterStandbyOutput) {
  960. op := &request.Operation{
  961. Name: opEnterStandby,
  962. HTTPMethod: "POST",
  963. HTTPPath: "/",
  964. }
  965. if input == nil {
  966. input = &EnterStandbyInput{}
  967. }
  968. req = c.newRequest(op, input, output)
  969. output = &EnterStandbyOutput{}
  970. req.Data = output
  971. return
  972. }
  973. // Moves the specified instances into Standby mode.
  974. //
  975. // For more information, see Auto Scaling InService State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html)
  976. // in the Auto Scaling Developer Guide.
  977. func (c *AutoScaling) EnterStandby(input *EnterStandbyInput) (*EnterStandbyOutput, error) {
  978. req, out := c.EnterStandbyRequest(input)
  979. err := req.Send()
  980. return out, err
  981. }
  982. const opExecutePolicy = "ExecutePolicy"
  983. // ExecutePolicyRequest generates a request for the ExecutePolicy operation.
  984. func (c *AutoScaling) ExecutePolicyRequest(input *ExecutePolicyInput) (req *request.Request, output *ExecutePolicyOutput) {
  985. op := &request.Operation{
  986. Name: opExecutePolicy,
  987. HTTPMethod: "POST",
  988. HTTPPath: "/",
  989. }
  990. if input == nil {
  991. input = &ExecutePolicyInput{}
  992. }
  993. req = c.newRequest(op, input, output)
  994. output = &ExecutePolicyOutput{}
  995. req.Data = output
  996. return
  997. }
  998. // Executes the specified policy.
  999. func (c *AutoScaling) ExecutePolicy(input *ExecutePolicyInput) (*ExecutePolicyOutput, error) {
  1000. req, out := c.ExecutePolicyRequest(input)
  1001. err := req.Send()
  1002. return out, err
  1003. }
  1004. const opExitStandby = "ExitStandby"
  1005. // ExitStandbyRequest generates a request for the ExitStandby operation.
  1006. func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request.Request, output *ExitStandbyOutput) {
  1007. op := &request.Operation{
  1008. Name: opExitStandby,
  1009. HTTPMethod: "POST",
  1010. HTTPPath: "/",
  1011. }
  1012. if input == nil {
  1013. input = &ExitStandbyInput{}
  1014. }
  1015. req = c.newRequest(op, input, output)
  1016. output = &ExitStandbyOutput{}
  1017. req.Data = output
  1018. return
  1019. }
  1020. // Moves the specified instances out of Standby mode.
  1021. //
  1022. // For more information, see Auto Scaling InService State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html)
  1023. // in the Auto Scaling Developer Guide.
  1024. func (c *AutoScaling) ExitStandby(input *ExitStandbyInput) (*ExitStandbyOutput, error) {
  1025. req, out := c.ExitStandbyRequest(input)
  1026. err := req.Send()
  1027. return out, err
  1028. }
  1029. const opPutLifecycleHook = "PutLifecycleHook"
  1030. // PutLifecycleHookRequest generates a request for the PutLifecycleHook operation.
  1031. func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req *request.Request, output *PutLifecycleHookOutput) {
  1032. op := &request.Operation{
  1033. Name: opPutLifecycleHook,
  1034. HTTPMethod: "POST",
  1035. HTTPPath: "/",
  1036. }
  1037. if input == nil {
  1038. input = &PutLifecycleHookInput{}
  1039. }
  1040. req = c.newRequest(op, input, output)
  1041. output = &PutLifecycleHookOutput{}
  1042. req.Data = output
  1043. return
  1044. }
  1045. // Creates or updates a lifecycle hook for the specified Auto Scaling Group.
  1046. //
  1047. // A lifecycle hook tells Auto Scaling that you want to perform an action on
  1048. // an instance that is not actively in service; for example, either when the
  1049. // instance launches or before the instance terminates.
  1050. //
  1051. // This operation is a part of the basic sequence for adding a lifecycle hook
  1052. // to an Auto Scaling group:
  1053. //
  1054. // Create a notification target. A target can be either an Amazon SQS queue
  1055. // or an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling
  1056. // to publish lifecycle notifications to the designated SQS queue or SNS topic.
  1057. // Create the lifecycle hook. You can create a hook that acts when instances
  1058. // launch or when instances terminate. If necessary, record the lifecycle action
  1059. // heartbeat to keep the instance in a pending state. Complete the lifecycle
  1060. // action. For more information, see Auto Scaling Pending State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html)
  1061. // and Auto Scaling Terminating State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html)
  1062. // in the Auto Scaling Developer Guide.
  1063. //
  1064. // If you exceed your maximum limit of lifecycle hooks, which by default is
  1065. // 50 per region, the call fails. For information about updating this limit,
  1066. // see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)
  1067. // in the Amazon Web Services General Reference.
  1068. func (c *AutoScaling) PutLifecycleHook(input *PutLifecycleHookInput) (*PutLifecycleHookOutput, error) {
  1069. req, out := c.PutLifecycleHookRequest(input)
  1070. err := req.Send()
  1071. return out, err
  1072. }
  1073. const opPutNotificationConfiguration = "PutNotificationConfiguration"
  1074. // PutNotificationConfigurationRequest generates a request for the PutNotificationConfiguration operation.
  1075. func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotificationConfigurationInput) (req *request.Request, output *PutNotificationConfigurationOutput) {
  1076. op := &request.Operation{
  1077. Name: opPutNotificationConfiguration,
  1078. HTTPMethod: "POST",
  1079. HTTPPath: "/",
  1080. }
  1081. if input == nil {
  1082. input = &PutNotificationConfigurationInput{}
  1083. }
  1084. req = c.newRequest(op, input, output)
  1085. output = &PutNotificationConfigurationOutput{}
  1086. req.Data = output
  1087. return
  1088. }
  1089. // Configures an Auto Scaling group to send notifications when specified events
  1090. // take place. Subscribers to this topic can have messages for events delivered
  1091. // to an endpoint such as a web server or email address.
  1092. //
  1093. // For more information see Getting Notifications When Your Auto Scaling Group
  1094. // Changes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html)
  1095. // in the Auto Scaling Developer Guide.
  1096. //
  1097. // This configuration overwrites an existing configuration.
  1098. func (c *AutoScaling) PutNotificationConfiguration(input *PutNotificationConfigurationInput) (*PutNotificationConfigurationOutput, error) {
  1099. req, out := c.PutNotificationConfigurationRequest(input)
  1100. err := req.Send()
  1101. return out, err
  1102. }
  1103. const opPutScalingPolicy = "PutScalingPolicy"
  1104. // PutScalingPolicyRequest generates a request for the PutScalingPolicy operation.
  1105. func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) {
  1106. op := &request.Operation{
  1107. Name: opPutScalingPolicy,
  1108. HTTPMethod: "POST",
  1109. HTTPPath: "/",
  1110. }
  1111. if input == nil {
  1112. input = &PutScalingPolicyInput{}
  1113. }
  1114. req = c.newRequest(op, input, output)
  1115. output = &PutScalingPolicyOutput{}
  1116. req.Data = output
  1117. return
  1118. }
  1119. // Creates or updates a policy for an Auto Scaling group. To update an existing
  1120. // policy, use the existing policy name and set the parameters you want to change.
  1121. // Any existing parameter not changed in an update to an existing policy is
  1122. // not changed in this update request.
  1123. //
  1124. // If you exceed your maximum limit of step adjustments, which by default is
  1125. // 20 per region, the call fails. For information about updating this limit,
  1126. // see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)
  1127. // in the Amazon Web Services General Reference.
  1128. func (c *AutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) {
  1129. req, out := c.PutScalingPolicyRequest(input)
  1130. err := req.Send()
  1131. return out, err
  1132. }
  1133. const opPutScheduledUpdateGroupAction = "PutScheduledUpdateGroupAction"
  1134. // PutScheduledUpdateGroupActionRequest generates a request for the PutScheduledUpdateGroupAction operation.
  1135. func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUpdateGroupActionInput) (req *request.Request, output *PutScheduledUpdateGroupActionOutput) {
  1136. op := &request.Operation{
  1137. Name: opPutScheduledUpdateGroupAction,
  1138. HTTPMethod: "POST",
  1139. HTTPPath: "/",
  1140. }
  1141. if input == nil {
  1142. input = &PutScheduledUpdateGroupActionInput{}
  1143. }
  1144. req = c.newRequest(op, input, output)
  1145. output = &PutScheduledUpdateGroupActionOutput{}
  1146. req.Data = output
  1147. return
  1148. }
  1149. // Creates or updates a scheduled scaling action for an Auto Scaling group.
  1150. // When updating a scheduled scaling action, if you leave a parameter unspecified,
  1151. // the corresponding value remains unchanged in the affected Auto Scaling group.
  1152. //
  1153. // For more information, see Scheduled Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html)
  1154. // in the Auto Scaling Developer Guide.
  1155. func (c *AutoScaling) PutScheduledUpdateGroupAction(input *PutScheduledUpdateGroupActionInput) (*PutScheduledUpdateGroupActionOutput, error) {
  1156. req, out := c.PutScheduledUpdateGroupActionRequest(input)
  1157. err := req.Send()
  1158. return out, err
  1159. }
  1160. const opRecordLifecycleActionHeartbeat = "RecordLifecycleActionHeartbeat"
  1161. // RecordLifecycleActionHeartbeatRequest generates a request for the RecordLifecycleActionHeartbeat operation.
  1162. func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecycleActionHeartbeatInput) (req *request.Request, output *RecordLifecycleActionHeartbeatOutput) {
  1163. op := &request.Operation{
  1164. Name: opRecordLifecycleActionHeartbeat,
  1165. HTTPMethod: "POST",
  1166. HTTPPath: "/",
  1167. }
  1168. if input == nil {
  1169. input = &RecordLifecycleActionHeartbeatInput{}
  1170. }
  1171. req = c.newRequest(op, input, output)
  1172. output = &RecordLifecycleActionHeartbeatOutput{}
  1173. req.Data = output
  1174. return
  1175. }
  1176. // Records a heartbeat for the lifecycle action associated with a specific token.
  1177. // This extends the timeout by the length of time defined by the HeartbeatTimeout
  1178. // parameter of PutLifecycleHook.
  1179. //
  1180. // This operation is a part of the basic sequence for adding a lifecycle hook
  1181. // to an Auto Scaling group:
  1182. //
  1183. // Create a notification target. A target can be either an Amazon SQS queue
  1184. // or an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling
  1185. // to publish lifecycle notifications to the designated SQS queue or SNS topic.
  1186. // Create the lifecycle hook. You can create a hook that acts when instances
  1187. // launch or when instances terminate. If necessary, record the lifecycle action
  1188. // heartbeat to keep the instance in a pending state. Complete the lifecycle
  1189. // action. For more information, see Auto Scaling Pending State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html)
  1190. // and Auto Scaling Terminating State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html)
  1191. // in the Auto Scaling Developer Guide.
  1192. func (c *AutoScaling) RecordLifecycleActionHeartbeat(input *RecordLifecycleActionHeartbeatInput) (*RecordLifecycleActionHeartbeatOutput, error) {
  1193. req, out := c.RecordLifecycleActionHeartbeatRequest(input)
  1194. err := req.Send()
  1195. return out, err
  1196. }
  1197. const opResumeProcesses = "ResumeProcesses"
  1198. // ResumeProcessesRequest generates a request for the ResumeProcesses operation.
  1199. func (c *AutoScaling) ResumeProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *ResumeProcessesOutput) {
  1200. op := &request.Operation{
  1201. Name: opResumeProcesses,
  1202. HTTPMethod: "POST",
  1203. HTTPPath: "/",
  1204. }
  1205. if input == nil {
  1206. input = &ScalingProcessQuery{}
  1207. }
  1208. req = c.newRequest(op, input, output)
  1209. output = &ResumeProcessesOutput{}
  1210. req.Data = output
  1211. return
  1212. }
  1213. // Resumes the specified suspended Auto Scaling processes for the specified
  1214. // Auto Scaling group. To resume specific processes, use the ScalingProcesses
  1215. // parameter. To resume all processes, omit the ScalingProcesses parameter.
  1216. // For more information, see Suspend and Resume Auto Scaling Processes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html)
  1217. // in the Auto Scaling Developer Guide.
  1218. func (c *AutoScaling) ResumeProcesses(input *ScalingProcessQuery) (*ResumeProcessesOutput, error) {
  1219. req, out := c.ResumeProcessesRequest(input)
  1220. err := req.Send()
  1221. return out, err
  1222. }
  1223. const opSetDesiredCapacity = "SetDesiredCapacity"
  1224. // SetDesiredCapacityRequest generates a request for the SetDesiredCapacity operation.
  1225. func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) (req *request.Request, output *SetDesiredCapacityOutput) {
  1226. op := &request.Operation{
  1227. Name: opSetDesiredCapacity,
  1228. HTTPMethod: "POST",
  1229. HTTPPath: "/",
  1230. }
  1231. if input == nil {
  1232. input = &SetDesiredCapacityInput{}
  1233. }
  1234. req = c.newRequest(op, input, output)
  1235. output = &SetDesiredCapacityOutput{}
  1236. req.Data = output
  1237. return
  1238. }
  1239. // Sets the size of the specified Auto Scaling group.
  1240. //
  1241. // For more information about desired capacity, see What Is Auto Scaling? (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/WhatIsAutoScaling.html)
  1242. // in the Auto Scaling Developer Guide.
  1243. func (c *AutoScaling) SetDesiredCapacity(input *SetDesiredCapacityInput) (*SetDesiredCapacityOutput, error) {
  1244. req, out := c.SetDesiredCapacityRequest(input)
  1245. err := req.Send()
  1246. return out, err
  1247. }
  1248. const opSetInstanceHealth = "SetInstanceHealth"
  1249. // SetInstanceHealthRequest generates a request for the SetInstanceHealth operation.
  1250. func (c *AutoScaling) SetInstanceHealthRequest(input *SetInstanceHealthInput) (req *request.Request, output *SetInstanceHealthOutput) {
  1251. op := &request.Operation{
  1252. Name: opSetInstanceHealth,
  1253. HTTPMethod: "POST",
  1254. HTTPPath: "/",
  1255. }
  1256. if input == nil {
  1257. input = &SetInstanceHealthInput{}
  1258. }
  1259. req = c.newRequest(op, input, output)
  1260. output = &SetInstanceHealthOutput{}
  1261. req.Data = output
  1262. return
  1263. }
  1264. // Sets the health status of the specified instance.
  1265. //
  1266. // For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html)
  1267. // in the Auto Scaling Developer Guide.
  1268. func (c *AutoScaling) SetInstanceHealth(input *SetInstanceHealthInput) (*SetInstanceHealthOutput, error) {
  1269. req, out := c.SetInstanceHealthRequest(input)
  1270. err := req.Send()
  1271. return out, err
  1272. }
  1273. const opSuspendProcesses = "SuspendProcesses"
  1274. // SuspendProcessesRequest generates a request for the SuspendProcesses operation.
  1275. func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *SuspendProcessesOutput) {
  1276. op := &request.Operation{
  1277. Name: opSuspendProcesses,
  1278. HTTPMethod: "POST",
  1279. HTTPPath: "/",
  1280. }
  1281. if input == nil {
  1282. input = &ScalingProcessQuery{}
  1283. }
  1284. req = c.newRequest(op, input, output)
  1285. output = &SuspendProcessesOutput{}
  1286. req.Data = output
  1287. return
  1288. }
  1289. // Suspends the specified Auto Scaling processes for the specified Auto Scaling
  1290. // group. To suspend specific processes, use the ScalingProcesses parameter.
  1291. // To suspend all processes, omit the ScalingProcesses parameter.
  1292. //
  1293. // Note that if you suspend either the Launch or Terminate process types, it
  1294. // can prevent other process types from functioning properly.
  1295. //
  1296. // To resume processes that have been suspended, use ResumeProcesses.
  1297. //
  1298. // For more information, see Suspend and Resume Auto Scaling Processes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html)
  1299. // in the Auto Scaling Developer Guide.
  1300. func (c *AutoScaling) SuspendProcesses(input *ScalingProcessQuery) (*SuspendProcessesOutput, error) {
  1301. req, out := c.SuspendProcessesRequest(input)
  1302. err := req.Send()
  1303. return out, err
  1304. }
  1305. const opTerminateInstanceInAutoScalingGroup = "TerminateInstanceInAutoScalingGroup"
  1306. // TerminateInstanceInAutoScalingGroupRequest generates a request for the TerminateInstanceInAutoScalingGroup operation.
  1307. func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *TerminateInstanceInAutoScalingGroupInput) (req *request.Request, output *TerminateInstanceInAutoScalingGroupOutput) {
  1308. op := &request.Operation{
  1309. Name: opTerminateInstanceInAutoScalingGroup,
  1310. HTTPMethod: "POST",
  1311. HTTPPath: "/",
  1312. }
  1313. if input == nil {
  1314. input = &TerminateInstanceInAutoScalingGroupInput{}
  1315. }
  1316. req = c.newRequest(op, input, output)
  1317. output = &TerminateInstanceInAutoScalingGroupOutput{}
  1318. req.Data = output
  1319. return
  1320. }
  1321. // Terminates the specified instance and optionally adjusts the desired group
  1322. // size.
  1323. //
  1324. // This call simply makes a termination request. The instances is not terminated
  1325. // immediately.
  1326. func (c *AutoScaling) TerminateInstanceInAutoScalingGroup(input *TerminateInstanceInAutoScalingGroupInput) (*TerminateInstanceInAutoScalingGroupOutput, error) {
  1327. req, out := c.TerminateInstanceInAutoScalingGroupRequest(input)
  1328. err := req.Send()
  1329. return out, err
  1330. }
  1331. const opUpdateAutoScalingGroup = "UpdateAutoScalingGroup"
  1332. // UpdateAutoScalingGroupRequest generates a request for the UpdateAutoScalingGroup operation.
  1333. func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGroupInput) (req *request.Request, output *UpdateAutoScalingGroupOutput) {
  1334. op := &request.Operation{
  1335. Name: opUpdateAutoScalingGroup,
  1336. HTTPMethod: "POST",
  1337. HTTPPath: "/",
  1338. }
  1339. if input == nil {
  1340. input = &UpdateAutoScalingGroupInput{}
  1341. }
  1342. req = c.newRequest(op, input, output)
  1343. output = &UpdateAutoScalingGroupOutput{}
  1344. req.Data = output
  1345. return
  1346. }
  1347. // Updates the configuration for the specified Auto Scaling group.
  1348. //
  1349. // To update an Auto Scaling group with a launch configuration with InstanceMonitoring
  1350. // set to False, you must first disable the collection of group metrics. Otherwise,
  1351. // you will get an error. If you have previously enabled the collection of group
  1352. // metrics, you can disable it using DisableMetricsCollection.
  1353. //
  1354. // The new settings are registered upon the completion of this call. Any launch
  1355. // configuration settings take effect on any triggers after this call returns.
  1356. // Scaling activities that are currently in progress aren't affected.
  1357. //
  1358. // Note the following:
  1359. //
  1360. // If you specify a new value for MinSize without specifying a value for
  1361. // DesiredCapacity, and the new MinSize is larger than the current size of the
  1362. // group, we implicitly call SetDesiredCapacity to set the size of the group
  1363. // to the new value of MinSize.
  1364. //
  1365. // If you specify a new value for MaxSize without specifying a value for
  1366. // DesiredCapacity, and the new MaxSize is smaller than the current size of
  1367. // the group, we implicitly call SetDesiredCapacity to set the size of the group
  1368. // to the new value of MaxSize.
  1369. //
  1370. // All other optional parameters are left unchanged if not specified.
  1371. func (c *AutoScaling) UpdateAutoScalingGroup(input *UpdateAutoScalingGroupInput) (*UpdateAutoScalingGroupOutput, error) {
  1372. req, out := c.UpdateAutoScalingGroupRequest(input)
  1373. err := req.Send()
  1374. return out, err
  1375. }
  1376. // Describes scaling activity, which is a long-running process that represents
  1377. // a change to your Auto Scaling group, such as changing its size or replacing
  1378. // an instance.
  1379. type Activity struct {
  1380. // The ID of the activity.
  1381. ActivityId *string `type:"string" required:"true"`
  1382. // The name of the Auto Scaling group.
  1383. AutoScalingGroupName *string `type:"string" required:"true"`
  1384. // The reason the activity began.
  1385. Cause *string `type:"string" required:"true"`
  1386. // A friendly, more verbose description of the activity.
  1387. Description *string `type:"string"`
  1388. // The details about the activity.
  1389. Details *string `type:"string"`
  1390. // The end time of the activity.
  1391. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  1392. // A value between 0 and 100 that indicates the progress of the activity.
  1393. Progress *int64 `type:"integer"`
  1394. // The start time of the activity.
  1395. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  1396. // The current status of the activity.
  1397. StatusCode *string `type:"string" required:"true" enum:"ScalingActivityStatusCode"`
  1398. // A friendly, more verbose description of the activity status.
  1399. StatusMessage *string `type:"string"`
  1400. metadataActivity `json:"-" xml:"-"`
  1401. }
  1402. type metadataActivity struct {
  1403. SDKShapeTraits bool `type:"structure"`
  1404. }
  1405. // String returns the string representation
  1406. func (s Activity) String() string {
  1407. return awsutil.Prettify(s)
  1408. }
  1409. // GoString returns the string representation
  1410. func (s Activity) GoString() string {
  1411. return s.String()
  1412. }
  1413. // Describes a policy adjustment type.
  1414. //
  1415. // For more information, see Dynamic Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html)
  1416. // in the Auto Scaling Developer Guide.
  1417. type AdjustmentType struct {
  1418. // The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity,
  1419. // and PercentChangeInCapacity.
  1420. AdjustmentType *string `type:"string"`
  1421. metadataAdjustmentType `json:"-" xml:"-"`
  1422. }
  1423. type metadataAdjustmentType struct {
  1424. SDKShapeTraits bool `type:"structure"`
  1425. }
  1426. // String returns the string representation
  1427. func (s AdjustmentType) String() string {
  1428. return awsutil.Prettify(s)
  1429. }
  1430. // GoString returns the string representation
  1431. func (s AdjustmentType) GoString() string {
  1432. return s.String()
  1433. }
  1434. // Describes an alarm.
  1435. type Alarm struct {
  1436. // The Amazon Resource Name (ARN) of the alarm.
  1437. AlarmARN *string `type:"string"`
  1438. // The name of the alarm.
  1439. AlarmName *string `type:"string"`
  1440. metadataAlarm `json:"-" xml:"-"`
  1441. }
  1442. type metadataAlarm struct {
  1443. SDKShapeTraits bool `type:"structure"`
  1444. }
  1445. // String returns the string representation
  1446. func (s Alarm) String() string {
  1447. return awsutil.Prettify(s)
  1448. }
  1449. // GoString returns the string representation
  1450. func (s Alarm) GoString() string {
  1451. return s.String()
  1452. }
  1453. type AttachInstancesInput struct {
  1454. // The name of the group.
  1455. AutoScalingGroupName *string `type:"string" required:"true"`
  1456. // One or more EC2 instance IDs.
  1457. InstanceIds []*string `type:"list"`
  1458. metadataAttachInstancesInput `json:"-" xml:"-"`
  1459. }
  1460. type metadataAttachInstancesInput struct {
  1461. SDKShapeTraits bool `type:"structure"`
  1462. }
  1463. // String returns the string representation
  1464. func (s AttachInstancesInput) String() string {
  1465. return awsutil.Prettify(s)
  1466. }
  1467. // GoString returns the string representation
  1468. func (s AttachInstancesInput) GoString() string {
  1469. return s.String()
  1470. }
  1471. type AttachInstancesOutput struct {
  1472. metadataAttachInstancesOutput `json:"-" xml:"-"`
  1473. }
  1474. type metadataAttachInstancesOutput struct {
  1475. SDKShapeTraits bool `type:"structure"`
  1476. }
  1477. // String returns the string representation
  1478. func (s AttachInstancesOutput) String() string {
  1479. return awsutil.Prettify(s)
  1480. }
  1481. // GoString returns the string representation
  1482. func (s AttachInstancesOutput) GoString() string {
  1483. return s.String()
  1484. }
  1485. type AttachLoadBalancersInput struct {
  1486. // The name of the group.
  1487. AutoScalingGroupName *string `type:"string"`
  1488. // One or more load balancer names.
  1489. LoadBalancerNames []*string `type:"list"`
  1490. metadataAttachLoadBalancersInput `json:"-" xml:"-"`
  1491. }
  1492. type metadataAttachLoadBalancersInput struct {
  1493. SDKShapeTraits bool `type:"structure"`
  1494. }
  1495. // String returns the string representation
  1496. func (s AttachLoadBalancersInput) String() string {
  1497. return awsutil.Prettify(s)
  1498. }
  1499. // GoString returns the string representation
  1500. func (s AttachLoadBalancersInput) GoString() string {
  1501. return s.String()
  1502. }
  1503. type AttachLoadBalancersOutput struct {
  1504. metadataAttachLoadBalancersOutput `json:"-" xml:"-"`
  1505. }
  1506. type metadataAttachLoadBalancersOutput struct {
  1507. SDKShapeTraits bool `type:"structure"`
  1508. }
  1509. // String returns the string representation
  1510. func (s AttachLoadBalancersOutput) String() string {
  1511. return awsutil.Prettify(s)
  1512. }
  1513. // GoString returns the string representation
  1514. func (s AttachLoadBalancersOutput) GoString() string {
  1515. return s.String()
  1516. }
  1517. // Describes a block device mapping.
  1518. type BlockDeviceMapping struct {
  1519. // The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
  1520. DeviceName *string `type:"string" required:"true"`
  1521. // The information about the Amazon EBS volume.
  1522. Ebs *Ebs `type:"structure"`
  1523. // Suppresses a device mapping.
  1524. //
  1525. // If this parameter is true for the root device, the instance might fail the
  1526. // EC2 health check. Auto Scaling launches a replacement instance if the instance
  1527. // fails the health check.
  1528. NoDevice *bool `type:"boolean"`
  1529. // The name of the virtual device, ephemeral0 to ephemeral3.
  1530. VirtualName *string `type:"string"`
  1531. metadataBlockDeviceMapping `json:"-" xml:"-"`
  1532. }
  1533. type metadataBlockDeviceMapping struct {
  1534. SDKShapeTraits bool `type:"structure"`
  1535. }
  1536. // String returns the string representation
  1537. func (s BlockDeviceMapping) String() string {
  1538. return awsutil.Prettify(s)
  1539. }
  1540. // GoString returns the string representation
  1541. func (s BlockDeviceMapping) GoString() string {
  1542. return s.String()
  1543. }
  1544. type CompleteLifecycleActionInput struct {
  1545. // The name of the group for the lifecycle hook.
  1546. AutoScalingGroupName *string `type:"string" required:"true"`
  1547. // The action for the group to take. This parameter can be either CONTINUE or
  1548. // ABANDON.
  1549. LifecycleActionResult *string `type:"string" required:"true"`
  1550. // A universally unique identifier (UUID) that identifies a specific lifecycle
  1551. // action associated with an instance. Auto Scaling sends this token to the
  1552. // notification target you specified when you created the lifecycle hook.
  1553. LifecycleActionToken *string `type:"string" required:"true"`
  1554. // The name of the lifecycle hook.
  1555. LifecycleHookName *string `type:"string" required:"true"`
  1556. metadataCompleteLifecycleActionInput `json:"-" xml:"-"`
  1557. }
  1558. type metadataCompleteLifecycleActionInput struct {
  1559. SDKShapeTraits bool `type:"structure"`
  1560. }
  1561. // String returns the string representation
  1562. func (s CompleteLifecycleActionInput) String() string {
  1563. return awsutil.Prettify(s)
  1564. }
  1565. // GoString returns the string representation
  1566. func (s CompleteLifecycleActionInput) GoString() string {
  1567. return s.String()
  1568. }
  1569. type CompleteLifecycleActionOutput struct {
  1570. metadataCompleteLifecycleActionOutput `json:"-" xml:"-"`
  1571. }
  1572. type metadataCompleteLifecycleActionOutput struct {
  1573. SDKShapeTraits bool `type:"structure"`
  1574. }
  1575. // String returns the string representation
  1576. func (s CompleteLifecycleActionOutput) String() string {
  1577. return awsutil.Prettify(s)
  1578. }
  1579. // GoString returns the string representation
  1580. func (s CompleteLifecycleActionOutput) GoString() string {
  1581. return s.String()
  1582. }
  1583. type CreateAutoScalingGroupInput struct {
  1584. // The name of the group. This name must be unique within the scope of your
  1585. // AWS account.
  1586. AutoScalingGroupName *string `type:"string" required:"true"`
  1587. // One or more Availability Zones for the group. This parameter is optional
  1588. // if you specify subnets using the VPCZoneIdentifier parameter.
  1589. AvailabilityZones []*string `type:"list"`
  1590. // The amount of time, in seconds, after a scaling activity completes before
  1591. // another scaling activity can start.
  1592. //
  1593. // If this parameter is not specified, the default value is 300. For more information,
  1594. // see Understanding Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html)
  1595. // in the Auto Scaling Developer Guide.
  1596. DefaultCooldown *int64 `type:"integer"`
  1597. // The number of EC2 instances that should be running in the group. This number
  1598. // must be greater than or equal to the minimum size of the group and less than
  1599. // or equal to the maximum size of the group.
  1600. DesiredCapacity *int64 `type:"integer"`
  1601. // The amount of time, in seconds, after an EC2 instance comes into service
  1602. // that Auto Scaling starts checking its health. During this time, any health
  1603. // check failures for the instance are ignored.
  1604. //
  1605. // This parameter is required if you are adding an ELB health check. Frequently,
  1606. // new instances need to warm up, briefly, before they can pass a health check.
  1607. // To provide ample warm-up time, set the health check grace period of the group
  1608. // to match the expected startup period of your application.
  1609. //
  1610. // For more information, see Add an Elastic Load Balancing Health Check to
  1611. // Your Auto Scaling Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html)
  1612. // in the Auto Scaling Developer Guide.
  1613. HealthCheckGracePeriod *int64 `type:"integer"`
  1614. // The service to use for the health checks. The valid values are EC2 and ELB.
  1615. //
  1616. // By default, health checks use Amazon EC2 instance status checks to determine
  1617. // the health of an instance. For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html).
  1618. HealthCheckType *string `type:"string"`
  1619. // The ID of the EC2 instance used to create a launch configuration for the
  1620. // group. Alternatively, use the LaunchConfigurationName parameter to specify
  1621. // a launch configuration instead of an EC2 instance.
  1622. //
  1623. // When you specify an ID of an instance, Auto Scaling creates a new launch
  1624. // configuration and associates it with the group. This launch configuration
  1625. // derives its attributes from the specified instance, with the exception of
  1626. // the block device mapping.
  1627. //
  1628. // For more information, see Create an Auto Scaling Group from an EC2 Instance
  1629. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-asg-from-instance.html)
  1630. // in the Auto Scaling Developer Guide.
  1631. InstanceId *string `type:"string"`
  1632. // The name of the launch configuration. Alternatively, use the InstanceId parameter
  1633. // to specify an EC2 instance instead of a launch configuration.
  1634. LaunchConfigurationName *string `type:"string"`
  1635. // One or more load balancers.
  1636. //
  1637. // For more information, see Load Balance Your Auto Scaling Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SetUpASLBApp.html)
  1638. // in the Auto Scaling Developer Guide.
  1639. LoadBalancerNames []*string `type:"list"`
  1640. // The maximum size of the group.
  1641. MaxSize *int64 `type:"integer" required:"true"`
  1642. // The minimum size of the group.
  1643. MinSize *int64 `type:"integer" required:"true"`
  1644. // The name of the placement group into which you'll launch your instances,
  1645. // if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  1646. // in the Amazon Elastic Compute Cloud User Guide.
  1647. PlacementGroup *string `type:"string"`
  1648. // The tag to be created or updated. Each tag should be defined by its resource
  1649. // type, resource ID, key, value, and a propagate flag. Valid values: key=value,
  1650. // value=value, propagate=true or false. Value and propagate are optional parameters.
  1651. //
  1652. // For more information, see Tagging Auto Scaling Groups and Instances (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html)
  1653. // in the Auto Scaling Developer Guide.
  1654. Tags []*Tag `type:"list"`
  1655. // One or more termination policies used to select the instance to terminate.
  1656. // These policies are executed in the order that they are listed.
  1657. //
  1658. // For more information, see Choosing a Termination Policy for Your Auto Scaling
  1659. // Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html)
  1660. // in the Auto Scaling Developer Guide.
  1661. TerminationPolicies []*string `type:"list"`
  1662. // A comma-separated list of subnet identifiers for your virtual private cloud
  1663. // (VPC).
  1664. //
  1665. // If you specify subnets and Availability Zones with this call, ensure that
  1666. // the subnets' Availability Zones match the Availability Zones specified.
  1667. //
  1668. // For more information, see Auto Scaling and Amazon Virtual Private Cloud
  1669. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html)
  1670. // in the Auto Scaling Developer Guide.
  1671. VPCZoneIdentifier *string `type:"string"`
  1672. metadataCreateAutoScalingGroupInput `json:"-" xml:"-"`
  1673. }
  1674. type metadataCreateAutoScalingGroupInput struct {
  1675. SDKShapeTraits bool `type:"structure"`
  1676. }
  1677. // String returns the string representation
  1678. func (s CreateAutoScalingGroupInput) String() string {
  1679. return awsutil.Prettify(s)
  1680. }
  1681. // GoString returns the string representation
  1682. func (s CreateAutoScalingGroupInput) GoString() string {
  1683. return s.String()
  1684. }
  1685. type CreateAutoScalingGroupOutput struct {
  1686. metadataCreateAutoScalingGroupOutput `json:"-" xml:"-"`
  1687. }
  1688. type metadataCreateAutoScalingGroupOutput struct {
  1689. SDKShapeTraits bool `type:"structure"`
  1690. }
  1691. // String returns the string representation
  1692. func (s CreateAutoScalingGroupOutput) String() string {
  1693. return awsutil.Prettify(s)
  1694. }
  1695. // GoString returns the string representation
  1696. func (s CreateAutoScalingGroupOutput) GoString() string {
  1697. return s.String()
  1698. }
  1699. type CreateLaunchConfigurationInput struct {
  1700. // Used for groups that launch instances into a virtual private cloud (VPC).
  1701. // Specifies whether to assign a public IP address to each instance. For more
  1702. // information, see Auto Scaling and Amazon Virtual Private Cloud (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html)
  1703. // in the Auto Scaling Developer Guide.
  1704. //
  1705. // If you specify a value for this parameter, be sure to specify at least one
  1706. // subnet using the VPCZoneIdentifier parameter when you create your group.
  1707. //
  1708. // Default: If the instance is launched into a default subnet, the default
  1709. // is true. If the instance is launched into a nondefault subnet, the default
  1710. // is false. For more information, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)
  1711. // in the Amazon Elastic Compute Cloud User Guide.
  1712. AssociatePublicIpAddress *bool `type:"boolean"`
  1713. // One or more mappings that specify how block devices are exposed to the instance.
  1714. // For more information, see Block Device Mapping (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)
  1715. // in the Amazon Elastic Compute Cloud User Guide.
  1716. BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
  1717. // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
  1718. // This parameter is supported only if you are launching EC2-Classic instances.
  1719. // For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  1720. // in the Amazon Elastic Compute Cloud User Guide.
  1721. ClassicLinkVPCId *string `type:"string"`
  1722. // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId.
  1723. // This parameter is required if ClassicLinkVPCId is specified, and is not supported
  1724. // otherwise. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  1725. // in the Amazon Elastic Compute Cloud User Guide.
  1726. ClassicLinkVPCSecurityGroups []*string `type:"list"`
  1727. // Indicates whether the instance is optimized for Amazon EBS I/O. By default,
  1728. // the instance is not optimized for EBS I/O. The optimization provides dedicated
  1729. // throughput to Amazon EBS and an optimized configuration stack to provide
  1730. // optimal I/O performance. This optimization is not available with all instance
  1731. // types. Additional usage charges apply. For more information, see Amazon EBS-Optimized
  1732. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
  1733. // in the Amazon Elastic Compute Cloud User Guide.
  1734. EbsOptimized *bool `type:"boolean"`
  1735. // The name or the Amazon Resource Name (ARN) of the instance profile associated
  1736. // with the IAM role for the instance.
  1737. //
  1738. // EC2 instances launched with an IAM role will automatically have AWS security
  1739. // credentials available. You can use IAM roles with Auto Scaling to automatically
  1740. // enable applications running on your EC2 instances to securely access other
  1741. // AWS resources. For more information, see Launch Auto Scaling Instances with
  1742. // an IAM Role (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-iam-role.html)
  1743. // in the Auto Scaling Developer Guide.
  1744. IamInstanceProfile *string `type:"string"`
  1745. // The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.
  1746. // For more information, see Finding an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)
  1747. // in the Amazon Elastic Compute Cloud User Guide.
  1748. ImageId *string `type:"string"`
  1749. // The ID of the EC2 instance to use to create the launch configuration.
  1750. //
  1751. // The new launch configuration derives attributes from the instance, with
  1752. // the exception of the block device mapping.
  1753. //
  1754. // To create a launch configuration with a block device mapping or override
  1755. // any other instance attributes, specify them as part of the same request.
  1756. //
  1757. // For more information, see Create a Launch Configuration Using an EC2 Instance
  1758. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-lc-with-instanceID.html)
  1759. // in the Auto Scaling Developer Guide.
  1760. InstanceId *string `type:"string"`
  1761. // Enables detailed monitoring if it is disabled. Detailed monitoring is enabled
  1762. // by default.
  1763. //
  1764. // When detailed monitoring is enabled, Amazon CloudWatch generates metrics
  1765. // every minute and your account is charged a fee. When you disable detailed
  1766. // monitoring, by specifying False, CloudWatch generates metrics every 5 minutes.
  1767. // For more information, see Monitor Your Auto Scaling Instances (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html)
  1768. // in the Auto Scaling Developer Guide.
  1769. InstanceMonitoring *InstanceMonitoring `type:"structure"`
  1770. // The instance type of the EC2 instance. For information about available instance
  1771. // types, see Available Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)
  1772. // in the Amazon Elastic Cloud Compute User Guide.
  1773. InstanceType *string `type:"string"`
  1774. // The ID of the kernel associated with the AMI.
  1775. KernelId *string `type:"string"`
  1776. // The name of the key pair. For more information, see Amazon EC2 Key Pairs
  1777. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) in
  1778. // the Amazon Elastic Compute Cloud User Guide.
  1779. KeyName *string `type:"string"`
  1780. // The name of the launch configuration. This name must be unique within the
  1781. // scope of your AWS account.
  1782. LaunchConfigurationName *string `type:"string" required:"true"`
  1783. // The tenancy of the instance. An instance with a tenancy of dedicated runs
  1784. // on single-tenant hardware and can only be launched into a VPC.
  1785. //
  1786. // You must set the value of this parameter to dedicated if want to launch
  1787. // Dedicated Instances into a shared tenancy VPC (VPC with instance placement
  1788. // tenancy attribute set to default).
  1789. //
  1790. // If you specify a value for this parameter, be sure to specify at least one
  1791. // subnet using the VPCZoneIdentifier parameter when you create your group.
  1792. //
  1793. // For more information, see Auto Scaling and Amazon Virtual Private Cloud
  1794. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html)
  1795. // in the Auto Scaling Developer Guide.
  1796. //
  1797. // Valid values: default | dedicated
  1798. PlacementTenancy *string `type:"string"`
  1799. // The ID of the RAM disk associated with the AMI.
  1800. RamdiskId *string `type:"string"`
  1801. // One or more security groups with which to associate the instances.
  1802. //
  1803. // If your instances are launched in EC2-Classic, you can either specify security
  1804. // group names or the security group IDs. For more information about security
  1805. // groups for EC2-Classic, see Amazon EC2 Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  1806. // in the Amazon Elastic Compute Cloud User Guide.
  1807. //
  1808. // If your instances are launched into a VPC, specify security group IDs. For
  1809. // more information, see Security Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1810. // in the Amazon Virtual Private Cloud User Guide.
  1811. SecurityGroups []*string `type:"list"`
  1812. // The maximum hourly price to be paid for any Spot Instance launched to fulfill
  1813. // the request. Spot Instances are launched when the price you specify exceeds
  1814. // the current Spot market price. For more information, see Launch Spot Instances
  1815. // in Your Auto Scaling Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US-SpotInstances.html)
  1816. // in the Auto Scaling Developer Guide.
  1817. SpotPrice *string `type:"string"`
  1818. // The user data to make available to the launched EC2 instances. For more information,
  1819. // see Instance Metadata and User Data (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  1820. // in the Amazon Elastic Compute Cloud User Guide.
  1821. //
  1822. // At this time, launch configurations don't support compressed (zipped) user
  1823. // data files.
  1824. UserData *string `type:"string"`
  1825. metadataCreateLaunchConfigurationInput `json:"-" xml:"-"`
  1826. }
  1827. type metadataCreateLaunchConfigurationInput struct {
  1828. SDKShapeTraits bool `type:"structure"`
  1829. }
  1830. // String returns the string representation
  1831. func (s CreateLaunchConfigurationInput) String() string {
  1832. return awsutil.Prettify(s)
  1833. }
  1834. // GoString returns the string representation
  1835. func (s CreateLaunchConfigurationInput) GoString() string {
  1836. return s.String()
  1837. }
  1838. type CreateLaunchConfigurationOutput struct {
  1839. metadataCreateLaunchConfigurationOutput `json:"-" xml:"-"`
  1840. }
  1841. type metadataCreateLaunchConfigurationOutput struct {
  1842. SDKShapeTraits bool `type:"structure"`
  1843. }
  1844. // String returns the string representation
  1845. func (s CreateLaunchConfigurationOutput) String() string {
  1846. return awsutil.Prettify(s)
  1847. }
  1848. // GoString returns the string representation
  1849. func (s CreateLaunchConfigurationOutput) GoString() string {
  1850. return s.String()
  1851. }
  1852. type CreateOrUpdateTagsInput struct {
  1853. // One or more tags.
  1854. Tags []*Tag `type:"list" required:"true"`
  1855. metadataCreateOrUpdateTagsInput `json:"-" xml:"-"`
  1856. }
  1857. type metadataCreateOrUpdateTagsInput struct {
  1858. SDKShapeTraits bool `type:"structure"`
  1859. }
  1860. // String returns the string representation
  1861. func (s CreateOrUpdateTagsInput) String() string {
  1862. return awsutil.Prettify(s)
  1863. }
  1864. // GoString returns the string representation
  1865. func (s CreateOrUpdateTagsInput) GoString() string {
  1866. return s.String()
  1867. }
  1868. type CreateOrUpdateTagsOutput struct {
  1869. metadataCreateOrUpdateTagsOutput `json:"-" xml:"-"`
  1870. }
  1871. type metadataCreateOrUpdateTagsOutput struct {
  1872. SDKShapeTraits bool `type:"structure"`
  1873. }
  1874. // String returns the string representation
  1875. func (s CreateOrUpdateTagsOutput) String() string {
  1876. return awsutil.Prettify(s)
  1877. }
  1878. // GoString returns the string representation
  1879. func (s CreateOrUpdateTagsOutput) GoString() string {
  1880. return s.String()
  1881. }
  1882. type DeleteAutoScalingGroupInput struct {
  1883. // The name of the group to delete.
  1884. AutoScalingGroupName *string `type:"string" required:"true"`
  1885. // Specifies that the group will be deleted along with all instances associated
  1886. // with the group, without waiting for all instances to be terminated. This
  1887. // parameter also deletes any lifecycle actions associated with the group.
  1888. ForceDelete *bool `type:"boolean"`
  1889. metadataDeleteAutoScalingGroupInput `json:"-" xml:"-"`
  1890. }
  1891. type metadataDeleteAutoScalingGroupInput struct {
  1892. SDKShapeTraits bool `type:"structure"`
  1893. }
  1894. // String returns the string representation
  1895. func (s DeleteAutoScalingGroupInput) String() string {
  1896. return awsutil.Prettify(s)
  1897. }
  1898. // GoString returns the string representation
  1899. func (s DeleteAutoScalingGroupInput) GoString() string {
  1900. return s.String()
  1901. }
  1902. type DeleteAutoScalingGroupOutput struct {
  1903. metadataDeleteAutoScalingGroupOutput `json:"-" xml:"-"`
  1904. }
  1905. type metadataDeleteAutoScalingGroupOutput struct {
  1906. SDKShapeTraits bool `type:"structure"`
  1907. }
  1908. // String returns the string representation
  1909. func (s DeleteAutoScalingGroupOutput) String() string {
  1910. return awsutil.Prettify(s)
  1911. }
  1912. // GoString returns the string representation
  1913. func (s DeleteAutoScalingGroupOutput) GoString() string {
  1914. return s.String()
  1915. }
  1916. type DeleteLaunchConfigurationInput struct {
  1917. // The name of the launch configuration.
  1918. LaunchConfigurationName *string `type:"string" required:"true"`
  1919. metadataDeleteLaunchConfigurationInput `json:"-" xml:"-"`
  1920. }
  1921. type metadataDeleteLaunchConfigurationInput struct {
  1922. SDKShapeTraits bool `type:"structure"`
  1923. }
  1924. // String returns the string representation
  1925. func (s DeleteLaunchConfigurationInput) String() string {
  1926. return awsutil.Prettify(s)
  1927. }
  1928. // GoString returns the string representation
  1929. func (s DeleteLaunchConfigurationInput) GoString() string {
  1930. return s.String()
  1931. }
  1932. type DeleteLaunchConfigurationOutput struct {
  1933. metadataDeleteLaunchConfigurationOutput `json:"-" xml:"-"`
  1934. }
  1935. type metadataDeleteLaunchConfigurationOutput struct {
  1936. SDKShapeTraits bool `type:"structure"`
  1937. }
  1938. // String returns the string representation
  1939. func (s DeleteLaunchConfigurationOutput) String() string {
  1940. return awsutil.Prettify(s)
  1941. }
  1942. // GoString returns the string representation
  1943. func (s DeleteLaunchConfigurationOutput) GoString() string {
  1944. return s.String()
  1945. }
  1946. type DeleteLifecycleHookInput struct {
  1947. // The name of the Auto Scaling group for the lifecycle hook.
  1948. AutoScalingGroupName *string `type:"string" required:"true"`
  1949. // The name of the lifecycle hook.
  1950. LifecycleHookName *string `type:"string" required:"true"`
  1951. metadataDeleteLifecycleHookInput `json:"-" xml:"-"`
  1952. }
  1953. type metadataDeleteLifecycleHookInput struct {
  1954. SDKShapeTraits bool `type:"structure"`
  1955. }
  1956. // String returns the string representation
  1957. func (s DeleteLifecycleHookInput) String() string {
  1958. return awsutil.Prettify(s)
  1959. }
  1960. // GoString returns the string representation
  1961. func (s DeleteLifecycleHookInput) GoString() string {
  1962. return s.String()
  1963. }
  1964. type DeleteLifecycleHookOutput struct {
  1965. metadataDeleteLifecycleHookOutput `json:"-" xml:"-"`
  1966. }
  1967. type metadataDeleteLifecycleHookOutput struct {
  1968. SDKShapeTraits bool `type:"structure"`
  1969. }
  1970. // String returns the string representation
  1971. func (s DeleteLifecycleHookOutput) String() string {
  1972. return awsutil.Prettify(s)
  1973. }
  1974. // GoString returns the string representation
  1975. func (s DeleteLifecycleHookOutput) GoString() string {
  1976. return s.String()
  1977. }
  1978. type DeleteNotificationConfigurationInput struct {
  1979. // The name of the Auto Scaling group.
  1980. AutoScalingGroupName *string `type:"string" required:"true"`
  1981. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  1982. // (SNS) topic.
  1983. TopicARN *string `type:"string" required:"true"`
  1984. metadataDeleteNotificationConfigurationInput `json:"-" xml:"-"`
  1985. }
  1986. type metadataDeleteNotificationConfigurationInput struct {
  1987. SDKShapeTraits bool `type:"structure"`
  1988. }
  1989. // String returns the string representation
  1990. func (s DeleteNotificationConfigurationInput) String() string {
  1991. return awsutil.Prettify(s)
  1992. }
  1993. // GoString returns the string representation
  1994. func (s DeleteNotificationConfigurationInput) GoString() string {
  1995. return s.String()
  1996. }
  1997. type DeleteNotificationConfigurationOutput struct {
  1998. metadataDeleteNotificationConfigurationOutput `json:"-" xml:"-"`
  1999. }
  2000. type metadataDeleteNotificationConfigurationOutput struct {
  2001. SDKShapeTraits bool `type:"structure"`
  2002. }
  2003. // String returns the string representation
  2004. func (s DeleteNotificationConfigurationOutput) String() string {
  2005. return awsutil.Prettify(s)
  2006. }
  2007. // GoString returns the string representation
  2008. func (s DeleteNotificationConfigurationOutput) GoString() string {
  2009. return s.String()
  2010. }
  2011. type DeletePolicyInput struct {
  2012. // The name of the Auto Scaling group.
  2013. AutoScalingGroupName *string `type:"string"`
  2014. // The name or Amazon Resource Name (ARN) of the policy.
  2015. PolicyName *string `type:"string" required:"true"`
  2016. metadataDeletePolicyInput `json:"-" xml:"-"`
  2017. }
  2018. type metadataDeletePolicyInput struct {
  2019. SDKShapeTraits bool `type:"structure"`
  2020. }
  2021. // String returns the string representation
  2022. func (s DeletePolicyInput) String() string {
  2023. return awsutil.Prettify(s)
  2024. }
  2025. // GoString returns the string representation
  2026. func (s DeletePolicyInput) GoString() string {
  2027. return s.String()
  2028. }
  2029. type DeletePolicyOutput struct {
  2030. metadataDeletePolicyOutput `json:"-" xml:"-"`
  2031. }
  2032. type metadataDeletePolicyOutput struct {
  2033. SDKShapeTraits bool `type:"structure"`
  2034. }
  2035. // String returns the string representation
  2036. func (s DeletePolicyOutput) String() string {
  2037. return awsutil.Prettify(s)
  2038. }
  2039. // GoString returns the string representation
  2040. func (s DeletePolicyOutput) GoString() string {
  2041. return s.String()
  2042. }
  2043. type DeleteScheduledActionInput struct {
  2044. // The name of the Auto Scaling group.
  2045. AutoScalingGroupName *string `type:"string"`
  2046. // The name of the action to delete.
  2047. ScheduledActionName *string `type:"string" required:"true"`
  2048. metadataDeleteScheduledActionInput `json:"-" xml:"-"`
  2049. }
  2050. type metadataDeleteScheduledActionInput struct {
  2051. SDKShapeTraits bool `type:"structure"`
  2052. }
  2053. // String returns the string representation
  2054. func (s DeleteScheduledActionInput) String() string {
  2055. return awsutil.Prettify(s)
  2056. }
  2057. // GoString returns the string representation
  2058. func (s DeleteScheduledActionInput) GoString() string {
  2059. return s.String()
  2060. }
  2061. type DeleteScheduledActionOutput struct {
  2062. metadataDeleteScheduledActionOutput `json:"-" xml:"-"`
  2063. }
  2064. type metadataDeleteScheduledActionOutput struct {
  2065. SDKShapeTraits bool `type:"structure"`
  2066. }
  2067. // String returns the string representation
  2068. func (s DeleteScheduledActionOutput) String() string {
  2069. return awsutil.Prettify(s)
  2070. }
  2071. // GoString returns the string representation
  2072. func (s DeleteScheduledActionOutput) GoString() string {
  2073. return s.String()
  2074. }
  2075. type DeleteTagsInput struct {
  2076. // Each tag should be defined by its resource type, resource ID, key, value,
  2077. // and a propagate flag. Valid values are: Resource type = auto-scaling-group,
  2078. // Resource ID = AutoScalingGroupName, key=value, value=value, propagate=true
  2079. // or false.
  2080. Tags []*Tag `type:"list" required:"true"`
  2081. metadataDeleteTagsInput `json:"-" xml:"-"`
  2082. }
  2083. type metadataDeleteTagsInput struct {
  2084. SDKShapeTraits bool `type:"structure"`
  2085. }
  2086. // String returns the string representation
  2087. func (s DeleteTagsInput) String() string {
  2088. return awsutil.Prettify(s)
  2089. }
  2090. // GoString returns the string representation
  2091. func (s DeleteTagsInput) GoString() string {
  2092. return s.String()
  2093. }
  2094. type DeleteTagsOutput struct {
  2095. metadataDeleteTagsOutput `json:"-" xml:"-"`
  2096. }
  2097. type metadataDeleteTagsOutput struct {
  2098. SDKShapeTraits bool `type:"structure"`
  2099. }
  2100. // String returns the string representation
  2101. func (s DeleteTagsOutput) String() string {
  2102. return awsutil.Prettify(s)
  2103. }
  2104. // GoString returns the string representation
  2105. func (s DeleteTagsOutput) GoString() string {
  2106. return s.String()
  2107. }
  2108. type DescribeAccountLimitsInput struct {
  2109. metadataDescribeAccountLimitsInput `json:"-" xml:"-"`
  2110. }
  2111. type metadataDescribeAccountLimitsInput struct {
  2112. SDKShapeTraits bool `type:"structure"`
  2113. }
  2114. // String returns the string representation
  2115. func (s DescribeAccountLimitsInput) String() string {
  2116. return awsutil.Prettify(s)
  2117. }
  2118. // GoString returns the string representation
  2119. func (s DescribeAccountLimitsInput) GoString() string {
  2120. return s.String()
  2121. }
  2122. type DescribeAccountLimitsOutput struct {
  2123. // The maximum number of groups allowed for your AWS account. The default limit
  2124. // is 20 per region.
  2125. MaxNumberOfAutoScalingGroups *int64 `type:"integer"`
  2126. // The maximum number of launch configurations allowed for your AWS account.
  2127. // The default limit is 100 per region.
  2128. MaxNumberOfLaunchConfigurations *int64 `type:"integer"`
  2129. metadataDescribeAccountLimitsOutput `json:"-" xml:"-"`
  2130. }
  2131. type metadataDescribeAccountLimitsOutput struct {
  2132. SDKShapeTraits bool `type:"structure"`
  2133. }
  2134. // String returns the string representation
  2135. func (s DescribeAccountLimitsOutput) String() string {
  2136. return awsutil.Prettify(s)
  2137. }
  2138. // GoString returns the string representation
  2139. func (s DescribeAccountLimitsOutput) GoString() string {
  2140. return s.String()
  2141. }
  2142. type DescribeAdjustmentTypesInput struct {
  2143. metadataDescribeAdjustmentTypesInput `json:"-" xml:"-"`
  2144. }
  2145. type metadataDescribeAdjustmentTypesInput struct {
  2146. SDKShapeTraits bool `type:"structure"`
  2147. }
  2148. // String returns the string representation
  2149. func (s DescribeAdjustmentTypesInput) String() string {
  2150. return awsutil.Prettify(s)
  2151. }
  2152. // GoString returns the string representation
  2153. func (s DescribeAdjustmentTypesInput) GoString() string {
  2154. return s.String()
  2155. }
  2156. type DescribeAdjustmentTypesOutput struct {
  2157. // The policy adjustment types.
  2158. AdjustmentTypes []*AdjustmentType `type:"list"`
  2159. metadataDescribeAdjustmentTypesOutput `json:"-" xml:"-"`
  2160. }
  2161. type metadataDescribeAdjustmentTypesOutput struct {
  2162. SDKShapeTraits bool `type:"structure"`
  2163. }
  2164. // String returns the string representation
  2165. func (s DescribeAdjustmentTypesOutput) String() string {
  2166. return awsutil.Prettify(s)
  2167. }
  2168. // GoString returns the string representation
  2169. func (s DescribeAdjustmentTypesOutput) GoString() string {
  2170. return s.String()
  2171. }
  2172. type DescribeAutoScalingGroupsInput struct {
  2173. // The group names.
  2174. AutoScalingGroupNames []*string `type:"list"`
  2175. // The maximum number of items to return with this call.
  2176. MaxRecords *int64 `type:"integer"`
  2177. // The token for the next set of items to return. (You received this token from
  2178. // a previous call.)
  2179. NextToken *string `type:"string"`
  2180. metadataDescribeAutoScalingGroupsInput `json:"-" xml:"-"`
  2181. }
  2182. type metadataDescribeAutoScalingGroupsInput struct {
  2183. SDKShapeTraits bool `type:"structure"`
  2184. }
  2185. // String returns the string representation
  2186. func (s DescribeAutoScalingGroupsInput) String() string {
  2187. return awsutil.Prettify(s)
  2188. }
  2189. // GoString returns the string representation
  2190. func (s DescribeAutoScalingGroupsInput) GoString() string {
  2191. return s.String()
  2192. }
  2193. type DescribeAutoScalingGroupsOutput struct {
  2194. // The groups.
  2195. AutoScalingGroups []*Group `type:"list" required:"true"`
  2196. // The token to use when requesting the next set of items. If there are no additional
  2197. // items to return, the string is empty.
  2198. NextToken *string `type:"string"`
  2199. metadataDescribeAutoScalingGroupsOutput `json:"-" xml:"-"`
  2200. }
  2201. type metadataDescribeAutoScalingGroupsOutput struct {
  2202. SDKShapeTraits bool `type:"structure"`
  2203. }
  2204. // String returns the string representation
  2205. func (s DescribeAutoScalingGroupsOutput) String() string {
  2206. return awsutil.Prettify(s)
  2207. }
  2208. // GoString returns the string representation
  2209. func (s DescribeAutoScalingGroupsOutput) GoString() string {
  2210. return s.String()
  2211. }
  2212. type DescribeAutoScalingInstancesInput struct {
  2213. // One or more Auto Scaling instances to describe, up to 50 instances. If you
  2214. // omit this parameter, all Auto Scaling instances are described. If you specify
  2215. // an ID that does not exist, it is ignored with no error.
  2216. InstanceIds []*string `type:"list"`
  2217. // The maximum number of items to return with this call.
  2218. MaxRecords *int64 `type:"integer"`
  2219. // The token for the next set of items to return. (You received this token from
  2220. // a previous call.)
  2221. NextToken *string `type:"string"`
  2222. metadataDescribeAutoScalingInstancesInput `json:"-" xml:"-"`
  2223. }
  2224. type metadataDescribeAutoScalingInstancesInput struct {
  2225. SDKShapeTraits bool `type:"structure"`
  2226. }
  2227. // String returns the string representation
  2228. func (s DescribeAutoScalingInstancesInput) String() string {
  2229. return awsutil.Prettify(s)
  2230. }
  2231. // GoString returns the string representation
  2232. func (s DescribeAutoScalingInstancesInput) GoString() string {
  2233. return s.String()
  2234. }
  2235. type DescribeAutoScalingInstancesOutput struct {
  2236. // The instances.
  2237. AutoScalingInstances []*InstanceDetails `type:"list"`
  2238. // The token to use when requesting the next set of items. If there are no additional
  2239. // items to return, the string is empty.
  2240. NextToken *string `type:"string"`
  2241. metadataDescribeAutoScalingInstancesOutput `json:"-" xml:"-"`
  2242. }
  2243. type metadataDescribeAutoScalingInstancesOutput struct {
  2244. SDKShapeTraits bool `type:"structure"`
  2245. }
  2246. // String returns the string representation
  2247. func (s DescribeAutoScalingInstancesOutput) String() string {
  2248. return awsutil.Prettify(s)
  2249. }
  2250. // GoString returns the string representation
  2251. func (s DescribeAutoScalingInstancesOutput) GoString() string {
  2252. return s.String()
  2253. }
  2254. type DescribeAutoScalingNotificationTypesInput struct {
  2255. metadataDescribeAutoScalingNotificationTypesInput `json:"-" xml:"-"`
  2256. }
  2257. type metadataDescribeAutoScalingNotificationTypesInput struct {
  2258. SDKShapeTraits bool `type:"structure"`
  2259. }
  2260. // String returns the string representation
  2261. func (s DescribeAutoScalingNotificationTypesInput) String() string {
  2262. return awsutil.Prettify(s)
  2263. }
  2264. // GoString returns the string representation
  2265. func (s DescribeAutoScalingNotificationTypesInput) GoString() string {
  2266. return s.String()
  2267. }
  2268. type DescribeAutoScalingNotificationTypesOutput struct {
  2269. // One or more of the following notification types:
  2270. //
  2271. // autoscaling:EC2_INSTANCE_LAUNCH
  2272. //
  2273. // autoscaling:EC2_INSTANCE_LAUNCH_ERROR
  2274. //
  2275. // autoscaling:EC2_INSTANCE_TERMINATE
  2276. //
  2277. // autoscaling:EC2_INSTANCE_TERMINATE_ERROR
  2278. //
  2279. // autoscaling:TEST_NOTIFICATION
  2280. AutoScalingNotificationTypes []*string `type:"list"`
  2281. metadataDescribeAutoScalingNotificationTypesOutput `json:"-" xml:"-"`
  2282. }
  2283. type metadataDescribeAutoScalingNotificationTypesOutput struct {
  2284. SDKShapeTraits bool `type:"structure"`
  2285. }
  2286. // String returns the string representation
  2287. func (s DescribeAutoScalingNotificationTypesOutput) String() string {
  2288. return awsutil.Prettify(s)
  2289. }
  2290. // GoString returns the string representation
  2291. func (s DescribeAutoScalingNotificationTypesOutput) GoString() string {
  2292. return s.String()
  2293. }
  2294. type DescribeLaunchConfigurationsInput struct {
  2295. // The launch configuration names.
  2296. LaunchConfigurationNames []*string `type:"list"`
  2297. // The maximum number of items to return with this call. The default is 100.
  2298. MaxRecords *int64 `type:"integer"`
  2299. // The token for the next set of items to return. (You received this token from
  2300. // a previous call.)
  2301. NextToken *string `type:"string"`
  2302. metadataDescribeLaunchConfigurationsInput `json:"-" xml:"-"`
  2303. }
  2304. type metadataDescribeLaunchConfigurationsInput struct {
  2305. SDKShapeTraits bool `type:"structure"`
  2306. }
  2307. // String returns the string representation
  2308. func (s DescribeLaunchConfigurationsInput) String() string {
  2309. return awsutil.Prettify(s)
  2310. }
  2311. // GoString returns the string representation
  2312. func (s DescribeLaunchConfigurationsInput) GoString() string {
  2313. return s.String()
  2314. }
  2315. type DescribeLaunchConfigurationsOutput struct {
  2316. // The launch configurations.
  2317. LaunchConfigurations []*LaunchConfiguration `type:"list" required:"true"`
  2318. // The token to use when requesting the next set of items. If there are no additional
  2319. // items to return, the string is empty.
  2320. NextToken *string `type:"string"`
  2321. metadataDescribeLaunchConfigurationsOutput `json:"-" xml:"-"`
  2322. }
  2323. type metadataDescribeLaunchConfigurationsOutput struct {
  2324. SDKShapeTraits bool `type:"structure"`
  2325. }
  2326. // String returns the string representation
  2327. func (s DescribeLaunchConfigurationsOutput) String() string {
  2328. return awsutil.Prettify(s)
  2329. }
  2330. // GoString returns the string representation
  2331. func (s DescribeLaunchConfigurationsOutput) GoString() string {
  2332. return s.String()
  2333. }
  2334. type DescribeLifecycleHookTypesInput struct {
  2335. metadataDescribeLifecycleHookTypesInput `json:"-" xml:"-"`
  2336. }
  2337. type metadataDescribeLifecycleHookTypesInput struct {
  2338. SDKShapeTraits bool `type:"structure"`
  2339. }
  2340. // String returns the string representation
  2341. func (s DescribeLifecycleHookTypesInput) String() string {
  2342. return awsutil.Prettify(s)
  2343. }
  2344. // GoString returns the string representation
  2345. func (s DescribeLifecycleHookTypesInput) GoString() string {
  2346. return s.String()
  2347. }
  2348. type DescribeLifecycleHookTypesOutput struct {
  2349. // One or more of the following notification types:
  2350. //
  2351. // autoscaling:EC2_INSTANCE_LAUNCHING
  2352. //
  2353. // autoscaling:EC2_INSTANCE_TERMINATING
  2354. LifecycleHookTypes []*string `type:"list"`
  2355. metadataDescribeLifecycleHookTypesOutput `json:"-" xml:"-"`
  2356. }
  2357. type metadataDescribeLifecycleHookTypesOutput struct {
  2358. SDKShapeTraits bool `type:"structure"`
  2359. }
  2360. // String returns the string representation
  2361. func (s DescribeLifecycleHookTypesOutput) String() string {
  2362. return awsutil.Prettify(s)
  2363. }
  2364. // GoString returns the string representation
  2365. func (s DescribeLifecycleHookTypesOutput) GoString() string {
  2366. return s.String()
  2367. }
  2368. type DescribeLifecycleHooksInput struct {
  2369. // The name of the group.
  2370. AutoScalingGroupName *string `type:"string" required:"true"`
  2371. // The names of one or more lifecycle hooks.
  2372. LifecycleHookNames []*string `type:"list"`
  2373. metadataDescribeLifecycleHooksInput `json:"-" xml:"-"`
  2374. }
  2375. type metadataDescribeLifecycleHooksInput struct {
  2376. SDKShapeTraits bool `type:"structure"`
  2377. }
  2378. // String returns the string representation
  2379. func (s DescribeLifecycleHooksInput) String() string {
  2380. return awsutil.Prettify(s)
  2381. }
  2382. // GoString returns the string representation
  2383. func (s DescribeLifecycleHooksInput) GoString() string {
  2384. return s.String()
  2385. }
  2386. type DescribeLifecycleHooksOutput struct {
  2387. // The lifecycle hooks for the specified group.
  2388. LifecycleHooks []*LifecycleHook `type:"list"`
  2389. metadataDescribeLifecycleHooksOutput `json:"-" xml:"-"`
  2390. }
  2391. type metadataDescribeLifecycleHooksOutput struct {
  2392. SDKShapeTraits bool `type:"structure"`
  2393. }
  2394. // String returns the string representation
  2395. func (s DescribeLifecycleHooksOutput) String() string {
  2396. return awsutil.Prettify(s)
  2397. }
  2398. // GoString returns the string representation
  2399. func (s DescribeLifecycleHooksOutput) GoString() string {
  2400. return s.String()
  2401. }
  2402. type DescribeLoadBalancersInput struct {
  2403. // The name of the group.
  2404. AutoScalingGroupName *string `type:"string" required:"true"`
  2405. // The maximum number of items to return with this call.
  2406. MaxRecords *int64 `type:"integer"`
  2407. // The token for the next set of items to return. (You received this token from
  2408. // a previous call.)
  2409. NextToken *string `type:"string"`
  2410. metadataDescribeLoadBalancersInput `json:"-" xml:"-"`
  2411. }
  2412. type metadataDescribeLoadBalancersInput struct {
  2413. SDKShapeTraits bool `type:"structure"`
  2414. }
  2415. // String returns the string representation
  2416. func (s DescribeLoadBalancersInput) String() string {
  2417. return awsutil.Prettify(s)
  2418. }
  2419. // GoString returns the string representation
  2420. func (s DescribeLoadBalancersInput) GoString() string {
  2421. return s.String()
  2422. }
  2423. type DescribeLoadBalancersOutput struct {
  2424. // The load balancers.
  2425. LoadBalancers []*LoadBalancerState `type:"list"`
  2426. // The token to use when requesting the next set of items. If there are no additional
  2427. // items to return, the string is empty.
  2428. NextToken *string `type:"string"`
  2429. metadataDescribeLoadBalancersOutput `json:"-" xml:"-"`
  2430. }
  2431. type metadataDescribeLoadBalancersOutput struct {
  2432. SDKShapeTraits bool `type:"structure"`
  2433. }
  2434. // String returns the string representation
  2435. func (s DescribeLoadBalancersOutput) String() string {
  2436. return awsutil.Prettify(s)
  2437. }
  2438. // GoString returns the string representation
  2439. func (s DescribeLoadBalancersOutput) GoString() string {
  2440. return s.String()
  2441. }
  2442. type DescribeMetricCollectionTypesInput struct {
  2443. metadataDescribeMetricCollectionTypesInput `json:"-" xml:"-"`
  2444. }
  2445. type metadataDescribeMetricCollectionTypesInput struct {
  2446. SDKShapeTraits bool `type:"structure"`
  2447. }
  2448. // String returns the string representation
  2449. func (s DescribeMetricCollectionTypesInput) String() string {
  2450. return awsutil.Prettify(s)
  2451. }
  2452. // GoString returns the string representation
  2453. func (s DescribeMetricCollectionTypesInput) GoString() string {
  2454. return s.String()
  2455. }
  2456. type DescribeMetricCollectionTypesOutput struct {
  2457. // The granularities for the metrics.
  2458. Granularities []*MetricGranularityType `type:"list"`
  2459. // One or more metrics.
  2460. Metrics []*MetricCollectionType `type:"list"`
  2461. metadataDescribeMetricCollectionTypesOutput `json:"-" xml:"-"`
  2462. }
  2463. type metadataDescribeMetricCollectionTypesOutput struct {
  2464. SDKShapeTraits bool `type:"structure"`
  2465. }
  2466. // String returns the string representation
  2467. func (s DescribeMetricCollectionTypesOutput) String() string {
  2468. return awsutil.Prettify(s)
  2469. }
  2470. // GoString returns the string representation
  2471. func (s DescribeMetricCollectionTypesOutput) GoString() string {
  2472. return s.String()
  2473. }
  2474. type DescribeNotificationConfigurationsInput struct {
  2475. // The name of the group.
  2476. AutoScalingGroupNames []*string `type:"list"`
  2477. // The maximum number of items to return with this call.
  2478. MaxRecords *int64 `type:"integer"`
  2479. // The token for the next set of items to return. (You received this token from
  2480. // a previous call.)
  2481. NextToken *string `type:"string"`
  2482. metadataDescribeNotificationConfigurationsInput `json:"-" xml:"-"`
  2483. }
  2484. type metadataDescribeNotificationConfigurationsInput struct {
  2485. SDKShapeTraits bool `type:"structure"`
  2486. }
  2487. // String returns the string representation
  2488. func (s DescribeNotificationConfigurationsInput) String() string {
  2489. return awsutil.Prettify(s)
  2490. }
  2491. // GoString returns the string representation
  2492. func (s DescribeNotificationConfigurationsInput) GoString() string {
  2493. return s.String()
  2494. }
  2495. type DescribeNotificationConfigurationsOutput struct {
  2496. // The token to use when requesting the next set of items. If there are no additional
  2497. // items to return, the string is empty.
  2498. NextToken *string `type:"string"`
  2499. // The notification configurations.
  2500. NotificationConfigurations []*NotificationConfiguration `type:"list" required:"true"`
  2501. metadataDescribeNotificationConfigurationsOutput `json:"-" xml:"-"`
  2502. }
  2503. type metadataDescribeNotificationConfigurationsOutput struct {
  2504. SDKShapeTraits bool `type:"structure"`
  2505. }
  2506. // String returns the string representation
  2507. func (s DescribeNotificationConfigurationsOutput) String() string {
  2508. return awsutil.Prettify(s)
  2509. }
  2510. // GoString returns the string representation
  2511. func (s DescribeNotificationConfigurationsOutput) GoString() string {
  2512. return s.String()
  2513. }
  2514. type DescribePoliciesInput struct {
  2515. // The name of the group.
  2516. AutoScalingGroupName *string `type:"string"`
  2517. // The maximum number of items to be returned with each call.
  2518. MaxRecords *int64 `type:"integer"`
  2519. // The token for the next set of items to return. (You received this token from
  2520. // a previous call.)
  2521. NextToken *string `type:"string"`
  2522. // One or more policy names or policy ARNs to be described. If you omit this
  2523. // list, all policy names are described. If an group name is provided, the results
  2524. // are limited to that group. This list is limited to 50 items. If you specify
  2525. // an unknown policy name, it is ignored with no error.
  2526. PolicyNames []*string `type:"list"`
  2527. // One or more policy types. Valid values are SimpleScaling and StepScaling.
  2528. PolicyTypes []*string `type:"list"`
  2529. metadataDescribePoliciesInput `json:"-" xml:"-"`
  2530. }
  2531. type metadataDescribePoliciesInput struct {
  2532. SDKShapeTraits bool `type:"structure"`
  2533. }
  2534. // String returns the string representation
  2535. func (s DescribePoliciesInput) String() string {
  2536. return awsutil.Prettify(s)
  2537. }
  2538. // GoString returns the string representation
  2539. func (s DescribePoliciesInput) GoString() string {
  2540. return s.String()
  2541. }
  2542. type DescribePoliciesOutput struct {
  2543. // The token to use when requesting the next set of items. If there are no additional
  2544. // items to return, the string is empty.
  2545. NextToken *string `type:"string"`
  2546. // The scaling policies.
  2547. ScalingPolicies []*ScalingPolicy `type:"list"`
  2548. metadataDescribePoliciesOutput `json:"-" xml:"-"`
  2549. }
  2550. type metadataDescribePoliciesOutput struct {
  2551. SDKShapeTraits bool `type:"structure"`
  2552. }
  2553. // String returns the string representation
  2554. func (s DescribePoliciesOutput) String() string {
  2555. return awsutil.Prettify(s)
  2556. }
  2557. // GoString returns the string representation
  2558. func (s DescribePoliciesOutput) GoString() string {
  2559. return s.String()
  2560. }
  2561. type DescribeScalingActivitiesInput struct {
  2562. // The activity IDs of the desired scaling activities. If this list is omitted,
  2563. // all activities are described. If the AutoScalingGroupName parameter is provided,
  2564. // the results are limited to that group. The list of requested activities cannot
  2565. // contain more than 50 items. If unknown activities are requested, they are
  2566. // ignored with no error.
  2567. ActivityIds []*string `type:"list"`
  2568. // The name of the group.
  2569. AutoScalingGroupName *string `type:"string"`
  2570. // The maximum number of items to return with this call.
  2571. MaxRecords *int64 `type:"integer"`
  2572. // The token for the next set of items to return. (You received this token from
  2573. // a previous call.)
  2574. NextToken *string `type:"string"`
  2575. metadataDescribeScalingActivitiesInput `json:"-" xml:"-"`
  2576. }
  2577. type metadataDescribeScalingActivitiesInput struct {
  2578. SDKShapeTraits bool `type:"structure"`
  2579. }
  2580. // String returns the string representation
  2581. func (s DescribeScalingActivitiesInput) String() string {
  2582. return awsutil.Prettify(s)
  2583. }
  2584. // GoString returns the string representation
  2585. func (s DescribeScalingActivitiesInput) GoString() string {
  2586. return s.String()
  2587. }
  2588. type DescribeScalingActivitiesOutput struct {
  2589. // The scaling activities.
  2590. Activities []*Activity `type:"list" required:"true"`
  2591. // The token to use when requesting the next set of items. If there are no additional
  2592. // items to return, the string is empty.
  2593. NextToken *string `type:"string"`
  2594. metadataDescribeScalingActivitiesOutput `json:"-" xml:"-"`
  2595. }
  2596. type metadataDescribeScalingActivitiesOutput struct {
  2597. SDKShapeTraits bool `type:"structure"`
  2598. }
  2599. // String returns the string representation
  2600. func (s DescribeScalingActivitiesOutput) String() string {
  2601. return awsutil.Prettify(s)
  2602. }
  2603. // GoString returns the string representation
  2604. func (s DescribeScalingActivitiesOutput) GoString() string {
  2605. return s.String()
  2606. }
  2607. type DescribeScalingProcessTypesInput struct {
  2608. metadataDescribeScalingProcessTypesInput `json:"-" xml:"-"`
  2609. }
  2610. type metadataDescribeScalingProcessTypesInput struct {
  2611. SDKShapeTraits bool `type:"structure"`
  2612. }
  2613. // String returns the string representation
  2614. func (s DescribeScalingProcessTypesInput) String() string {
  2615. return awsutil.Prettify(s)
  2616. }
  2617. // GoString returns the string representation
  2618. func (s DescribeScalingProcessTypesInput) GoString() string {
  2619. return s.String()
  2620. }
  2621. type DescribeScalingProcessTypesOutput struct {
  2622. // The names of the process types.
  2623. Processes []*ProcessType `type:"list"`
  2624. metadataDescribeScalingProcessTypesOutput `json:"-" xml:"-"`
  2625. }
  2626. type metadataDescribeScalingProcessTypesOutput struct {
  2627. SDKShapeTraits bool `type:"structure"`
  2628. }
  2629. // String returns the string representation
  2630. func (s DescribeScalingProcessTypesOutput) String() string {
  2631. return awsutil.Prettify(s)
  2632. }
  2633. // GoString returns the string representation
  2634. func (s DescribeScalingProcessTypesOutput) GoString() string {
  2635. return s.String()
  2636. }
  2637. type DescribeScheduledActionsInput struct {
  2638. // The name of the group.
  2639. AutoScalingGroupName *string `type:"string"`
  2640. // The latest scheduled start time to return. If scheduled action names are
  2641. // provided, this parameter is ignored.
  2642. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2643. // The maximum number of items to return with this call.
  2644. MaxRecords *int64 `type:"integer"`
  2645. // The token for the next set of items to return. (You received this token from
  2646. // a previous call.)
  2647. NextToken *string `type:"string"`
  2648. // Describes one or more scheduled actions. If you omit this list, the call
  2649. // describes all scheduled actions. If you specify an unknown scheduled action
  2650. // it is ignored with no error.
  2651. //
  2652. // You can describe up to a maximum of 50 instances with a single call. If
  2653. // there are more items to return, the call returns a token. To get the next
  2654. // set of items, repeat the call with the returned token in the NextToken parameter.
  2655. ScheduledActionNames []*string `type:"list"`
  2656. // The earliest scheduled start time to return. If scheduled action names are
  2657. // provided, this parameter is ignored.
  2658. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2659. metadataDescribeScheduledActionsInput `json:"-" xml:"-"`
  2660. }
  2661. type metadataDescribeScheduledActionsInput struct {
  2662. SDKShapeTraits bool `type:"structure"`
  2663. }
  2664. // String returns the string representation
  2665. func (s DescribeScheduledActionsInput) String() string {
  2666. return awsutil.Prettify(s)
  2667. }
  2668. // GoString returns the string representation
  2669. func (s DescribeScheduledActionsInput) GoString() string {
  2670. return s.String()
  2671. }
  2672. type DescribeScheduledActionsOutput struct {
  2673. // The token to use when requesting the next set of items. If there are no additional
  2674. // items to return, the string is empty.
  2675. NextToken *string `type:"string"`
  2676. // The scheduled actions.
  2677. ScheduledUpdateGroupActions []*ScheduledUpdateGroupAction `type:"list"`
  2678. metadataDescribeScheduledActionsOutput `json:"-" xml:"-"`
  2679. }
  2680. type metadataDescribeScheduledActionsOutput struct {
  2681. SDKShapeTraits bool `type:"structure"`
  2682. }
  2683. // String returns the string representation
  2684. func (s DescribeScheduledActionsOutput) String() string {
  2685. return awsutil.Prettify(s)
  2686. }
  2687. // GoString returns the string representation
  2688. func (s DescribeScheduledActionsOutput) GoString() string {
  2689. return s.String()
  2690. }
  2691. type DescribeTagsInput struct {
  2692. // A filter used to scope the tags to return.
  2693. Filters []*Filter `type:"list"`
  2694. // The maximum number of items to return with this call.
  2695. MaxRecords *int64 `type:"integer"`
  2696. // The token for the next set of items to return. (You received this token from
  2697. // a previous call.)
  2698. NextToken *string `type:"string"`
  2699. metadataDescribeTagsInput `json:"-" xml:"-"`
  2700. }
  2701. type metadataDescribeTagsInput struct {
  2702. SDKShapeTraits bool `type:"structure"`
  2703. }
  2704. // String returns the string representation
  2705. func (s DescribeTagsInput) String() string {
  2706. return awsutil.Prettify(s)
  2707. }
  2708. // GoString returns the string representation
  2709. func (s DescribeTagsInput) GoString() string {
  2710. return s.String()
  2711. }
  2712. type DescribeTagsOutput struct {
  2713. // The token to use when requesting the next set of items. If there are no additional
  2714. // items to return, the string is empty.
  2715. NextToken *string `type:"string"`
  2716. // The tags.
  2717. Tags []*TagDescription `type:"list"`
  2718. metadataDescribeTagsOutput `json:"-" xml:"-"`
  2719. }
  2720. type metadataDescribeTagsOutput struct {
  2721. SDKShapeTraits bool `type:"structure"`
  2722. }
  2723. // String returns the string representation
  2724. func (s DescribeTagsOutput) String() string {
  2725. return awsutil.Prettify(s)
  2726. }
  2727. // GoString returns the string representation
  2728. func (s DescribeTagsOutput) GoString() string {
  2729. return s.String()
  2730. }
  2731. type DescribeTerminationPolicyTypesInput struct {
  2732. metadataDescribeTerminationPolicyTypesInput `json:"-" xml:"-"`
  2733. }
  2734. type metadataDescribeTerminationPolicyTypesInput struct {
  2735. SDKShapeTraits bool `type:"structure"`
  2736. }
  2737. // String returns the string representation
  2738. func (s DescribeTerminationPolicyTypesInput) String() string {
  2739. return awsutil.Prettify(s)
  2740. }
  2741. // GoString returns the string representation
  2742. func (s DescribeTerminationPolicyTypesInput) GoString() string {
  2743. return s.String()
  2744. }
  2745. type DescribeTerminationPolicyTypesOutput struct {
  2746. // The termination policies supported by Auto Scaling (OldestInstance, OldestLaunchConfiguration,
  2747. // NewestInstance, ClosestToNextInstanceHour, and Default).
  2748. TerminationPolicyTypes []*string `type:"list"`
  2749. metadataDescribeTerminationPolicyTypesOutput `json:"-" xml:"-"`
  2750. }
  2751. type metadataDescribeTerminationPolicyTypesOutput struct {
  2752. SDKShapeTraits bool `type:"structure"`
  2753. }
  2754. // String returns the string representation
  2755. func (s DescribeTerminationPolicyTypesOutput) String() string {
  2756. return awsutil.Prettify(s)
  2757. }
  2758. // GoString returns the string representation
  2759. func (s DescribeTerminationPolicyTypesOutput) GoString() string {
  2760. return s.String()
  2761. }
  2762. type DetachInstancesInput struct {
  2763. // The name of the group.
  2764. AutoScalingGroupName *string `type:"string" required:"true"`
  2765. // One or more instance IDs.
  2766. InstanceIds []*string `type:"list"`
  2767. // If True, the Auto Scaling group decrements the desired capacity value by
  2768. // the number of instances detached.
  2769. ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"`
  2770. metadataDetachInstancesInput `json:"-" xml:"-"`
  2771. }
  2772. type metadataDetachInstancesInput struct {
  2773. SDKShapeTraits bool `type:"structure"`
  2774. }
  2775. // String returns the string representation
  2776. func (s DetachInstancesInput) String() string {
  2777. return awsutil.Prettify(s)
  2778. }
  2779. // GoString returns the string representation
  2780. func (s DetachInstancesInput) GoString() string {
  2781. return s.String()
  2782. }
  2783. type DetachInstancesOutput struct {
  2784. // The activities related to detaching the instances from the Auto Scaling group.
  2785. Activities []*Activity `type:"list"`
  2786. metadataDetachInstancesOutput `json:"-" xml:"-"`
  2787. }
  2788. type metadataDetachInstancesOutput struct {
  2789. SDKShapeTraits bool `type:"structure"`
  2790. }
  2791. // String returns the string representation
  2792. func (s DetachInstancesOutput) String() string {
  2793. return awsutil.Prettify(s)
  2794. }
  2795. // GoString returns the string representation
  2796. func (s DetachInstancesOutput) GoString() string {
  2797. return s.String()
  2798. }
  2799. type DetachLoadBalancersInput struct {
  2800. // The name of the group.
  2801. AutoScalingGroupName *string `type:"string"`
  2802. // One or more load balancer names.
  2803. LoadBalancerNames []*string `type:"list"`
  2804. metadataDetachLoadBalancersInput `json:"-" xml:"-"`
  2805. }
  2806. type metadataDetachLoadBalancersInput struct {
  2807. SDKShapeTraits bool `type:"structure"`
  2808. }
  2809. // String returns the string representation
  2810. func (s DetachLoadBalancersInput) String() string {
  2811. return awsutil.Prettify(s)
  2812. }
  2813. // GoString returns the string representation
  2814. func (s DetachLoadBalancersInput) GoString() string {
  2815. return s.String()
  2816. }
  2817. type DetachLoadBalancersOutput struct {
  2818. metadataDetachLoadBalancersOutput `json:"-" xml:"-"`
  2819. }
  2820. type metadataDetachLoadBalancersOutput struct {
  2821. SDKShapeTraits bool `type:"structure"`
  2822. }
  2823. // String returns the string representation
  2824. func (s DetachLoadBalancersOutput) String() string {
  2825. return awsutil.Prettify(s)
  2826. }
  2827. // GoString returns the string representation
  2828. func (s DetachLoadBalancersOutput) GoString() string {
  2829. return s.String()
  2830. }
  2831. type DisableMetricsCollectionInput struct {
  2832. // The name or Amazon Resource Name (ARN) of the group.
  2833. AutoScalingGroupName *string `type:"string" required:"true"`
  2834. // One or more metrics. If you omit this parameter, all metrics are disabled.
  2835. //
  2836. // GroupMinSize
  2837. //
  2838. // GroupMaxSize
  2839. //
  2840. // GroupDesiredCapacity
  2841. //
  2842. // GroupInServiceInstances
  2843. //
  2844. // GroupPendingInstances
  2845. //
  2846. // GroupStandbyInstances
  2847. //
  2848. // GroupTerminatingInstances
  2849. //
  2850. // GroupTotalInstances
  2851. Metrics []*string `type:"list"`
  2852. metadataDisableMetricsCollectionInput `json:"-" xml:"-"`
  2853. }
  2854. type metadataDisableMetricsCollectionInput struct {
  2855. SDKShapeTraits bool `type:"structure"`
  2856. }
  2857. // String returns the string representation
  2858. func (s DisableMetricsCollectionInput) String() string {
  2859. return awsutil.Prettify(s)
  2860. }
  2861. // GoString returns the string representation
  2862. func (s DisableMetricsCollectionInput) GoString() string {
  2863. return s.String()
  2864. }
  2865. type DisableMetricsCollectionOutput struct {
  2866. metadataDisableMetricsCollectionOutput `json:"-" xml:"-"`
  2867. }
  2868. type metadataDisableMetricsCollectionOutput struct {
  2869. SDKShapeTraits bool `type:"structure"`
  2870. }
  2871. // String returns the string representation
  2872. func (s DisableMetricsCollectionOutput) String() string {
  2873. return awsutil.Prettify(s)
  2874. }
  2875. // GoString returns the string representation
  2876. func (s DisableMetricsCollectionOutput) GoString() string {
  2877. return s.String()
  2878. }
  2879. // Describes an Amazon EBS volume.
  2880. type Ebs struct {
  2881. // Indicates whether to delete the volume on instance termination.
  2882. //
  2883. // Default: true
  2884. DeleteOnTermination *bool `type:"boolean"`
  2885. // For Provisioned IOPS (SSD) volumes only. The number of I/O operations per
  2886. // second (IOPS) to provision for the volume.
  2887. //
  2888. // Valid values: Range is 100 to 4000.
  2889. //
  2890. // Default: None
  2891. Iops *int64 `type:"integer"`
  2892. // The ID of the snapshot.
  2893. SnapshotId *string `type:"string"`
  2894. // The volume size, in gigabytes.
  2895. //
  2896. // Valid values: If the volume type is io1, the minimum size of the volume
  2897. // is 10 GiB. If you specify SnapshotId and VolumeSize, VolumeSize must be equal
  2898. // to or larger than the size of the snapshot.
  2899. //
  2900. // Default: If you create a volume from a snapshot and you don't specify a
  2901. // volume size, the default is the size of the snapshot.
  2902. //
  2903. // Required: Required when the volume type is io1.
  2904. VolumeSize *int64 `type:"integer"`
  2905. // The volume type.
  2906. //
  2907. // Valid values: standard | io1 | gp2
  2908. //
  2909. // Default: standard
  2910. VolumeType *string `type:"string"`
  2911. metadataEbs `json:"-" xml:"-"`
  2912. }
  2913. type metadataEbs struct {
  2914. SDKShapeTraits bool `type:"structure"`
  2915. }
  2916. // String returns the string representation
  2917. func (s Ebs) String() string {
  2918. return awsutil.Prettify(s)
  2919. }
  2920. // GoString returns the string representation
  2921. func (s Ebs) GoString() string {
  2922. return s.String()
  2923. }
  2924. type EnableMetricsCollectionInput struct {
  2925. // The name or ARN of the Auto Scaling group.
  2926. AutoScalingGroupName *string `type:"string" required:"true"`
  2927. // The granularity to associate with the metrics to collect. The only valid
  2928. // value is 1Minute.
  2929. Granularity *string `type:"string" required:"true"`
  2930. // One or more metrics. If you omit this parameter, all metrics are enabled.
  2931. //
  2932. // GroupMinSize
  2933. //
  2934. // GroupMaxSize
  2935. //
  2936. // GroupDesiredCapacity
  2937. //
  2938. // GroupInServiceInstances
  2939. //
  2940. // GroupPendingInstances
  2941. //
  2942. // GroupStandbyInstances
  2943. //
  2944. // GroupTerminatingInstances
  2945. //
  2946. // GroupTotalInstances
  2947. //
  2948. // Note that the GroupStandbyInstances metric is not enabled by default. You
  2949. // must explicitly request this metric.
  2950. Metrics []*string `type:"list"`
  2951. metadataEnableMetricsCollectionInput `json:"-" xml:"-"`
  2952. }
  2953. type metadataEnableMetricsCollectionInput struct {
  2954. SDKShapeTraits bool `type:"structure"`
  2955. }
  2956. // String returns the string representation
  2957. func (s EnableMetricsCollectionInput) String() string {
  2958. return awsutil.Prettify(s)
  2959. }
  2960. // GoString returns the string representation
  2961. func (s EnableMetricsCollectionInput) GoString() string {
  2962. return s.String()
  2963. }
  2964. type EnableMetricsCollectionOutput struct {
  2965. metadataEnableMetricsCollectionOutput `json:"-" xml:"-"`
  2966. }
  2967. type metadataEnableMetricsCollectionOutput struct {
  2968. SDKShapeTraits bool `type:"structure"`
  2969. }
  2970. // String returns the string representation
  2971. func (s EnableMetricsCollectionOutput) String() string {
  2972. return awsutil.Prettify(s)
  2973. }
  2974. // GoString returns the string representation
  2975. func (s EnableMetricsCollectionOutput) GoString() string {
  2976. return s.String()
  2977. }
  2978. // Describes an enabled metric.
  2979. type EnabledMetric struct {
  2980. // The granularity of the metric. The only valid value is 1Minute.
  2981. Granularity *string `type:"string"`
  2982. // The name of the metric.
  2983. //
  2984. // GroupMinSize
  2985. //
  2986. // GroupMaxSize
  2987. //
  2988. // GroupDesiredCapacity
  2989. //
  2990. // GroupInServiceInstances
  2991. //
  2992. // GroupPendingInstances
  2993. //
  2994. // GroupStandbyInstances
  2995. //
  2996. // GroupTerminatingInstances
  2997. //
  2998. // GroupTotalInstances
  2999. Metric *string `type:"string"`
  3000. metadataEnabledMetric `json:"-" xml:"-"`
  3001. }
  3002. type metadataEnabledMetric struct {
  3003. SDKShapeTraits bool `type:"structure"`
  3004. }
  3005. // String returns the string representation
  3006. func (s EnabledMetric) String() string {
  3007. return awsutil.Prettify(s)
  3008. }
  3009. // GoString returns the string representation
  3010. func (s EnabledMetric) GoString() string {
  3011. return s.String()
  3012. }
  3013. type EnterStandbyInput struct {
  3014. // The name of the Auto Scaling group.
  3015. AutoScalingGroupName *string `type:"string" required:"true"`
  3016. // One or more instances to move into Standby mode. You must specify at least
  3017. // one instance ID.
  3018. InstanceIds []*string `type:"list"`
  3019. // Specifies whether the instances moved to Standby mode count as part of the
  3020. // Auto Scaling group's desired capacity. If set, the desired capacity for the
  3021. // Auto Scaling group decrements by the number of instances moved to Standby
  3022. // mode.
  3023. ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"`
  3024. metadataEnterStandbyInput `json:"-" xml:"-"`
  3025. }
  3026. type metadataEnterStandbyInput struct {
  3027. SDKShapeTraits bool `type:"structure"`
  3028. }
  3029. // String returns the string representation
  3030. func (s EnterStandbyInput) String() string {
  3031. return awsutil.Prettify(s)
  3032. }
  3033. // GoString returns the string representation
  3034. func (s EnterStandbyInput) GoString() string {
  3035. return s.String()
  3036. }
  3037. type EnterStandbyOutput struct {
  3038. // The activities related to moving instances into Standby mode.
  3039. Activities []*Activity `type:"list"`
  3040. metadataEnterStandbyOutput `json:"-" xml:"-"`
  3041. }
  3042. type metadataEnterStandbyOutput struct {
  3043. SDKShapeTraits bool `type:"structure"`
  3044. }
  3045. // String returns the string representation
  3046. func (s EnterStandbyOutput) String() string {
  3047. return awsutil.Prettify(s)
  3048. }
  3049. // GoString returns the string representation
  3050. func (s EnterStandbyOutput) GoString() string {
  3051. return s.String()
  3052. }
  3053. type ExecutePolicyInput struct {
  3054. // The name or Amazon Resource Name (ARN) of the Auto Scaling group.
  3055. AutoScalingGroupName *string `type:"string"`
  3056. // The breach threshold for the alarm.
  3057. //
  3058. // This parameter is required if the policy type is StepScaling and not supported
  3059. // otherwise.
  3060. BreachThreshold *float64 `type:"double"`
  3061. // If this parameter is true, Auto Scaling waits for the cooldown period to
  3062. // complete before executing the policy. Otherwise, Auto Scaling executes the
  3063. // policy without waiting for the cooldown period to complete.
  3064. //
  3065. // This parameter is not supported if the policy type is StepScaling.
  3066. //
  3067. // For more information, see Understanding Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html)
  3068. // in the Auto Scaling Developer Guide.
  3069. HonorCooldown *bool `type:"boolean"`
  3070. // The metric value to compare to BreachThreshold. This enables you to execute
  3071. // a policy of type StepScaling and determine which step adjustment to use.
  3072. // For example, if the breach threshold is 50 and you want to use a step adjustment
  3073. // with a lower bound of 0 and an upper bound of 10, you can set the metric
  3074. // value to 59.
  3075. //
  3076. // If you specify a metric value that doesn't correspond to a step adjustment
  3077. // for the policy, the call returns an error.
  3078. //
  3079. // This parameter is required if the policy type is StepScaling and not supported
  3080. // otherwise.
  3081. MetricValue *float64 `type:"double"`
  3082. // The name or ARN of the policy.
  3083. PolicyName *string `type:"string" required:"true"`
  3084. metadataExecutePolicyInput `json:"-" xml:"-"`
  3085. }
  3086. type metadataExecutePolicyInput struct {
  3087. SDKShapeTraits bool `type:"structure"`
  3088. }
  3089. // String returns the string representation
  3090. func (s ExecutePolicyInput) String() string {
  3091. return awsutil.Prettify(s)
  3092. }
  3093. // GoString returns the string representation
  3094. func (s ExecutePolicyInput) GoString() string {
  3095. return s.String()
  3096. }
  3097. type ExecutePolicyOutput struct {
  3098. metadataExecutePolicyOutput `json:"-" xml:"-"`
  3099. }
  3100. type metadataExecutePolicyOutput struct {
  3101. SDKShapeTraits bool `type:"structure"`
  3102. }
  3103. // String returns the string representation
  3104. func (s ExecutePolicyOutput) String() string {
  3105. return awsutil.Prettify(s)
  3106. }
  3107. // GoString returns the string representation
  3108. func (s ExecutePolicyOutput) GoString() string {
  3109. return s.String()
  3110. }
  3111. type ExitStandbyInput struct {
  3112. // The name of the Auto Scaling group.
  3113. AutoScalingGroupName *string `type:"string" required:"true"`
  3114. // One or more instance IDs. You must specify at least one instance ID.
  3115. InstanceIds []*string `type:"list"`
  3116. metadataExitStandbyInput `json:"-" xml:"-"`
  3117. }
  3118. type metadataExitStandbyInput struct {
  3119. SDKShapeTraits bool `type:"structure"`
  3120. }
  3121. // String returns the string representation
  3122. func (s ExitStandbyInput) String() string {
  3123. return awsutil.Prettify(s)
  3124. }
  3125. // GoString returns the string representation
  3126. func (s ExitStandbyInput) GoString() string {
  3127. return s.String()
  3128. }
  3129. type ExitStandbyOutput struct {
  3130. // The activities related to moving instances out of Standby mode.
  3131. Activities []*Activity `type:"list"`
  3132. metadataExitStandbyOutput `json:"-" xml:"-"`
  3133. }
  3134. type metadataExitStandbyOutput struct {
  3135. SDKShapeTraits bool `type:"structure"`
  3136. }
  3137. // String returns the string representation
  3138. func (s ExitStandbyOutput) String() string {
  3139. return awsutil.Prettify(s)
  3140. }
  3141. // GoString returns the string representation
  3142. func (s ExitStandbyOutput) GoString() string {
  3143. return s.String()
  3144. }
  3145. // Describes a filter.
  3146. type Filter struct {
  3147. // The name of the filter. The valid values are: "auto-scaling-group", "key",
  3148. // "value", and "propagate-at-launch".
  3149. Name *string `type:"string"`
  3150. // The value of the filter.
  3151. Values []*string `type:"list"`
  3152. metadataFilter `json:"-" xml:"-"`
  3153. }
  3154. type metadataFilter struct {
  3155. SDKShapeTraits bool `type:"structure"`
  3156. }
  3157. // String returns the string representation
  3158. func (s Filter) String() string {
  3159. return awsutil.Prettify(s)
  3160. }
  3161. // GoString returns the string representation
  3162. func (s Filter) GoString() string {
  3163. return s.String()
  3164. }
  3165. // Describes an Auto Scaling group.
  3166. type Group struct {
  3167. // The Amazon Resource Name (ARN) of the group.
  3168. AutoScalingGroupARN *string `type:"string"`
  3169. // The name of the group.
  3170. AutoScalingGroupName *string `type:"string" required:"true"`
  3171. // One or more Availability Zones for the group.
  3172. AvailabilityZones []*string `type:"list" required:"true"`
  3173. // The date and time the group was created.
  3174. CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3175. // The number of seconds after a scaling activity completes before any further
  3176. // scaling activities can start.
  3177. DefaultCooldown *int64 `type:"integer" required:"true"`
  3178. // The desired size of the group.
  3179. DesiredCapacity *int64 `type:"integer" required:"true"`
  3180. // The metrics enabled for the group.
  3181. EnabledMetrics []*EnabledMetric `type:"list"`
  3182. // The amount of time that Auto Scaling waits before checking an instance's
  3183. // health status. The grace period begins when an instance comes into service.
  3184. HealthCheckGracePeriod *int64 `type:"integer"`
  3185. // The service of interest for the health status check, which can be either
  3186. // EC2 for Amazon EC2 or ELB for Elastic Load Balancing.
  3187. HealthCheckType *string `type:"string" required:"true"`
  3188. // The EC2 instances associated with the group.
  3189. Instances []*Instance `type:"list"`
  3190. // The name of the associated launch configuration.
  3191. LaunchConfigurationName *string `type:"string" required:"true"`
  3192. // One or more load balancers associated with the group.
  3193. LoadBalancerNames []*string `type:"list"`
  3194. // The maximum size of the group.
  3195. MaxSize *int64 `type:"integer" required:"true"`
  3196. // The minimum size of the group.
  3197. MinSize *int64 `type:"integer" required:"true"`
  3198. // The name of the placement group into which you'll launch your instances,
  3199. // if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
  3200. PlacementGroup *string `type:"string"`
  3201. // The current state of the group when DeleteAutoScalingGroup is in progress.
  3202. Status *string `type:"string"`
  3203. // The suspended processes associated with the group.
  3204. SuspendedProcesses []*SuspendedProcess `type:"list"`
  3205. // The tags for the group.
  3206. Tags []*TagDescription `type:"list"`
  3207. // The termination policies for the group.
  3208. TerminationPolicies []*string `type:"list"`
  3209. // One or more subnet IDs, if applicable, separated by commas.
  3210. //
  3211. // If you specify VPCZoneIdentifier and AvailabilityZones, ensure that the
  3212. // Availability Zones of the subnets match the values for AvailabilityZones.
  3213. VPCZoneIdentifier *string `type:"string"`
  3214. metadataGroup `json:"-" xml:"-"`
  3215. }
  3216. type metadataGroup struct {
  3217. SDKShapeTraits bool `type:"structure"`
  3218. }
  3219. // String returns the string representation
  3220. func (s Group) String() string {
  3221. return awsutil.Prettify(s)
  3222. }
  3223. // GoString returns the string representation
  3224. func (s Group) GoString() string {
  3225. return s.String()
  3226. }
  3227. // Describes an EC2 instance.
  3228. type Instance struct {
  3229. // The Availability Zone in which the instance is running.
  3230. AvailabilityZone *string `type:"string" required:"true"`
  3231. // The health status of the instance.
  3232. HealthStatus *string `type:"string" required:"true"`
  3233. // The ID of the instance.
  3234. InstanceId *string `type:"string" required:"true"`
  3235. // The launch configuration associated with the instance.
  3236. LaunchConfigurationName *string `type:"string" required:"true"`
  3237. // A description of the current lifecycle state. Note that the Quarantined state
  3238. // is not used.
  3239. LifecycleState *string `type:"string" required:"true" enum:"LifecycleState"`
  3240. metadataInstance `json:"-" xml:"-"`
  3241. }
  3242. type metadataInstance struct {
  3243. SDKShapeTraits bool `type:"structure"`
  3244. }
  3245. // String returns the string representation
  3246. func (s Instance) String() string {
  3247. return awsutil.Prettify(s)
  3248. }
  3249. // GoString returns the string representation
  3250. func (s Instance) GoString() string {
  3251. return s.String()
  3252. }
  3253. // Describes an EC2 instance associated with an Auto Scaling group.
  3254. type InstanceDetails struct {
  3255. // The name of the Auto Scaling group associated with the instance.
  3256. AutoScalingGroupName *string `type:"string" required:"true"`
  3257. // The Availability Zone for the instance.
  3258. AvailabilityZone *string `type:"string" required:"true"`
  3259. // The health status of this instance. "Healthy" means that the instance is
  3260. // healthy and should remain in service. "Unhealthy" means that the instance
  3261. // is unhealthy and Auto Scaling should terminate and replace it.
  3262. HealthStatus *string `type:"string" required:"true"`
  3263. // The ID of the instance.
  3264. InstanceId *string `type:"string" required:"true"`
  3265. // The launch configuration associated with the instance.
  3266. LaunchConfigurationName *string `type:"string" required:"true"`
  3267. // The lifecycle state for the instance. For more information, see Auto Scaling
  3268. // Instance States (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html#AutoScalingStates)
  3269. // in the Auto Scaling Developer Guide.
  3270. LifecycleState *string `type:"string" required:"true"`
  3271. metadataInstanceDetails `json:"-" xml:"-"`
  3272. }
  3273. type metadataInstanceDetails struct {
  3274. SDKShapeTraits bool `type:"structure"`
  3275. }
  3276. // String returns the string representation
  3277. func (s InstanceDetails) String() string {
  3278. return awsutil.Prettify(s)
  3279. }
  3280. // GoString returns the string representation
  3281. func (s InstanceDetails) GoString() string {
  3282. return s.String()
  3283. }
  3284. // Describes whether instance monitoring is enabled.
  3285. type InstanceMonitoring struct {
  3286. // If True, instance monitoring is enabled.
  3287. Enabled *bool `type:"boolean"`
  3288. metadataInstanceMonitoring `json:"-" xml:"-"`
  3289. }
  3290. type metadataInstanceMonitoring struct {
  3291. SDKShapeTraits bool `type:"structure"`
  3292. }
  3293. // String returns the string representation
  3294. func (s InstanceMonitoring) String() string {
  3295. return awsutil.Prettify(s)
  3296. }
  3297. // GoString returns the string representation
  3298. func (s InstanceMonitoring) GoString() string {
  3299. return s.String()
  3300. }
  3301. // Describes a launch configuration.
  3302. type LaunchConfiguration struct {
  3303. // Specifies whether the instances are associated with a public IP address (true)
  3304. // or not (false).
  3305. AssociatePublicIpAddress *bool `type:"boolean"`
  3306. // A block device mapping, which specifies the block devices for the instance.
  3307. BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
  3308. // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
  3309. // This parameter can only be used if you are launching EC2-Classic instances.
  3310. // For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  3311. // in the Amazon Elastic Compute Cloud User Guide.
  3312. ClassicLinkVPCId *string `type:"string"`
  3313. // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId.
  3314. // This parameter is required if ClassicLinkVPCId is specified, and cannot be
  3315. // used otherwise. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  3316. // in the Amazon Elastic Compute Cloud User Guide.
  3317. ClassicLinkVPCSecurityGroups []*string `type:"list"`
  3318. // The creation date and time for the launch configuration.
  3319. CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3320. // Controls whether the instance is optimized for EBS I/O (true) or not (false).
  3321. EbsOptimized *bool `type:"boolean"`
  3322. // The name or Amazon Resource Name (ARN) of the instance profile associated
  3323. // with the IAM role for the instance.
  3324. IamInstanceProfile *string `type:"string"`
  3325. // The ID of the Amazon Machine Image (AMI).
  3326. ImageId *string `type:"string" required:"true"`
  3327. // Controls whether instances in this group are launched with detailed monitoring.
  3328. InstanceMonitoring *InstanceMonitoring `type:"structure"`
  3329. // The instance type for the instances.
  3330. InstanceType *string `type:"string" required:"true"`
  3331. // The ID of the kernel associated with the AMI.
  3332. KernelId *string `type:"string"`
  3333. // The name of the key pair.
  3334. KeyName *string `type:"string"`
  3335. // The Amazon Resource Name (ARN) of the launch configuration.
  3336. LaunchConfigurationARN *string `type:"string"`
  3337. // The name of the launch configuration.
  3338. LaunchConfigurationName *string `type:"string" required:"true"`
  3339. // The tenancy of the instance, either default or dedicated. An instance with
  3340. // dedicated tenancy runs in an isolated, single-tenant hardware and can only
  3341. // be launched into a VPC.
  3342. PlacementTenancy *string `type:"string"`
  3343. // The ID of the RAM disk associated with the AMI.
  3344. RamdiskId *string `type:"string"`
  3345. // The security groups to associate with the instances.
  3346. SecurityGroups []*string `type:"list"`
  3347. // The price to bid when launching Spot Instances.
  3348. SpotPrice *string `type:"string"`
  3349. // The user data available to the instances.
  3350. UserData *string `type:"string"`
  3351. metadataLaunchConfiguration `json:"-" xml:"-"`
  3352. }
  3353. type metadataLaunchConfiguration struct {
  3354. SDKShapeTraits bool `type:"structure"`
  3355. }
  3356. // String returns the string representation
  3357. func (s LaunchConfiguration) String() string {
  3358. return awsutil.Prettify(s)
  3359. }
  3360. // GoString returns the string representation
  3361. func (s LaunchConfiguration) GoString() string {
  3362. return s.String()
  3363. }
  3364. // Describes a lifecycle hook, which tells Auto Scaling that you want to perform
  3365. // an action when an instance launches or terminates. When you have a lifecycle
  3366. // hook in place, the Auto Scaling group will either:
  3367. //
  3368. // Pause the instance after it launches, but before it is put into service
  3369. // Pause the instance as it terminates, but before it is fully terminated For
  3370. // more information, see Auto Scaling Pending State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html)
  3371. // and Auto Scaling Terminating State (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html)
  3372. // in the Auto Scaling Developer Guide.
  3373. type LifecycleHook struct {
  3374. // The name of the Auto Scaling group for the lifecycle hook.
  3375. AutoScalingGroupName *string `type:"string"`
  3376. // Defines the action the Auto Scaling group should take when the lifecycle
  3377. // hook timeout elapses or if an unexpected failure occurs. The valid values
  3378. // are CONTINUE and ABANDON. The default value is CONTINUE.
  3379. DefaultResult *string `type:"string"`
  3380. // The maximum length of time an instance can remain in a Pending:Wait or Terminating:Wait
  3381. // state. Currently, the maximum is set to 48 hours.
  3382. GlobalTimeout *int64 `type:"integer"`
  3383. // The amount of time that can elapse before the lifecycle hook times out. When
  3384. // the lifecycle hook times out, Auto Scaling performs the action defined in
  3385. // the DefaultResult parameter. You can prevent the lifecycle hook from timing
  3386. // out by calling RecordLifecycleActionHeartbeat.
  3387. HeartbeatTimeout *int64 `type:"integer"`
  3388. // The name of the lifecycle hook.
  3389. LifecycleHookName *string `type:"string"`
  3390. // The state of the EC2 instance to which you want to attach the lifecycle hook.
  3391. // For a list of lifecycle hook types, see DescribeLifecycleHookTypes.
  3392. LifecycleTransition *string `type:"string"`
  3393. // Additional information that you want to include any time Auto Scaling sends
  3394. // a message to the notification target.
  3395. NotificationMetadata *string `type:"string"`
  3396. // The ARN of the notification target that Auto Scaling uses to notify you when
  3397. // an instance is in the transition state for the lifecycle hook. This ARN target
  3398. // can be either an SQS queue or an SNS topic. The notification message sent
  3399. // to the target includes the following:
  3400. //
  3401. // Lifecycle action token User account ID Name of the Auto Scaling group Lifecycle
  3402. // hook name EC2 instance ID Lifecycle transition Notification metadata
  3403. NotificationTargetARN *string `type:"string"`
  3404. // The ARN of the IAM role that allows the Auto Scaling group to publish to
  3405. // the specified notification target.
  3406. RoleARN *string `type:"string"`
  3407. metadataLifecycleHook `json:"-" xml:"-"`
  3408. }
  3409. type metadataLifecycleHook struct {
  3410. SDKShapeTraits bool `type:"structure"`
  3411. }
  3412. // String returns the string representation
  3413. func (s LifecycleHook) String() string {
  3414. return awsutil.Prettify(s)
  3415. }
  3416. // GoString returns the string representation
  3417. func (s LifecycleHook) GoString() string {
  3418. return s.String()
  3419. }
  3420. // Describes the state of a load balancer.
  3421. type LoadBalancerState struct {
  3422. // The name of the load balancer.
  3423. LoadBalancerName *string `type:"string"`
  3424. // The state of the load balancer.
  3425. //
  3426. // Adding - The instances in the group are being registered with the load
  3427. // balancer.
  3428. //
  3429. // Added - All instances in the group are registered with the load balancer.
  3430. //
  3431. // InService - At least one instance in the group passed an ELB health check.
  3432. //
  3433. // Removing - The instances are being deregistered from the load balancer.
  3434. // If connection draining is enabled, Elastic Load Balancing waits for in-flight
  3435. // requests to complete before deregistering the instances.
  3436. State *string `type:"string"`
  3437. metadataLoadBalancerState `json:"-" xml:"-"`
  3438. }
  3439. type metadataLoadBalancerState struct {
  3440. SDKShapeTraits bool `type:"structure"`
  3441. }
  3442. // String returns the string representation
  3443. func (s LoadBalancerState) String() string {
  3444. return awsutil.Prettify(s)
  3445. }
  3446. // GoString returns the string representation
  3447. func (s LoadBalancerState) GoString() string {
  3448. return s.String()
  3449. }
  3450. // Describes a metric.
  3451. type MetricCollectionType struct {
  3452. // The metric.
  3453. //
  3454. // GroupMinSize
  3455. //
  3456. // GroupMaxSize
  3457. //
  3458. // GroupDesiredCapacity
  3459. //
  3460. // GroupInServiceInstances
  3461. //
  3462. // GroupPendingInstances
  3463. //
  3464. // GroupStandbyInstances
  3465. //
  3466. // GroupTerminatingInstances
  3467. //
  3468. // GroupTotalInstances
  3469. Metric *string `type:"string"`
  3470. metadataMetricCollectionType `json:"-" xml:"-"`
  3471. }
  3472. type metadataMetricCollectionType struct {
  3473. SDKShapeTraits bool `type:"structure"`
  3474. }
  3475. // String returns the string representation
  3476. func (s MetricCollectionType) String() string {
  3477. return awsutil.Prettify(s)
  3478. }
  3479. // GoString returns the string representation
  3480. func (s MetricCollectionType) GoString() string {
  3481. return s.String()
  3482. }
  3483. // Describes a granularity of a metric.
  3484. type MetricGranularityType struct {
  3485. // The granularity. The only valid value is 1Minute.
  3486. Granularity *string `type:"string"`
  3487. metadataMetricGranularityType `json:"-" xml:"-"`
  3488. }
  3489. type metadataMetricGranularityType struct {
  3490. SDKShapeTraits bool `type:"structure"`
  3491. }
  3492. // String returns the string representation
  3493. func (s MetricGranularityType) String() string {
  3494. return awsutil.Prettify(s)
  3495. }
  3496. // GoString returns the string representation
  3497. func (s MetricGranularityType) GoString() string {
  3498. return s.String()
  3499. }
  3500. // Describes a notification.
  3501. type NotificationConfiguration struct {
  3502. // The name of the group.
  3503. AutoScalingGroupName *string `type:"string"`
  3504. // The types of events for an action to start.
  3505. //
  3506. // autoscaling:EC2_INSTANCE_LAUNCH
  3507. //
  3508. // autoscaling:EC2_INSTANCE_LAUNCH_ERROR
  3509. //
  3510. // autoscaling:EC2_INSTANCE_TERMINATE
  3511. //
  3512. // autoscaling:EC2_INSTANCE_TERMINATE_ERROR
  3513. //
  3514. // autoscaling:TEST_NOTIFICATION
  3515. NotificationType *string `type:"string"`
  3516. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  3517. // (SNS) topic.
  3518. TopicARN *string `type:"string"`
  3519. metadataNotificationConfiguration `json:"-" xml:"-"`
  3520. }
  3521. type metadataNotificationConfiguration struct {
  3522. SDKShapeTraits bool `type:"structure"`
  3523. }
  3524. // String returns the string representation
  3525. func (s NotificationConfiguration) String() string {
  3526. return awsutil.Prettify(s)
  3527. }
  3528. // GoString returns the string representation
  3529. func (s NotificationConfiguration) GoString() string {
  3530. return s.String()
  3531. }
  3532. // Describes a process type.
  3533. //
  3534. // For more information, see Auto Scaling Processes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html#process-types)
  3535. // in the Auto Scaling Developer Guide.
  3536. type ProcessType struct {
  3537. // The name of the process.
  3538. //
  3539. // Launch
  3540. //
  3541. // Terminate
  3542. //
  3543. // AddToLoadBalancer
  3544. //
  3545. // AlarmNotification
  3546. //
  3547. // AZRebalance
  3548. //
  3549. // HealthCheck
  3550. //
  3551. // ReplaceUnhealthy
  3552. //
  3553. // ScheduledActions
  3554. ProcessName *string `type:"string" required:"true"`
  3555. metadataProcessType `json:"-" xml:"-"`
  3556. }
  3557. type metadataProcessType struct {
  3558. SDKShapeTraits bool `type:"structure"`
  3559. }
  3560. // String returns the string representation
  3561. func (s ProcessType) String() string {
  3562. return awsutil.Prettify(s)
  3563. }
  3564. // GoString returns the string representation
  3565. func (s ProcessType) GoString() string {
  3566. return s.String()
  3567. }
  3568. type PutLifecycleHookInput struct {
  3569. // The name of the Auto Scaling group to which you want to assign the lifecycle
  3570. // hook.
  3571. AutoScalingGroupName *string `type:"string" required:"true"`
  3572. // Defines the action the Auto Scaling group should take when the lifecycle
  3573. // hook timeout elapses or if an unexpected failure occurs. The value for this
  3574. // parameter can be either CONTINUE or ABANDON. The default value for this parameter
  3575. // is ABANDON.
  3576. DefaultResult *string `type:"string"`
  3577. // Defines the amount of time, in seconds, that can elapse before the lifecycle
  3578. // hook times out. When the lifecycle hook times out, Auto Scaling performs
  3579. // the action defined in the DefaultResult parameter. You can prevent the lifecycle
  3580. // hook from timing out by calling RecordLifecycleActionHeartbeat. The default
  3581. // value for this parameter is 3600 seconds (1 hour).
  3582. HeartbeatTimeout *int64 `type:"integer"`
  3583. // The name of the lifecycle hook.
  3584. LifecycleHookName *string `type:"string" required:"true"`
  3585. // The instance state to which you want to attach the lifecycle hook. For a
  3586. // list of lifecycle hook types, see DescribeLifecycleHookTypes.
  3587. //
  3588. // This parameter is required for new lifecycle hooks, but optional when updating
  3589. // existing hooks.
  3590. LifecycleTransition *string `type:"string"`
  3591. // Contains additional information that you want to include any time Auto Scaling
  3592. // sends a message to the notification target.
  3593. NotificationMetadata *string `type:"string"`
  3594. // The ARN of the notification target that Auto Scaling will use to notify you
  3595. // when an instance is in the transition state for the lifecycle hook. This
  3596. // ARN target can be either an SQS queue or an SNS topic.
  3597. //
  3598. // This parameter is required for new lifecycle hooks, but optional when updating
  3599. // existing hooks.
  3600. //
  3601. // The notification message sent to the target will include:
  3602. //
  3603. // LifecycleActionToken. The Lifecycle action token. AccountId. The user
  3604. // account ID. AutoScalingGroupName. The name of the Auto Scaling group. LifecycleHookName.
  3605. // The lifecycle hook name. EC2InstanceId. The EC2 instance ID. LifecycleTransition.
  3606. // The lifecycle transition. NotificationMetadata. The notification metadata.
  3607. // This operation uses the JSON format when sending notifications to an Amazon
  3608. // SQS queue, and an email key/value pair format when sending notifications
  3609. // to an Amazon SNS topic.
  3610. //
  3611. // When you call this operation, a test message is sent to the notification
  3612. // target. This test message contains an additional key/value pair: Event:autoscaling:TEST_NOTIFICATION.
  3613. NotificationTargetARN *string `type:"string"`
  3614. // The ARN of the IAM role that allows the Auto Scaling group to publish to
  3615. // the specified notification target.
  3616. //
  3617. // This parameter is required for new lifecycle hooks, but optional when updating
  3618. // existing hooks.
  3619. RoleARN *string `type:"string"`
  3620. metadataPutLifecycleHookInput `json:"-" xml:"-"`
  3621. }
  3622. type metadataPutLifecycleHookInput struct {
  3623. SDKShapeTraits bool `type:"structure"`
  3624. }
  3625. // String returns the string representation
  3626. func (s PutLifecycleHookInput) String() string {
  3627. return awsutil.Prettify(s)
  3628. }
  3629. // GoString returns the string representation
  3630. func (s PutLifecycleHookInput) GoString() string {
  3631. return s.String()
  3632. }
  3633. type PutLifecycleHookOutput struct {
  3634. metadataPutLifecycleHookOutput `json:"-" xml:"-"`
  3635. }
  3636. type metadataPutLifecycleHookOutput struct {
  3637. SDKShapeTraits bool `type:"structure"`
  3638. }
  3639. // String returns the string representation
  3640. func (s PutLifecycleHookOutput) String() string {
  3641. return awsutil.Prettify(s)
  3642. }
  3643. // GoString returns the string representation
  3644. func (s PutLifecycleHookOutput) GoString() string {
  3645. return s.String()
  3646. }
  3647. type PutNotificationConfigurationInput struct {
  3648. // The name of the Auto Scaling group.
  3649. AutoScalingGroupName *string `type:"string" required:"true"`
  3650. // The type of event that will cause the notification to be sent. For details
  3651. // about notification types supported by Auto Scaling, see DescribeAutoScalingNotificationTypes.
  3652. NotificationTypes []*string `type:"list" required:"true"`
  3653. // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  3654. // (SNS) topic.
  3655. TopicARN *string `type:"string" required:"true"`
  3656. metadataPutNotificationConfigurationInput `json:"-" xml:"-"`
  3657. }
  3658. type metadataPutNotificationConfigurationInput struct {
  3659. SDKShapeTraits bool `type:"structure"`
  3660. }
  3661. // String returns the string representation
  3662. func (s PutNotificationConfigurationInput) String() string {
  3663. return awsutil.Prettify(s)
  3664. }
  3665. // GoString returns the string representation
  3666. func (s PutNotificationConfigurationInput) GoString() string {
  3667. return s.String()
  3668. }
  3669. type PutNotificationConfigurationOutput struct {
  3670. metadataPutNotificationConfigurationOutput `json:"-" xml:"-"`
  3671. }
  3672. type metadataPutNotificationConfigurationOutput struct {
  3673. SDKShapeTraits bool `type:"structure"`
  3674. }
  3675. // String returns the string representation
  3676. func (s PutNotificationConfigurationOutput) String() string {
  3677. return awsutil.Prettify(s)
  3678. }
  3679. // GoString returns the string representation
  3680. func (s PutNotificationConfigurationOutput) GoString() string {
  3681. return s.String()
  3682. }
  3683. type PutScalingPolicyInput struct {
  3684. // The adjustment type. Valid values are ChangeInCapacity, ExactCapacity, and
  3685. // PercentChangeInCapacity.
  3686. //
  3687. // For more information, see Dynamic Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html)
  3688. // in the Auto Scaling Developer Guide.
  3689. AdjustmentType *string `type:"string" required:"true"`
  3690. // The name or ARN of the group.
  3691. AutoScalingGroupName *string `type:"string" required:"true"`
  3692. // The amount of time, in seconds, after a scaling activity completes and before
  3693. // the next scaling activity can start. If this parameter is not specified,
  3694. // the default cooldown period for the group applies.
  3695. //
  3696. // This parameter is not supported unless the policy type is SimpleScaling.
  3697. //
  3698. // For more information, see Understanding Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html)
  3699. // in the Auto Scaling Developer Guide.
  3700. Cooldown *int64 `type:"integer"`
  3701. // The estimated time, in seconds, until a newly launched instance can contribute
  3702. // to the CloudWatch metrics. The default is to use the value specified for
  3703. // the default cooldown period for the group.
  3704. //
  3705. // This parameter is not supported if the policy type is SimpleScaling.
  3706. EstimatedInstanceWarmup *int64 `type:"integer"`
  3707. // The aggregation type for the CloudWatch metrics. Valid values are Minimum,
  3708. // Maximum, and Average. If the aggregation type is null, the value is treated
  3709. // as Average.
  3710. //
  3711. // This parameter is not supported if the policy type is SimpleScaling.
  3712. MetricAggregationType *string `type:"string"`
  3713. // The minimum number of instances to scale. If the value of AdjustmentType
  3714. // is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity
  3715. // of the Auto Scaling group by at least this many instances. Otherwise, the
  3716. // error is ValidationError.
  3717. MinAdjustmentMagnitude *int64 `type:"integer"`
  3718. // Available for backward compatibility. Use MinAdjustmentMagnitude instead.
  3719. MinAdjustmentStep *int64 `type:"integer"`
  3720. // The name of the policy.
  3721. PolicyName *string `type:"string" required:"true"`
  3722. // The policy type. Valid values are SimpleScaling and StepScaling. If the policy
  3723. // type is null, the value is treated as SimpleScaling.
  3724. PolicyType *string `type:"string"`
  3725. // The amount by which to scale, based on the specified adjustment type. A positive
  3726. // value adds to the current capacity while a negative number removes from the
  3727. // current capacity.
  3728. //
  3729. // This parameter is required if the policy type is SimpleScaling and not supported
  3730. // otherwise.
  3731. ScalingAdjustment *int64 `type:"integer"`
  3732. // A set of adjustments that enable you to scale based on the size of the alarm
  3733. // breach.
  3734. //
  3735. // This parameter is required if the policy type is StepScaling and not supported
  3736. // otherwise.
  3737. StepAdjustments []*StepAdjustment `type:"list"`
  3738. metadataPutScalingPolicyInput `json:"-" xml:"-"`
  3739. }
  3740. type metadataPutScalingPolicyInput struct {
  3741. SDKShapeTraits bool `type:"structure"`
  3742. }
  3743. // String returns the string representation
  3744. func (s PutScalingPolicyInput) String() string {
  3745. return awsutil.Prettify(s)
  3746. }
  3747. // GoString returns the string representation
  3748. func (s PutScalingPolicyInput) GoString() string {
  3749. return s.String()
  3750. }
  3751. type PutScalingPolicyOutput struct {
  3752. // The Amazon Resource Name (ARN) of the policy.
  3753. PolicyARN *string `type:"string"`
  3754. metadataPutScalingPolicyOutput `json:"-" xml:"-"`
  3755. }
  3756. type metadataPutScalingPolicyOutput struct {
  3757. SDKShapeTraits bool `type:"structure"`
  3758. }
  3759. // String returns the string representation
  3760. func (s PutScalingPolicyOutput) String() string {
  3761. return awsutil.Prettify(s)
  3762. }
  3763. // GoString returns the string representation
  3764. func (s PutScalingPolicyOutput) GoString() string {
  3765. return s.String()
  3766. }
  3767. type PutScheduledUpdateGroupActionInput struct {
  3768. // The name or Amazon Resource Name (ARN) of the Auto Scaling group.
  3769. AutoScalingGroupName *string `type:"string" required:"true"`
  3770. // The number of EC2 instances that should be running in the group.
  3771. DesiredCapacity *int64 `type:"integer"`
  3772. // The time for this action to end.
  3773. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3774. // The maximum size for the Auto Scaling group.
  3775. MaxSize *int64 `type:"integer"`
  3776. // The minimum size for the Auto Scaling group.
  3777. MinSize *int64 `type:"integer"`
  3778. // The time when recurring future actions will start. Start time is specified
  3779. // by the user following the Unix cron syntax format. For more information,
  3780. // see Cron (http://en.wikipedia.org/wiki/Cron) in Wikipedia.
  3781. //
  3782. // When StartTime and EndTime are specified with Recurrence, they form the
  3783. // boundaries of when the recurring action will start and stop.
  3784. Recurrence *string `type:"string"`
  3785. // The name of this scaling action.
  3786. ScheduledActionName *string `type:"string" required:"true"`
  3787. // The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT
  3788. // only (for example, 2014-06-01T00:00:00Z).
  3789. //
  3790. // If you try to schedule your action in the past, Auto Scaling returns an
  3791. // error message.
  3792. //
  3793. // When StartTime and EndTime are specified with Recurrence, they form the
  3794. // boundaries of when the recurring action starts and stops.
  3795. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3796. // This parameter is deprecated; use StartTime instead.
  3797. //
  3798. // The time for this action to start. If both Time and StartTime are specified,
  3799. // their values must be identical.
  3800. Time *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3801. metadataPutScheduledUpdateGroupActionInput `json:"-" xml:"-"`
  3802. }
  3803. type metadataPutScheduledUpdateGroupActionInput struct {
  3804. SDKShapeTraits bool `type:"structure"`
  3805. }
  3806. // String returns the string representation
  3807. func (s PutScheduledUpdateGroupActionInput) String() string {
  3808. return awsutil.Prettify(s)
  3809. }
  3810. // GoString returns the string representation
  3811. func (s PutScheduledUpdateGroupActionInput) GoString() string {
  3812. return s.String()
  3813. }
  3814. type PutScheduledUpdateGroupActionOutput struct {
  3815. metadataPutScheduledUpdateGroupActionOutput `json:"-" xml:"-"`
  3816. }
  3817. type metadataPutScheduledUpdateGroupActionOutput struct {
  3818. SDKShapeTraits bool `type:"structure"`
  3819. }
  3820. // String returns the string representation
  3821. func (s PutScheduledUpdateGroupActionOutput) String() string {
  3822. return awsutil.Prettify(s)
  3823. }
  3824. // GoString returns the string representation
  3825. func (s PutScheduledUpdateGroupActionOutput) GoString() string {
  3826. return s.String()
  3827. }
  3828. type RecordLifecycleActionHeartbeatInput struct {
  3829. // The name of the Auto Scaling group for the hook.
  3830. AutoScalingGroupName *string `type:"string" required:"true"`
  3831. // A token that uniquely identifies a specific lifecycle action associated with
  3832. // an instance. Auto Scaling sends this token to the notification target you
  3833. // specified when you created the lifecycle hook.
  3834. LifecycleActionToken *string `type:"string" required:"true"`
  3835. // The name of the lifecycle hook.
  3836. LifecycleHookName *string `type:"string" required:"true"`
  3837. metadataRecordLifecycleActionHeartbeatInput `json:"-" xml:"-"`
  3838. }
  3839. type metadataRecordLifecycleActionHeartbeatInput struct {
  3840. SDKShapeTraits bool `type:"structure"`
  3841. }
  3842. // String returns the string representation
  3843. func (s RecordLifecycleActionHeartbeatInput) String() string {
  3844. return awsutil.Prettify(s)
  3845. }
  3846. // GoString returns the string representation
  3847. func (s RecordLifecycleActionHeartbeatInput) GoString() string {
  3848. return s.String()
  3849. }
  3850. type RecordLifecycleActionHeartbeatOutput struct {
  3851. metadataRecordLifecycleActionHeartbeatOutput `json:"-" xml:"-"`
  3852. }
  3853. type metadataRecordLifecycleActionHeartbeatOutput struct {
  3854. SDKShapeTraits bool `type:"structure"`
  3855. }
  3856. // String returns the string representation
  3857. func (s RecordLifecycleActionHeartbeatOutput) String() string {
  3858. return awsutil.Prettify(s)
  3859. }
  3860. // GoString returns the string representation
  3861. func (s RecordLifecycleActionHeartbeatOutput) GoString() string {
  3862. return s.String()
  3863. }
  3864. type ResumeProcessesOutput struct {
  3865. metadataResumeProcessesOutput `json:"-" xml:"-"`
  3866. }
  3867. type metadataResumeProcessesOutput struct {
  3868. SDKShapeTraits bool `type:"structure"`
  3869. }
  3870. // String returns the string representation
  3871. func (s ResumeProcessesOutput) String() string {
  3872. return awsutil.Prettify(s)
  3873. }
  3874. // GoString returns the string representation
  3875. func (s ResumeProcessesOutput) GoString() string {
  3876. return s.String()
  3877. }
  3878. // Describes a scaling policy.
  3879. type ScalingPolicy struct {
  3880. // The adjustment type, which specifies how ScalingAdjustment is interpreted.
  3881. // Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
  3882. AdjustmentType *string `type:"string"`
  3883. // The CloudWatch alarms related to the policy.
  3884. Alarms []*Alarm `type:"list"`
  3885. // The name of the Auto Scaling group associated with this scaling policy.
  3886. AutoScalingGroupName *string `type:"string"`
  3887. // The amount of time, in seconds, after a scaling activity completes before
  3888. // any further trigger-related scaling activities can start.
  3889. Cooldown *int64 `type:"integer"`
  3890. // The estimated time, in seconds, until a newly launched instance can contribute
  3891. // to the CloudWatch metrics.
  3892. EstimatedInstanceWarmup *int64 `type:"integer"`
  3893. // The aggregation type for the CloudWatch metrics. Valid values are Minimum,
  3894. // Maximum, and Average.
  3895. MetricAggregationType *string `type:"string"`
  3896. // The minimum number of instances to scale. If the value of AdjustmentType
  3897. // is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity
  3898. // of the Auto Scaling group by at least this many instances. Otherwise, the
  3899. // error is ValidationError.
  3900. MinAdjustmentMagnitude *int64 `type:"integer"`
  3901. // Available for backward compatibility. Use MinAdjustmentMagnitude instead.
  3902. MinAdjustmentStep *int64 `type:"integer"`
  3903. // The Amazon Resource Name (ARN) of the policy.
  3904. PolicyARN *string `type:"string"`
  3905. // The name of the scaling policy.
  3906. PolicyName *string `type:"string"`
  3907. // The policy type. Valid values are SimpleScaling and StepScaling.
  3908. PolicyType *string `type:"string"`
  3909. // The amount by which to scale, based on the specified adjustment type. A positive
  3910. // value adds to the current capacity while a negative number removes from the
  3911. // current capacity.
  3912. ScalingAdjustment *int64 `type:"integer"`
  3913. // A set of adjustments that enable you to scale based on the size of the alarm
  3914. // breach.
  3915. StepAdjustments []*StepAdjustment `type:"list"`
  3916. metadataScalingPolicy `json:"-" xml:"-"`
  3917. }
  3918. type metadataScalingPolicy struct {
  3919. SDKShapeTraits bool `type:"structure"`
  3920. }
  3921. // String returns the string representation
  3922. func (s ScalingPolicy) String() string {
  3923. return awsutil.Prettify(s)
  3924. }
  3925. // GoString returns the string representation
  3926. func (s ScalingPolicy) GoString() string {
  3927. return s.String()
  3928. }
  3929. type ScalingProcessQuery struct {
  3930. // The name or Amazon Resource Name (ARN) of the Auto Scaling group.
  3931. AutoScalingGroupName *string `type:"string" required:"true"`
  3932. // One or more of the following processes:
  3933. //
  3934. // Launch
  3935. //
  3936. // Terminate
  3937. //
  3938. // HealthCheck
  3939. //
  3940. // ReplaceUnhealthy
  3941. //
  3942. // AZRebalance
  3943. //
  3944. // AlarmNotification
  3945. //
  3946. // ScheduledActions
  3947. //
  3948. // AddToLoadBalancer
  3949. ScalingProcesses []*string `type:"list"`
  3950. metadataScalingProcessQuery `json:"-" xml:"-"`
  3951. }
  3952. type metadataScalingProcessQuery struct {
  3953. SDKShapeTraits bool `type:"structure"`
  3954. }
  3955. // String returns the string representation
  3956. func (s ScalingProcessQuery) String() string {
  3957. return awsutil.Prettify(s)
  3958. }
  3959. // GoString returns the string representation
  3960. func (s ScalingProcessQuery) GoString() string {
  3961. return s.String()
  3962. }
  3963. // Describes a scheduled update to an Auto Scaling group.
  3964. type ScheduledUpdateGroupAction struct {
  3965. // The name of the group.
  3966. AutoScalingGroupName *string `type:"string"`
  3967. // The number of instances you prefer to maintain in the group.
  3968. DesiredCapacity *int64 `type:"integer"`
  3969. // The date and time that the action is scheduled to end. This date and time
  3970. // can be up to one month in the future.
  3971. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3972. // The maximum size of the group.
  3973. MaxSize *int64 `type:"integer"`
  3974. // The minimum size of the group.
  3975. MinSize *int64 `type:"integer"`
  3976. // The recurring schedule for the action.
  3977. Recurrence *string `type:"string"`
  3978. // The Amazon Resource Name (ARN) of the scheduled action.
  3979. ScheduledActionARN *string `type:"string"`
  3980. // The name of the scheduled action.
  3981. ScheduledActionName *string `type:"string"`
  3982. // The date and time that the action is scheduled to begin. This date and time
  3983. // can be up to one month in the future.
  3984. //
  3985. // When StartTime and EndTime are specified with Recurrence, they form the
  3986. // boundaries of when the recurring action will start and stop.
  3987. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3988. // This parameter is deprecated; use StartTime instead.
  3989. Time *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3990. metadataScheduledUpdateGroupAction `json:"-" xml:"-"`
  3991. }
  3992. type metadataScheduledUpdateGroupAction struct {
  3993. SDKShapeTraits bool `type:"structure"`
  3994. }
  3995. // String returns the string representation
  3996. func (s ScheduledUpdateGroupAction) String() string {
  3997. return awsutil.Prettify(s)
  3998. }
  3999. // GoString returns the string representation
  4000. func (s ScheduledUpdateGroupAction) GoString() string {
  4001. return s.String()
  4002. }
  4003. type SetDesiredCapacityInput struct {
  4004. // The name of the Auto Scaling group.
  4005. AutoScalingGroupName *string `type:"string" required:"true"`
  4006. // The number of EC2 instances that should be running in the Auto Scaling group.
  4007. DesiredCapacity *int64 `type:"integer" required:"true"`
  4008. // By default, SetDesiredCapacity overrides any cooldown period associated with
  4009. // the Auto Scaling group. Specify True to make Auto Scaling to wait for the
  4010. // cool-down period associated with the Auto Scaling group to complete before
  4011. // initiating a scaling activity to set your Auto Scaling group to its new capacity.
  4012. HonorCooldown *bool `type:"boolean"`
  4013. metadataSetDesiredCapacityInput `json:"-" xml:"-"`
  4014. }
  4015. type metadataSetDesiredCapacityInput struct {
  4016. SDKShapeTraits bool `type:"structure"`
  4017. }
  4018. // String returns the string representation
  4019. func (s SetDesiredCapacityInput) String() string {
  4020. return awsutil.Prettify(s)
  4021. }
  4022. // GoString returns the string representation
  4023. func (s SetDesiredCapacityInput) GoString() string {
  4024. return s.String()
  4025. }
  4026. type SetDesiredCapacityOutput struct {
  4027. metadataSetDesiredCapacityOutput `json:"-" xml:"-"`
  4028. }
  4029. type metadataSetDesiredCapacityOutput struct {
  4030. SDKShapeTraits bool `type:"structure"`
  4031. }
  4032. // String returns the string representation
  4033. func (s SetDesiredCapacityOutput) String() string {
  4034. return awsutil.Prettify(s)
  4035. }
  4036. // GoString returns the string representation
  4037. func (s SetDesiredCapacityOutput) GoString() string {
  4038. return s.String()
  4039. }
  4040. type SetInstanceHealthInput struct {
  4041. // The health status of the instance. Set to Healthy if you want the instance
  4042. // to remain in service. Set to Unhealthy if you want the instance to be out
  4043. // of service. Auto Scaling will terminate and replace the unhealthy instance.
  4044. HealthStatus *string `type:"string" required:"true"`
  4045. // The ID of the EC2 instance.
  4046. InstanceId *string `type:"string" required:"true"`
  4047. // If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod
  4048. // specified for the group, by default, this call will respect the grace period.
  4049. // Set this to False, if you do not want the call to respect the grace period
  4050. // associated with the group.
  4051. //
  4052. // For more information, see the HealthCheckGracePeriod parameter description
  4053. // for CreateAutoScalingGroup.
  4054. ShouldRespectGracePeriod *bool `type:"boolean"`
  4055. metadataSetInstanceHealthInput `json:"-" xml:"-"`
  4056. }
  4057. type metadataSetInstanceHealthInput struct {
  4058. SDKShapeTraits bool `type:"structure"`
  4059. }
  4060. // String returns the string representation
  4061. func (s SetInstanceHealthInput) String() string {
  4062. return awsutil.Prettify(s)
  4063. }
  4064. // GoString returns the string representation
  4065. func (s SetInstanceHealthInput) GoString() string {
  4066. return s.String()
  4067. }
  4068. type SetInstanceHealthOutput struct {
  4069. metadataSetInstanceHealthOutput `json:"-" xml:"-"`
  4070. }
  4071. type metadataSetInstanceHealthOutput struct {
  4072. SDKShapeTraits bool `type:"structure"`
  4073. }
  4074. // String returns the string representation
  4075. func (s SetInstanceHealthOutput) String() string {
  4076. return awsutil.Prettify(s)
  4077. }
  4078. // GoString returns the string representation
  4079. func (s SetInstanceHealthOutput) GoString() string {
  4080. return s.String()
  4081. }
  4082. // Describes an adjustment based on the difference between the value of the
  4083. // aggregated CloudWatch metric and the breach threshold that you've defined
  4084. // for the alarm.
  4085. //
  4086. // For the following examples, suppose that you have an alarm with a breach
  4087. // threshold of 50:
  4088. //
  4089. // If you want the adjustment to be triggered when the metric is greater
  4090. // than or equal to 50 and less than 60, specify a lower bound of 0 and an upper
  4091. // bound of 10.
  4092. //
  4093. // If you want the adjustment to be triggered when the metric is greater
  4094. // than 40 and less than or equal to 50, specify a lower bound of -10 and an
  4095. // upper bound of 0.
  4096. //
  4097. // There are a few rules for the step adjustments for your step policy:
  4098. //
  4099. // The ranges of your step adjustments can't overlap or have a gap.
  4100. //
  4101. // At most one step adjustment can have a null lower bound. If one step adjustment
  4102. // has a negative lower bound, then there must be a step adjustment with a null
  4103. // lower bound.
  4104. //
  4105. // At most one step adjustment can have a null upper bound. If one step adjustment
  4106. // has a positive upper bound, then there must be a step adjustment with a null
  4107. // upper bound.
  4108. //
  4109. // The upper and lower bound can't be null in the same step adjustment.
  4110. type StepAdjustment struct {
  4111. // The lower bound for the difference between the alarm threshold and the CloudWatch
  4112. // metric. If the metric value is above the breach threshold, the lower bound
  4113. // is inclusive (the metric must be greater than or equal to the threshold plus
  4114. // the lower bound). Otherwise, it is exclusive (the metric must be greater
  4115. // than the threshold plus the lower bound). A null value indicates negative
  4116. // infinity.
  4117. MetricIntervalLowerBound *float64 `type:"double"`
  4118. // The upper bound for the difference between the alarm threshold and the CloudWatch
  4119. // metric. If the metric value is above the breach threshold, the upper bound
  4120. // is exclusive (the metric must be less than the threshold plus the upper bound).
  4121. // Otherwise, it is inclusive (the metric must be less than or equal to the
  4122. // threshold plus the upper bound). A null value indicates positive infinity.
  4123. //
  4124. // The upper bound must be greater than the lower bound.
  4125. MetricIntervalUpperBound *float64 `type:"double"`
  4126. // The amount by which to scale, based on the specified adjustment type. A positive
  4127. // value adds to the current capacity while a negative number removes from the
  4128. // current capacity.
  4129. ScalingAdjustment *int64 `type:"integer" required:"true"`
  4130. metadataStepAdjustment `json:"-" xml:"-"`
  4131. }
  4132. type metadataStepAdjustment struct {
  4133. SDKShapeTraits bool `type:"structure"`
  4134. }
  4135. // String returns the string representation
  4136. func (s StepAdjustment) String() string {
  4137. return awsutil.Prettify(s)
  4138. }
  4139. // GoString returns the string representation
  4140. func (s StepAdjustment) GoString() string {
  4141. return s.String()
  4142. }
  4143. type SuspendProcessesOutput struct {
  4144. metadataSuspendProcessesOutput `json:"-" xml:"-"`
  4145. }
  4146. type metadataSuspendProcessesOutput struct {
  4147. SDKShapeTraits bool `type:"structure"`
  4148. }
  4149. // String returns the string representation
  4150. func (s SuspendProcessesOutput) String() string {
  4151. return awsutil.Prettify(s)
  4152. }
  4153. // GoString returns the string representation
  4154. func (s SuspendProcessesOutput) GoString() string {
  4155. return s.String()
  4156. }
  4157. // Describes an Auto Scaling process that has been suspended. For more information,
  4158. // see ProcessType.
  4159. type SuspendedProcess struct {
  4160. // The name of the suspended process.
  4161. ProcessName *string `type:"string"`
  4162. // The reason that the process was suspended.
  4163. SuspensionReason *string `type:"string"`
  4164. metadataSuspendedProcess `json:"-" xml:"-"`
  4165. }
  4166. type metadataSuspendedProcess struct {
  4167. SDKShapeTraits bool `type:"structure"`
  4168. }
  4169. // String returns the string representation
  4170. func (s SuspendedProcess) String() string {
  4171. return awsutil.Prettify(s)
  4172. }
  4173. // GoString returns the string representation
  4174. func (s SuspendedProcess) GoString() string {
  4175. return s.String()
  4176. }
  4177. // Describes a tag for an Auto Scaling group.
  4178. type Tag struct {
  4179. // The tag key.
  4180. Key *string `type:"string" required:"true"`
  4181. // Determines whether the tag is added to new instances as they are launched
  4182. // in the group.
  4183. PropagateAtLaunch *bool `type:"boolean"`
  4184. // The name of the group.
  4185. ResourceId *string `type:"string"`
  4186. // The type of resource. The only supported value is auto-scaling-group.
  4187. ResourceType *string `type:"string"`
  4188. // The tag value.
  4189. Value *string `type:"string"`
  4190. metadataTag `json:"-" xml:"-"`
  4191. }
  4192. type metadataTag struct {
  4193. SDKShapeTraits bool `type:"structure"`
  4194. }
  4195. // String returns the string representation
  4196. func (s Tag) String() string {
  4197. return awsutil.Prettify(s)
  4198. }
  4199. // GoString returns the string representation
  4200. func (s Tag) GoString() string {
  4201. return s.String()
  4202. }
  4203. // Describes a tag for an Auto Scaling group.
  4204. type TagDescription struct {
  4205. // The tag key.
  4206. Key *string `type:"string"`
  4207. // Determines whether the tag is added to new instances as they are launched
  4208. // in the group.
  4209. PropagateAtLaunch *bool `type:"boolean"`
  4210. // The name of the group.
  4211. ResourceId *string `type:"string"`
  4212. // The type of resource. The only supported value is auto-scaling-group.
  4213. ResourceType *string `type:"string"`
  4214. // The tag value.
  4215. Value *string `type:"string"`
  4216. metadataTagDescription `json:"-" xml:"-"`
  4217. }
  4218. type metadataTagDescription struct {
  4219. SDKShapeTraits bool `type:"structure"`
  4220. }
  4221. // String returns the string representation
  4222. func (s TagDescription) String() string {
  4223. return awsutil.Prettify(s)
  4224. }
  4225. // GoString returns the string representation
  4226. func (s TagDescription) GoString() string {
  4227. return s.String()
  4228. }
  4229. type TerminateInstanceInAutoScalingGroupInput struct {
  4230. // The ID of the EC2 instance.
  4231. InstanceId *string `type:"string" required:"true"`
  4232. // If true, terminating this instance also decrements the size of the Auto Scaling
  4233. // group.
  4234. ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"`
  4235. metadataTerminateInstanceInAutoScalingGroupInput `json:"-" xml:"-"`
  4236. }
  4237. type metadataTerminateInstanceInAutoScalingGroupInput struct {
  4238. SDKShapeTraits bool `type:"structure"`
  4239. }
  4240. // String returns the string representation
  4241. func (s TerminateInstanceInAutoScalingGroupInput) String() string {
  4242. return awsutil.Prettify(s)
  4243. }
  4244. // GoString returns the string representation
  4245. func (s TerminateInstanceInAutoScalingGroupInput) GoString() string {
  4246. return s.String()
  4247. }
  4248. type TerminateInstanceInAutoScalingGroupOutput struct {
  4249. // A scaling activity.
  4250. Activity *Activity `type:"structure"`
  4251. metadataTerminateInstanceInAutoScalingGroupOutput `json:"-" xml:"-"`
  4252. }
  4253. type metadataTerminateInstanceInAutoScalingGroupOutput struct {
  4254. SDKShapeTraits bool `type:"structure"`
  4255. }
  4256. // String returns the string representation
  4257. func (s TerminateInstanceInAutoScalingGroupOutput) String() string {
  4258. return awsutil.Prettify(s)
  4259. }
  4260. // GoString returns the string representation
  4261. func (s TerminateInstanceInAutoScalingGroupOutput) GoString() string {
  4262. return s.String()
  4263. }
  4264. type UpdateAutoScalingGroupInput struct {
  4265. // The name of the Auto Scaling group.
  4266. AutoScalingGroupName *string `type:"string" required:"true"`
  4267. // One or more Availability Zones for the group.
  4268. AvailabilityZones []*string `type:"list"`
  4269. // The amount of time, in seconds, after a scaling activity completes before
  4270. // another scaling activity can start. For more information, see Understanding
  4271. // Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html).
  4272. DefaultCooldown *int64 `type:"integer"`
  4273. // The number of EC2 instances that should be running in the Auto Scaling group.
  4274. // This number must be greater than or equal to the minimum size of the group
  4275. // and less than or equal to the maximum size of the group.
  4276. DesiredCapacity *int64 `type:"integer"`
  4277. // The amount of time, in seconds, that Auto Scaling waits before checking the
  4278. // health status of an instance. The grace period begins when the instance passes
  4279. // the system status and instance status checks from Amazon EC2. For more information,
  4280. // see .
  4281. HealthCheckGracePeriod *int64 `type:"integer"`
  4282. // The type of health check for the instances in the Auto Scaling group. The
  4283. // health check type can either be EC2 for Amazon EC2 or ELB for Elastic Load
  4284. // Balancing.
  4285. HealthCheckType *string `type:"string"`
  4286. // The name of the launch configuration.
  4287. LaunchConfigurationName *string `type:"string"`
  4288. // The maximum size of the Auto Scaling group.
  4289. MaxSize *int64 `type:"integer"`
  4290. // The minimum size of the Auto Scaling group.
  4291. MinSize *int64 `type:"integer"`
  4292. // The name of the placement group into which you'll launch your instances,
  4293. // if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
  4294. PlacementGroup *string `type:"string"`
  4295. // A standalone termination policy or a list of termination policies used to
  4296. // select the instance to terminate. The policies are executed in the order
  4297. // that they are listed.
  4298. //
  4299. // For more information, see Choosing a Termination Policy for Your Auto Scaling
  4300. // Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html)
  4301. // in the Auto Scaling Developer Guide.
  4302. TerminationPolicies []*string `type:"list"`
  4303. // The ID of the subnet, if you are launching into a VPC. You can specify several
  4304. // subnets in a comma-separated list.
  4305. //
  4306. // When you specify VPCZoneIdentifier with AvailabilityZones, ensure that the
  4307. // subnets' Availability Zones match the values you specify for AvailabilityZones.
  4308. //
  4309. // For more information, see Auto Scaling and Amazon Virtual Private Cloud
  4310. // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html)
  4311. // in the Auto Scaling Developer Guide.
  4312. VPCZoneIdentifier *string `type:"string"`
  4313. metadataUpdateAutoScalingGroupInput `json:"-" xml:"-"`
  4314. }
  4315. type metadataUpdateAutoScalingGroupInput struct {
  4316. SDKShapeTraits bool `type:"structure"`
  4317. }
  4318. // String returns the string representation
  4319. func (s UpdateAutoScalingGroupInput) String() string {
  4320. return awsutil.Prettify(s)
  4321. }
  4322. // GoString returns the string representation
  4323. func (s UpdateAutoScalingGroupInput) GoString() string {
  4324. return s.String()
  4325. }
  4326. type UpdateAutoScalingGroupOutput struct {
  4327. metadataUpdateAutoScalingGroupOutput `json:"-" xml:"-"`
  4328. }
  4329. type metadataUpdateAutoScalingGroupOutput struct {
  4330. SDKShapeTraits bool `type:"structure"`
  4331. }
  4332. // String returns the string representation
  4333. func (s UpdateAutoScalingGroupOutput) String() string {
  4334. return awsutil.Prettify(s)
  4335. }
  4336. // GoString returns the string representation
  4337. func (s UpdateAutoScalingGroupOutput) GoString() string {
  4338. return s.String()
  4339. }
  4340. const (
  4341. // @enum LifecycleState
  4342. LifecycleStatePending = "Pending"
  4343. // @enum LifecycleState
  4344. LifecycleStatePendingWait = "Pending:Wait"
  4345. // @enum LifecycleState
  4346. LifecycleStatePendingProceed = "Pending:Proceed"
  4347. // @enum LifecycleState
  4348. LifecycleStateQuarantined = "Quarantined"
  4349. // @enum LifecycleState
  4350. LifecycleStateInService = "InService"
  4351. // @enum LifecycleState
  4352. LifecycleStateTerminating = "Terminating"
  4353. // @enum LifecycleState
  4354. LifecycleStateTerminatingWait = "Terminating:Wait"
  4355. // @enum LifecycleState
  4356. LifecycleStateTerminatingProceed = "Terminating:Proceed"
  4357. // @enum LifecycleState
  4358. LifecycleStateTerminated = "Terminated"
  4359. // @enum LifecycleState
  4360. LifecycleStateDetaching = "Detaching"
  4361. // @enum LifecycleState
  4362. LifecycleStateDetached = "Detached"
  4363. // @enum LifecycleState
  4364. LifecycleStateEnteringStandby = "EnteringStandby"
  4365. // @enum LifecycleState
  4366. LifecycleStateStandby = "Standby"
  4367. )
  4368. const (
  4369. // @enum ScalingActivityStatusCode
  4370. ScalingActivityStatusCodeWaitingForSpotInstanceRequestId = "WaitingForSpotInstanceRequestId"
  4371. // @enum ScalingActivityStatusCode
  4372. ScalingActivityStatusCodeWaitingForSpotInstanceId = "WaitingForSpotInstanceId"
  4373. // @enum ScalingActivityStatusCode
  4374. ScalingActivityStatusCodeWaitingForInstanceId = "WaitingForInstanceId"
  4375. // @enum ScalingActivityStatusCode
  4376. ScalingActivityStatusCodePreInService = "PreInService"
  4377. // @enum ScalingActivityStatusCode
  4378. ScalingActivityStatusCodeInProgress = "InProgress"
  4379. // @enum ScalingActivityStatusCode
  4380. ScalingActivityStatusCodeWaitingForElbconnectionDraining = "WaitingForELBConnectionDraining"
  4381. // @enum ScalingActivityStatusCode
  4382. ScalingActivityStatusCodeMidLifecycleAction = "MidLifecycleAction"
  4383. // @enum ScalingActivityStatusCode
  4384. ScalingActivityStatusCodeWaitingForInstanceWarmup = "WaitingForInstanceWarmup"
  4385. // @enum ScalingActivityStatusCode
  4386. ScalingActivityStatusCodeSuccessful = "Successful"
  4387. // @enum ScalingActivityStatusCode
  4388. ScalingActivityStatusCodeFailed = "Failed"
  4389. // @enum ScalingActivityStatusCode
  4390. ScalingActivityStatusCodeCancelled = "Cancelled"
  4391. )