api.go 155 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package elbv2 provides a client for Elastic Load Balancing.
  3. package elbv2
  4. import (
  5. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. )
  10. const opAddTags = "AddTags"
  11. // AddTagsRequest generates a "aws/request.Request" representing the
  12. // client's request for the AddTags operation. The "output" return
  13. // value can be used to capture response data after the request's "Send" method
  14. // is called.
  15. //
  16. // See AddTags for usage and error information.
  17. //
  18. // Creating a request object using this method should be used when you want to inject
  19. // custom logic into the request's lifecycle using a custom handler, or if you want to
  20. // access properties on the request object before or after sending the request. If
  21. // you just want the service response, call the AddTags method directly
  22. // instead.
  23. //
  24. // Note: You must call the "Send" method on the returned request object in order
  25. // to execute the request.
  26. //
  27. // // Example sending a request using the AddTagsRequest method.
  28. // req, resp := client.AddTagsRequest(params)
  29. //
  30. // err := req.Send()
  31. // if err == nil { // resp is now filled
  32. // fmt.Println(resp)
  33. // }
  34. //
  35. func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
  36. op := &request.Operation{
  37. Name: opAddTags,
  38. HTTPMethod: "POST",
  39. HTTPPath: "/",
  40. }
  41. if input == nil {
  42. input = &AddTagsInput{}
  43. }
  44. req = c.newRequest(op, input, output)
  45. output = &AddTagsOutput{}
  46. req.Data = output
  47. return
  48. }
  49. // AddTags API operation for Elastic Load Balancing.
  50. //
  51. // Adds the specified tags to the specified resource. You can tag your Application
  52. // Load Balancers and your target groups.
  53. //
  54. // Each tag consists of a key and an optional value. If a resource already has
  55. // a tag with the same key, AddTags updates its value.
  56. //
  57. // To list the current tags for your resources, use DescribeTags. To remove
  58. // tags from your resources, use RemoveTags.
  59. //
  60. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  61. // with awserr.Error's Code and Message methods to get detailed information about
  62. // the error.
  63. //
  64. // See the AWS API reference guide for Elastic Load Balancing's
  65. // API operation AddTags for usage and error information.
  66. //
  67. // Returned Error Codes:
  68. // * DuplicateTagKeys
  69. // A tag key was specified more than once.
  70. //
  71. // * TooManyTags
  72. // You've reached the limit on the number of tags per load balancer.
  73. //
  74. // * LoadBalancerNotFound
  75. // The specified load balancer does not exist.
  76. //
  77. // * TargetGroupNotFound
  78. // The specified target group does not exist.
  79. //
  80. func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
  81. req, out := c.AddTagsRequest(input)
  82. err := req.Send()
  83. return out, err
  84. }
  85. const opCreateListener = "CreateListener"
  86. // CreateListenerRequest generates a "aws/request.Request" representing the
  87. // client's request for the CreateListener operation. The "output" return
  88. // value can be used to capture response data after the request's "Send" method
  89. // is called.
  90. //
  91. // See CreateListener for usage and error information.
  92. //
  93. // Creating a request object using this method should be used when you want to inject
  94. // custom logic into the request's lifecycle using a custom handler, or if you want to
  95. // access properties on the request object before or after sending the request. If
  96. // you just want the service response, call the CreateListener method directly
  97. // instead.
  98. //
  99. // Note: You must call the "Send" method on the returned request object in order
  100. // to execute the request.
  101. //
  102. // // Example sending a request using the CreateListenerRequest method.
  103. // req, resp := client.CreateListenerRequest(params)
  104. //
  105. // err := req.Send()
  106. // if err == nil { // resp is now filled
  107. // fmt.Println(resp)
  108. // }
  109. //
  110. func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) {
  111. op := &request.Operation{
  112. Name: opCreateListener,
  113. HTTPMethod: "POST",
  114. HTTPPath: "/",
  115. }
  116. if input == nil {
  117. input = &CreateListenerInput{}
  118. }
  119. req = c.newRequest(op, input, output)
  120. output = &CreateListenerOutput{}
  121. req.Data = output
  122. return
  123. }
  124. // CreateListener API operation for Elastic Load Balancing.
  125. //
  126. // Creates a listener for the specified Application Load Balancer.
  127. //
  128. // You can create up to 10 listeners per load balancer.
  129. //
  130. // To update a listener, use ModifyListener. When you are finished with a listener,
  131. // you can delete it using DeleteListener. If you are finished with both the
  132. // listener and the load balancer, you can delete them both using DeleteLoadBalancer.
  133. //
  134. // For more information, see Listeners for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
  135. // in the Application Load Balancers Guide.
  136. //
  137. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  138. // with awserr.Error's Code and Message methods to get detailed information about
  139. // the error.
  140. //
  141. // See the AWS API reference guide for Elastic Load Balancing's
  142. // API operation CreateListener for usage and error information.
  143. //
  144. // Returned Error Codes:
  145. // * DuplicateListener
  146. // A listener with the specified port already exists.
  147. //
  148. // * TooManyListeners
  149. // You've reached the limit on the number of listeners per load balancer.
  150. //
  151. // * TooManyCertificates
  152. // You've reached the limit on the number of certificates per listener.
  153. //
  154. // * LoadBalancerNotFound
  155. // The specified load balancer does not exist.
  156. //
  157. // * TargetGroupNotFound
  158. // The specified target group does not exist.
  159. //
  160. // * TargetGroupAssociationLimit
  161. // You've reached the limit on the number of load balancers per target group.
  162. //
  163. // * InvalidConfigurationRequest
  164. // The requested configuration is not valid.
  165. //
  166. // * IncompatibleProtocols
  167. // The specified configuration is not valid with this protocol.
  168. //
  169. // * SSLPolicyNotFound
  170. // The specified SSL policy does not exist.
  171. //
  172. // * CertificateNotFound
  173. // The specified certificate does not exist.
  174. //
  175. // * UnsupportedProtocol
  176. // The specified protocol is not supported.
  177. //
  178. // * TooManyRegistrationsForTargetId
  179. // You've reached the limit on the number of times a target can be registered
  180. // with a load balancer.
  181. //
  182. func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
  183. req, out := c.CreateListenerRequest(input)
  184. err := req.Send()
  185. return out, err
  186. }
  187. const opCreateLoadBalancer = "CreateLoadBalancer"
  188. // CreateLoadBalancerRequest generates a "aws/request.Request" representing the
  189. // client's request for the CreateLoadBalancer operation. The "output" return
  190. // value can be used to capture response data after the request's "Send" method
  191. // is called.
  192. //
  193. // See CreateLoadBalancer for usage and error information.
  194. //
  195. // Creating a request object using this method should be used when you want to inject
  196. // custom logic into the request's lifecycle using a custom handler, or if you want to
  197. // access properties on the request object before or after sending the request. If
  198. // you just want the service response, call the CreateLoadBalancer method directly
  199. // instead.
  200. //
  201. // Note: You must call the "Send" method on the returned request object in order
  202. // to execute the request.
  203. //
  204. // // Example sending a request using the CreateLoadBalancerRequest method.
  205. // req, resp := client.CreateLoadBalancerRequest(params)
  206. //
  207. // err := req.Send()
  208. // if err == nil { // resp is now filled
  209. // fmt.Println(resp)
  210. // }
  211. //
  212. func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
  213. op := &request.Operation{
  214. Name: opCreateLoadBalancer,
  215. HTTPMethod: "POST",
  216. HTTPPath: "/",
  217. }
  218. if input == nil {
  219. input = &CreateLoadBalancerInput{}
  220. }
  221. req = c.newRequest(op, input, output)
  222. output = &CreateLoadBalancerOutput{}
  223. req.Data = output
  224. return
  225. }
  226. // CreateLoadBalancer API operation for Elastic Load Balancing.
  227. //
  228. // Creates an Application Load Balancer.
  229. //
  230. // To create listeners for your load balancer, use CreateListener. You can add
  231. // security groups, subnets, and tags when you create your load balancer, or
  232. // you can add them later using SetSecurityGroups, SetSubnets, and AddTags.
  233. //
  234. // To describe your current load balancers, see DescribeLoadBalancers. When
  235. // you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
  236. //
  237. // You can create up to 20 load balancers per region per account. You can request
  238. // an increase for the number of load balancers for your account. For more information,
  239. // see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
  240. // in the Application Load Balancers Guide.
  241. //
  242. // For more information, see Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html)
  243. // in the Application Load Balancers Guide.
  244. //
  245. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  246. // with awserr.Error's Code and Message methods to get detailed information about
  247. // the error.
  248. //
  249. // See the AWS API reference guide for Elastic Load Balancing's
  250. // API operation CreateLoadBalancer for usage and error information.
  251. //
  252. // Returned Error Codes:
  253. // * DuplicateLoadBalancerName
  254. // A load balancer with the specified name already exists for this account.
  255. //
  256. // * TooManyLoadBalancers
  257. // You've reached the limit on the number of load balancers for your AWS account.
  258. //
  259. // * InvalidConfigurationRequest
  260. // The requested configuration is not valid.
  261. //
  262. // * SubnetNotFound
  263. // The specified subnet does not exist.
  264. //
  265. // * InvalidSubnet
  266. // The specified subnet is out of available addresses.
  267. //
  268. // * InvalidSecurityGroup
  269. // The specified security group does not exist.
  270. //
  271. // * InvalidScheme
  272. // The requested scheme is not valid.
  273. //
  274. // * TooManyTags
  275. // You've reached the limit on the number of tags per load balancer.
  276. //
  277. // * DuplicateTagKeys
  278. // A tag key was specified more than once.
  279. //
  280. func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
  281. req, out := c.CreateLoadBalancerRequest(input)
  282. err := req.Send()
  283. return out, err
  284. }
  285. const opCreateRule = "CreateRule"
  286. // CreateRuleRequest generates a "aws/request.Request" representing the
  287. // client's request for the CreateRule operation. The "output" return
  288. // value can be used to capture response data after the request's "Send" method
  289. // is called.
  290. //
  291. // See CreateRule for usage and error information.
  292. //
  293. // Creating a request object using this method should be used when you want to inject
  294. // custom logic into the request's lifecycle using a custom handler, or if you want to
  295. // access properties on the request object before or after sending the request. If
  296. // you just want the service response, call the CreateRule method directly
  297. // instead.
  298. //
  299. // Note: You must call the "Send" method on the returned request object in order
  300. // to execute the request.
  301. //
  302. // // Example sending a request using the CreateRuleRequest method.
  303. // req, resp := client.CreateRuleRequest(params)
  304. //
  305. // err := req.Send()
  306. // if err == nil { // resp is now filled
  307. // fmt.Println(resp)
  308. // }
  309. //
  310. func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
  311. op := &request.Operation{
  312. Name: opCreateRule,
  313. HTTPMethod: "POST",
  314. HTTPPath: "/",
  315. }
  316. if input == nil {
  317. input = &CreateRuleInput{}
  318. }
  319. req = c.newRequest(op, input, output)
  320. output = &CreateRuleOutput{}
  321. req.Data = output
  322. return
  323. }
  324. // CreateRule API operation for Elastic Load Balancing.
  325. //
  326. // Creates a rule for the specified listener.
  327. //
  328. // Each rule can have one action and one condition. Rules are evaluated in priority
  329. // order, from the lowest value to the highest value. When the condition for
  330. // a rule is met, the specified action is taken. If no conditions are met, the
  331. // default action for the default rule is taken. For more information, see Listener
  332. // Rules (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules)
  333. // in the Application Load Balancers Guide.
  334. //
  335. // To view your current rules, use DescribeRules. To update a rule, use ModifyRule.
  336. // To set the priorities of your rules, use SetRulePriorities. To delete a rule,
  337. // use DeleteRule.
  338. //
  339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  340. // with awserr.Error's Code and Message methods to get detailed information about
  341. // the error.
  342. //
  343. // See the AWS API reference guide for Elastic Load Balancing's
  344. // API operation CreateRule for usage and error information.
  345. //
  346. // Returned Error Codes:
  347. // * PriorityInUse
  348. // The specified priority is in use.
  349. //
  350. // * TooManyTargetGroups
  351. // You've reached the limit on the number of target groups for your AWS account.
  352. //
  353. // * TooManyRules
  354. // You've reached the limit on the number of rules per load balancer.
  355. //
  356. // * TargetGroupAssociationLimit
  357. // You've reached the limit on the number of load balancers per target group.
  358. //
  359. // * ListenerNotFound
  360. // The specified listener does not exist.
  361. //
  362. // * TargetGroupNotFound
  363. // The specified target group does not exist.
  364. //
  365. // * InvalidConfigurationRequest
  366. // The requested configuration is not valid.
  367. //
  368. // * TooManyRegistrationsForTargetId
  369. // You've reached the limit on the number of times a target can be registered
  370. // with a load balancer.
  371. //
  372. func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
  373. req, out := c.CreateRuleRequest(input)
  374. err := req.Send()
  375. return out, err
  376. }
  377. const opCreateTargetGroup = "CreateTargetGroup"
  378. // CreateTargetGroupRequest generates a "aws/request.Request" representing the
  379. // client's request for the CreateTargetGroup operation. The "output" return
  380. // value can be used to capture response data after the request's "Send" method
  381. // is called.
  382. //
  383. // See CreateTargetGroup for usage and error information.
  384. //
  385. // Creating a request object using this method should be used when you want to inject
  386. // custom logic into the request's lifecycle using a custom handler, or if you want to
  387. // access properties on the request object before or after sending the request. If
  388. // you just want the service response, call the CreateTargetGroup method directly
  389. // instead.
  390. //
  391. // Note: You must call the "Send" method on the returned request object in order
  392. // to execute the request.
  393. //
  394. // // Example sending a request using the CreateTargetGroupRequest method.
  395. // req, resp := client.CreateTargetGroupRequest(params)
  396. //
  397. // err := req.Send()
  398. // if err == nil { // resp is now filled
  399. // fmt.Println(resp)
  400. // }
  401. //
  402. func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) {
  403. op := &request.Operation{
  404. Name: opCreateTargetGroup,
  405. HTTPMethod: "POST",
  406. HTTPPath: "/",
  407. }
  408. if input == nil {
  409. input = &CreateTargetGroupInput{}
  410. }
  411. req = c.newRequest(op, input, output)
  412. output = &CreateTargetGroupOutput{}
  413. req.Data = output
  414. return
  415. }
  416. // CreateTargetGroup API operation for Elastic Load Balancing.
  417. //
  418. // Creates a target group.
  419. //
  420. // To register targets with the target group, use RegisterTargets. To update
  421. // the health check settings for the target group, use ModifyTargetGroup. To
  422. // monitor the health of targets in the target group, use DescribeTargetHealth.
  423. //
  424. // To route traffic to the targets in a target group, specify the target group
  425. // in an action using CreateListener or CreateRule.
  426. //
  427. // To delete a target group, use DeleteTargetGroup.
  428. //
  429. // For more information, see Target Groups for Your Application Load Balancers
  430. // (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
  431. // in the Application Load Balancers Guide.
  432. //
  433. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  434. // with awserr.Error's Code and Message methods to get detailed information about
  435. // the error.
  436. //
  437. // See the AWS API reference guide for Elastic Load Balancing's
  438. // API operation CreateTargetGroup for usage and error information.
  439. //
  440. // Returned Error Codes:
  441. // * DuplicateTargetGroupName
  442. // A target group with the specified name already exists.
  443. //
  444. // * TooManyTargetGroups
  445. // You've reached the limit on the number of target groups for your AWS account.
  446. //
  447. func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
  448. req, out := c.CreateTargetGroupRequest(input)
  449. err := req.Send()
  450. return out, err
  451. }
  452. const opDeleteListener = "DeleteListener"
  453. // DeleteListenerRequest generates a "aws/request.Request" representing the
  454. // client's request for the DeleteListener operation. The "output" return
  455. // value can be used to capture response data after the request's "Send" method
  456. // is called.
  457. //
  458. // See DeleteListener for usage and error information.
  459. //
  460. // Creating a request object using this method should be used when you want to inject
  461. // custom logic into the request's lifecycle using a custom handler, or if you want to
  462. // access properties on the request object before or after sending the request. If
  463. // you just want the service response, call the DeleteListener method directly
  464. // instead.
  465. //
  466. // Note: You must call the "Send" method on the returned request object in order
  467. // to execute the request.
  468. //
  469. // // Example sending a request using the DeleteListenerRequest method.
  470. // req, resp := client.DeleteListenerRequest(params)
  471. //
  472. // err := req.Send()
  473. // if err == nil { // resp is now filled
  474. // fmt.Println(resp)
  475. // }
  476. //
  477. func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) {
  478. op := &request.Operation{
  479. Name: opDeleteListener,
  480. HTTPMethod: "POST",
  481. HTTPPath: "/",
  482. }
  483. if input == nil {
  484. input = &DeleteListenerInput{}
  485. }
  486. req = c.newRequest(op, input, output)
  487. output = &DeleteListenerOutput{}
  488. req.Data = output
  489. return
  490. }
  491. // DeleteListener API operation for Elastic Load Balancing.
  492. //
  493. // Deletes the specified listener.
  494. //
  495. // Alternatively, your listener is deleted when you delete the load balancer
  496. // it is attached to using DeleteLoadBalancer.
  497. //
  498. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  499. // with awserr.Error's Code and Message methods to get detailed information about
  500. // the error.
  501. //
  502. // See the AWS API reference guide for Elastic Load Balancing's
  503. // API operation DeleteListener for usage and error information.
  504. //
  505. // Returned Error Codes:
  506. // * ListenerNotFound
  507. // The specified listener does not exist.
  508. //
  509. func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) {
  510. req, out := c.DeleteListenerRequest(input)
  511. err := req.Send()
  512. return out, err
  513. }
  514. const opDeleteLoadBalancer = "DeleteLoadBalancer"
  515. // DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
  516. // client's request for the DeleteLoadBalancer operation. The "output" return
  517. // value can be used to capture response data after the request's "Send" method
  518. // is called.
  519. //
  520. // See DeleteLoadBalancer for usage and error information.
  521. //
  522. // Creating a request object using this method should be used when you want to inject
  523. // custom logic into the request's lifecycle using a custom handler, or if you want to
  524. // access properties on the request object before or after sending the request. If
  525. // you just want the service response, call the DeleteLoadBalancer method directly
  526. // instead.
  527. //
  528. // Note: You must call the "Send" method on the returned request object in order
  529. // to execute the request.
  530. //
  531. // // Example sending a request using the DeleteLoadBalancerRequest method.
  532. // req, resp := client.DeleteLoadBalancerRequest(params)
  533. //
  534. // err := req.Send()
  535. // if err == nil { // resp is now filled
  536. // fmt.Println(resp)
  537. // }
  538. //
  539. func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
  540. op := &request.Operation{
  541. Name: opDeleteLoadBalancer,
  542. HTTPMethod: "POST",
  543. HTTPPath: "/",
  544. }
  545. if input == nil {
  546. input = &DeleteLoadBalancerInput{}
  547. }
  548. req = c.newRequest(op, input, output)
  549. output = &DeleteLoadBalancerOutput{}
  550. req.Data = output
  551. return
  552. }
  553. // DeleteLoadBalancer API operation for Elastic Load Balancing.
  554. //
  555. // Deletes the specified Application Load Balancer and its attached listeners.
  556. //
  557. // You can't delete a load balancer if deletion protection is enabled. If the
  558. // load balancer does not exist or has already been deleted, the call succeeds.
  559. //
  560. // Deleting a load balancer does not affect its registered targets. For example,
  561. // your EC2 instances continue to run and are still registered to their target
  562. // groups. If you no longer need these EC2 instances, you can stop or terminate
  563. // them.
  564. //
  565. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  566. // with awserr.Error's Code and Message methods to get detailed information about
  567. // the error.
  568. //
  569. // See the AWS API reference guide for Elastic Load Balancing's
  570. // API operation DeleteLoadBalancer for usage and error information.
  571. //
  572. // Returned Error Codes:
  573. // * LoadBalancerNotFound
  574. // The specified load balancer does not exist.
  575. //
  576. // * OperationNotPermitted
  577. // This operation is not allowed.
  578. //
  579. func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
  580. req, out := c.DeleteLoadBalancerRequest(input)
  581. err := req.Send()
  582. return out, err
  583. }
  584. const opDeleteRule = "DeleteRule"
  585. // DeleteRuleRequest generates a "aws/request.Request" representing the
  586. // client's request for the DeleteRule operation. The "output" return
  587. // value can be used to capture response data after the request's "Send" method
  588. // is called.
  589. //
  590. // See DeleteRule for usage and error information.
  591. //
  592. // Creating a request object using this method should be used when you want to inject
  593. // custom logic into the request's lifecycle using a custom handler, or if you want to
  594. // access properties on the request object before or after sending the request. If
  595. // you just want the service response, call the DeleteRule method directly
  596. // instead.
  597. //
  598. // Note: You must call the "Send" method on the returned request object in order
  599. // to execute the request.
  600. //
  601. // // Example sending a request using the DeleteRuleRequest method.
  602. // req, resp := client.DeleteRuleRequest(params)
  603. //
  604. // err := req.Send()
  605. // if err == nil { // resp is now filled
  606. // fmt.Println(resp)
  607. // }
  608. //
  609. func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
  610. op := &request.Operation{
  611. Name: opDeleteRule,
  612. HTTPMethod: "POST",
  613. HTTPPath: "/",
  614. }
  615. if input == nil {
  616. input = &DeleteRuleInput{}
  617. }
  618. req = c.newRequest(op, input, output)
  619. output = &DeleteRuleOutput{}
  620. req.Data = output
  621. return
  622. }
  623. // DeleteRule API operation for Elastic Load Balancing.
  624. //
  625. // Deletes the specified rule.
  626. //
  627. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  628. // with awserr.Error's Code and Message methods to get detailed information about
  629. // the error.
  630. //
  631. // See the AWS API reference guide for Elastic Load Balancing's
  632. // API operation DeleteRule for usage and error information.
  633. //
  634. // Returned Error Codes:
  635. // * RuleNotFound
  636. // The specified rule does not exist.
  637. //
  638. // * OperationNotPermitted
  639. // This operation is not allowed.
  640. //
  641. func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
  642. req, out := c.DeleteRuleRequest(input)
  643. err := req.Send()
  644. return out, err
  645. }
  646. const opDeleteTargetGroup = "DeleteTargetGroup"
  647. // DeleteTargetGroupRequest generates a "aws/request.Request" representing the
  648. // client's request for the DeleteTargetGroup operation. The "output" return
  649. // value can be used to capture response data after the request's "Send" method
  650. // is called.
  651. //
  652. // See DeleteTargetGroup for usage and error information.
  653. //
  654. // Creating a request object using this method should be used when you want to inject
  655. // custom logic into the request's lifecycle using a custom handler, or if you want to
  656. // access properties on the request object before or after sending the request. If
  657. // you just want the service response, call the DeleteTargetGroup method directly
  658. // instead.
  659. //
  660. // Note: You must call the "Send" method on the returned request object in order
  661. // to execute the request.
  662. //
  663. // // Example sending a request using the DeleteTargetGroupRequest method.
  664. // req, resp := client.DeleteTargetGroupRequest(params)
  665. //
  666. // err := req.Send()
  667. // if err == nil { // resp is now filled
  668. // fmt.Println(resp)
  669. // }
  670. //
  671. func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) {
  672. op := &request.Operation{
  673. Name: opDeleteTargetGroup,
  674. HTTPMethod: "POST",
  675. HTTPPath: "/",
  676. }
  677. if input == nil {
  678. input = &DeleteTargetGroupInput{}
  679. }
  680. req = c.newRequest(op, input, output)
  681. output = &DeleteTargetGroupOutput{}
  682. req.Data = output
  683. return
  684. }
  685. // DeleteTargetGroup API operation for Elastic Load Balancing.
  686. //
  687. // Deletes the specified target group.
  688. //
  689. // You can delete a target group if it is not referenced by any actions. Deleting
  690. // a target group also deletes any associated health checks.
  691. //
  692. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  693. // with awserr.Error's Code and Message methods to get detailed information about
  694. // the error.
  695. //
  696. // See the AWS API reference guide for Elastic Load Balancing's
  697. // API operation DeleteTargetGroup for usage and error information.
  698. //
  699. // Returned Error Codes:
  700. // * ResourceInUse
  701. // A specified resource is in use.
  702. //
  703. func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) {
  704. req, out := c.DeleteTargetGroupRequest(input)
  705. err := req.Send()
  706. return out, err
  707. }
  708. const opDeregisterTargets = "DeregisterTargets"
  709. // DeregisterTargetsRequest generates a "aws/request.Request" representing the
  710. // client's request for the DeregisterTargets operation. The "output" return
  711. // value can be used to capture response data after the request's "Send" method
  712. // is called.
  713. //
  714. // See DeregisterTargets for usage and error information.
  715. //
  716. // Creating a request object using this method should be used when you want to inject
  717. // custom logic into the request's lifecycle using a custom handler, or if you want to
  718. // access properties on the request object before or after sending the request. If
  719. // you just want the service response, call the DeregisterTargets method directly
  720. // instead.
  721. //
  722. // Note: You must call the "Send" method on the returned request object in order
  723. // to execute the request.
  724. //
  725. // // Example sending a request using the DeregisterTargetsRequest method.
  726. // req, resp := client.DeregisterTargetsRequest(params)
  727. //
  728. // err := req.Send()
  729. // if err == nil { // resp is now filled
  730. // fmt.Println(resp)
  731. // }
  732. //
  733. func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) {
  734. op := &request.Operation{
  735. Name: opDeregisterTargets,
  736. HTTPMethod: "POST",
  737. HTTPPath: "/",
  738. }
  739. if input == nil {
  740. input = &DeregisterTargetsInput{}
  741. }
  742. req = c.newRequest(op, input, output)
  743. output = &DeregisterTargetsOutput{}
  744. req.Data = output
  745. return
  746. }
  747. // DeregisterTargets API operation for Elastic Load Balancing.
  748. //
  749. // Deregisters the specified targets from the specified target group. After
  750. // the targets are deregistered, they no longer receive traffic from the load
  751. // balancer.
  752. //
  753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  754. // with awserr.Error's Code and Message methods to get detailed information about
  755. // the error.
  756. //
  757. // See the AWS API reference guide for Elastic Load Balancing's
  758. // API operation DeregisterTargets for usage and error information.
  759. //
  760. // Returned Error Codes:
  761. // * TargetGroupNotFound
  762. // The specified target group does not exist.
  763. //
  764. // * InvalidTarget
  765. // The specified target does not exist or is not in the same VPC as the target
  766. // group.
  767. //
  768. func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) {
  769. req, out := c.DeregisterTargetsRequest(input)
  770. err := req.Send()
  771. return out, err
  772. }
  773. const opDescribeListeners = "DescribeListeners"
  774. // DescribeListenersRequest generates a "aws/request.Request" representing the
  775. // client's request for the DescribeListeners operation. The "output" return
  776. // value can be used to capture response data after the request's "Send" method
  777. // is called.
  778. //
  779. // See DescribeListeners for usage and error information.
  780. //
  781. // Creating a request object using this method should be used when you want to inject
  782. // custom logic into the request's lifecycle using a custom handler, or if you want to
  783. // access properties on the request object before or after sending the request. If
  784. // you just want the service response, call the DescribeListeners method directly
  785. // instead.
  786. //
  787. // Note: You must call the "Send" method on the returned request object in order
  788. // to execute the request.
  789. //
  790. // // Example sending a request using the DescribeListenersRequest method.
  791. // req, resp := client.DescribeListenersRequest(params)
  792. //
  793. // err := req.Send()
  794. // if err == nil { // resp is now filled
  795. // fmt.Println(resp)
  796. // }
  797. //
  798. func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *request.Request, output *DescribeListenersOutput) {
  799. op := &request.Operation{
  800. Name: opDescribeListeners,
  801. HTTPMethod: "POST",
  802. HTTPPath: "/",
  803. Paginator: &request.Paginator{
  804. InputTokens: []string{"Marker"},
  805. OutputTokens: []string{"NextMarker"},
  806. LimitToken: "",
  807. TruncationToken: "",
  808. },
  809. }
  810. if input == nil {
  811. input = &DescribeListenersInput{}
  812. }
  813. req = c.newRequest(op, input, output)
  814. output = &DescribeListenersOutput{}
  815. req.Data = output
  816. return
  817. }
  818. // DescribeListeners API operation for Elastic Load Balancing.
  819. //
  820. // Describes the specified listeners or the listeners for the specified Application
  821. // Load Balancer. You must specify either a load balancer or one or more listeners.
  822. //
  823. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  824. // with awserr.Error's Code and Message methods to get detailed information about
  825. // the error.
  826. //
  827. // See the AWS API reference guide for Elastic Load Balancing's
  828. // API operation DescribeListeners for usage and error information.
  829. //
  830. // Returned Error Codes:
  831. // * ListenerNotFound
  832. // The specified listener does not exist.
  833. //
  834. // * LoadBalancerNotFound
  835. // The specified load balancer does not exist.
  836. //
  837. func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) {
  838. req, out := c.DescribeListenersRequest(input)
  839. err := req.Send()
  840. return out, err
  841. }
  842. // DescribeListenersPages iterates over the pages of a DescribeListeners operation,
  843. // calling the "fn" function with the response data for each page. To stop
  844. // iterating, return false from the fn function.
  845. //
  846. // See DescribeListeners method for more information on how to use this operation.
  847. //
  848. // Note: This operation can generate multiple requests to a service.
  849. //
  850. // // Example iterating over at most 3 pages of a DescribeListeners operation.
  851. // pageNum := 0
  852. // err := client.DescribeListenersPages(params,
  853. // func(page *DescribeListenersOutput, lastPage bool) bool {
  854. // pageNum++
  855. // fmt.Println(page)
  856. // return pageNum <= 3
  857. // })
  858. //
  859. func (c *ELBV2) DescribeListenersPages(input *DescribeListenersInput, fn func(p *DescribeListenersOutput, lastPage bool) (shouldContinue bool)) error {
  860. page, _ := c.DescribeListenersRequest(input)
  861. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  862. return page.EachPage(func(p interface{}, lastPage bool) bool {
  863. return fn(p.(*DescribeListenersOutput), lastPage)
  864. })
  865. }
  866. const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes"
  867. // DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
  868. // client's request for the DescribeLoadBalancerAttributes operation. The "output" return
  869. // value can be used to capture response data after the request's "Send" method
  870. // is called.
  871. //
  872. // See DescribeLoadBalancerAttributes for usage and error information.
  873. //
  874. // Creating a request object using this method should be used when you want to inject
  875. // custom logic into the request's lifecycle using a custom handler, or if you want to
  876. // access properties on the request object before or after sending the request. If
  877. // you just want the service response, call the DescribeLoadBalancerAttributes method directly
  878. // instead.
  879. //
  880. // Note: You must call the "Send" method on the returned request object in order
  881. // to execute the request.
  882. //
  883. // // Example sending a request using the DescribeLoadBalancerAttributesRequest method.
  884. // req, resp := client.DescribeLoadBalancerAttributesRequest(params)
  885. //
  886. // err := req.Send()
  887. // if err == nil { // resp is now filled
  888. // fmt.Println(resp)
  889. // }
  890. //
  891. func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) {
  892. op := &request.Operation{
  893. Name: opDescribeLoadBalancerAttributes,
  894. HTTPMethod: "POST",
  895. HTTPPath: "/",
  896. }
  897. if input == nil {
  898. input = &DescribeLoadBalancerAttributesInput{}
  899. }
  900. req = c.newRequest(op, input, output)
  901. output = &DescribeLoadBalancerAttributesOutput{}
  902. req.Data = output
  903. return
  904. }
  905. // DescribeLoadBalancerAttributes API operation for Elastic Load Balancing.
  906. //
  907. // Describes the attributes for the specified Application Load Balancer.
  908. //
  909. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  910. // with awserr.Error's Code and Message methods to get detailed information about
  911. // the error.
  912. //
  913. // See the AWS API reference guide for Elastic Load Balancing's
  914. // API operation DescribeLoadBalancerAttributes for usage and error information.
  915. //
  916. // Returned Error Codes:
  917. // * LoadBalancerNotFound
  918. // The specified load balancer does not exist.
  919. //
  920. func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) {
  921. req, out := c.DescribeLoadBalancerAttributesRequest(input)
  922. err := req.Send()
  923. return out, err
  924. }
  925. const opDescribeLoadBalancers = "DescribeLoadBalancers"
  926. // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the
  927. // client's request for the DescribeLoadBalancers operation. The "output" return
  928. // value can be used to capture response data after the request's "Send" method
  929. // is called.
  930. //
  931. // See DescribeLoadBalancers for usage and error information.
  932. //
  933. // Creating a request object using this method should be used when you want to inject
  934. // custom logic into the request's lifecycle using a custom handler, or if you want to
  935. // access properties on the request object before or after sending the request. If
  936. // you just want the service response, call the DescribeLoadBalancers method directly
  937. // instead.
  938. //
  939. // Note: You must call the "Send" method on the returned request object in order
  940. // to execute the request.
  941. //
  942. // // Example sending a request using the DescribeLoadBalancersRequest method.
  943. // req, resp := client.DescribeLoadBalancersRequest(params)
  944. //
  945. // err := req.Send()
  946. // if err == nil { // resp is now filled
  947. // fmt.Println(resp)
  948. // }
  949. //
  950. func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) {
  951. op := &request.Operation{
  952. Name: opDescribeLoadBalancers,
  953. HTTPMethod: "POST",
  954. HTTPPath: "/",
  955. Paginator: &request.Paginator{
  956. InputTokens: []string{"Marker"},
  957. OutputTokens: []string{"NextMarker"},
  958. LimitToken: "",
  959. TruncationToken: "",
  960. },
  961. }
  962. if input == nil {
  963. input = &DescribeLoadBalancersInput{}
  964. }
  965. req = c.newRequest(op, input, output)
  966. output = &DescribeLoadBalancersOutput{}
  967. req.Data = output
  968. return
  969. }
  970. // DescribeLoadBalancers API operation for Elastic Load Balancing.
  971. //
  972. // Describes the specified Application Load Balancers or all of your Application
  973. // Load Balancers.
  974. //
  975. // To describe the listeners for a load balancer, use DescribeListeners. To
  976. // describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
  977. //
  978. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  979. // with awserr.Error's Code and Message methods to get detailed information about
  980. // the error.
  981. //
  982. // See the AWS API reference guide for Elastic Load Balancing's
  983. // API operation DescribeLoadBalancers for usage and error information.
  984. //
  985. // Returned Error Codes:
  986. // * LoadBalancerNotFound
  987. // The specified load balancer does not exist.
  988. //
  989. func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) {
  990. req, out := c.DescribeLoadBalancersRequest(input)
  991. err := req.Send()
  992. return out, err
  993. }
  994. // DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation,
  995. // calling the "fn" function with the response data for each page. To stop
  996. // iterating, return false from the fn function.
  997. //
  998. // See DescribeLoadBalancers method for more information on how to use this operation.
  999. //
  1000. // Note: This operation can generate multiple requests to a service.
  1001. //
  1002. // // Example iterating over at most 3 pages of a DescribeLoadBalancers operation.
  1003. // pageNum := 0
  1004. // err := client.DescribeLoadBalancersPages(params,
  1005. // func(page *DescribeLoadBalancersOutput, lastPage bool) bool {
  1006. // pageNum++
  1007. // fmt.Println(page)
  1008. // return pageNum <= 3
  1009. // })
  1010. //
  1011. func (c *ELBV2) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(p *DescribeLoadBalancersOutput, lastPage bool) (shouldContinue bool)) error {
  1012. page, _ := c.DescribeLoadBalancersRequest(input)
  1013. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1014. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1015. return fn(p.(*DescribeLoadBalancersOutput), lastPage)
  1016. })
  1017. }
  1018. const opDescribeRules = "DescribeRules"
  1019. // DescribeRulesRequest generates a "aws/request.Request" representing the
  1020. // client's request for the DescribeRules operation. The "output" return
  1021. // value can be used to capture response data after the request's "Send" method
  1022. // is called.
  1023. //
  1024. // See DescribeRules for usage and error information.
  1025. //
  1026. // Creating a request object using this method should be used when you want to inject
  1027. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1028. // access properties on the request object before or after sending the request. If
  1029. // you just want the service response, call the DescribeRules method directly
  1030. // instead.
  1031. //
  1032. // Note: You must call the "Send" method on the returned request object in order
  1033. // to execute the request.
  1034. //
  1035. // // Example sending a request using the DescribeRulesRequest method.
  1036. // req, resp := client.DescribeRulesRequest(params)
  1037. //
  1038. // err := req.Send()
  1039. // if err == nil { // resp is now filled
  1040. // fmt.Println(resp)
  1041. // }
  1042. //
  1043. func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) {
  1044. op := &request.Operation{
  1045. Name: opDescribeRules,
  1046. HTTPMethod: "POST",
  1047. HTTPPath: "/",
  1048. }
  1049. if input == nil {
  1050. input = &DescribeRulesInput{}
  1051. }
  1052. req = c.newRequest(op, input, output)
  1053. output = &DescribeRulesOutput{}
  1054. req.Data = output
  1055. return
  1056. }
  1057. // DescribeRules API operation for Elastic Load Balancing.
  1058. //
  1059. // Describes the specified rules or the rules for the specified listener. You
  1060. // must specify either a listener or one or more rules.
  1061. //
  1062. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1063. // with awserr.Error's Code and Message methods to get detailed information about
  1064. // the error.
  1065. //
  1066. // See the AWS API reference guide for Elastic Load Balancing's
  1067. // API operation DescribeRules for usage and error information.
  1068. //
  1069. // Returned Error Codes:
  1070. // * ListenerNotFound
  1071. // The specified listener does not exist.
  1072. //
  1073. // * RuleNotFound
  1074. // The specified rule does not exist.
  1075. //
  1076. func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) {
  1077. req, out := c.DescribeRulesRequest(input)
  1078. err := req.Send()
  1079. return out, err
  1080. }
  1081. const opDescribeSSLPolicies = "DescribeSSLPolicies"
  1082. // DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the
  1083. // client's request for the DescribeSSLPolicies operation. The "output" return
  1084. // value can be used to capture response data after the request's "Send" method
  1085. // is called.
  1086. //
  1087. // See DescribeSSLPolicies for usage and error information.
  1088. //
  1089. // Creating a request object using this method should be used when you want to inject
  1090. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1091. // access properties on the request object before or after sending the request. If
  1092. // you just want the service response, call the DescribeSSLPolicies method directly
  1093. // instead.
  1094. //
  1095. // Note: You must call the "Send" method on the returned request object in order
  1096. // to execute the request.
  1097. //
  1098. // // Example sending a request using the DescribeSSLPoliciesRequest method.
  1099. // req, resp := client.DescribeSSLPoliciesRequest(params)
  1100. //
  1101. // err := req.Send()
  1102. // if err == nil { // resp is now filled
  1103. // fmt.Println(resp)
  1104. // }
  1105. //
  1106. func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) {
  1107. op := &request.Operation{
  1108. Name: opDescribeSSLPolicies,
  1109. HTTPMethod: "POST",
  1110. HTTPPath: "/",
  1111. }
  1112. if input == nil {
  1113. input = &DescribeSSLPoliciesInput{}
  1114. }
  1115. req = c.newRequest(op, input, output)
  1116. output = &DescribeSSLPoliciesOutput{}
  1117. req.Data = output
  1118. return
  1119. }
  1120. // DescribeSSLPolicies API operation for Elastic Load Balancing.
  1121. //
  1122. // Describes the specified policies or all policies used for SSL negotiation.
  1123. //
  1124. // Note that the only supported policy at this time is ELBSecurityPolicy-2015-05.
  1125. //
  1126. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1127. // with awserr.Error's Code and Message methods to get detailed information about
  1128. // the error.
  1129. //
  1130. // See the AWS API reference guide for Elastic Load Balancing's
  1131. // API operation DescribeSSLPolicies for usage and error information.
  1132. //
  1133. // Returned Error Codes:
  1134. // * SSLPolicyNotFound
  1135. // The specified SSL policy does not exist.
  1136. //
  1137. func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) {
  1138. req, out := c.DescribeSSLPoliciesRequest(input)
  1139. err := req.Send()
  1140. return out, err
  1141. }
  1142. const opDescribeTags = "DescribeTags"
  1143. // DescribeTagsRequest generates a "aws/request.Request" representing the
  1144. // client's request for the DescribeTags operation. The "output" return
  1145. // value can be used to capture response data after the request's "Send" method
  1146. // is called.
  1147. //
  1148. // See DescribeTags for usage and error information.
  1149. //
  1150. // Creating a request object using this method should be used when you want to inject
  1151. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1152. // access properties on the request object before or after sending the request. If
  1153. // you just want the service response, call the DescribeTags method directly
  1154. // instead.
  1155. //
  1156. // Note: You must call the "Send" method on the returned request object in order
  1157. // to execute the request.
  1158. //
  1159. // // Example sending a request using the DescribeTagsRequest method.
  1160. // req, resp := client.DescribeTagsRequest(params)
  1161. //
  1162. // err := req.Send()
  1163. // if err == nil { // resp is now filled
  1164. // fmt.Println(resp)
  1165. // }
  1166. //
  1167. func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  1168. op := &request.Operation{
  1169. Name: opDescribeTags,
  1170. HTTPMethod: "POST",
  1171. HTTPPath: "/",
  1172. }
  1173. if input == nil {
  1174. input = &DescribeTagsInput{}
  1175. }
  1176. req = c.newRequest(op, input, output)
  1177. output = &DescribeTagsOutput{}
  1178. req.Data = output
  1179. return
  1180. }
  1181. // DescribeTags API operation for Elastic Load Balancing.
  1182. //
  1183. // Describes the tags for the specified resources.
  1184. //
  1185. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1186. // with awserr.Error's Code and Message methods to get detailed information about
  1187. // the error.
  1188. //
  1189. // See the AWS API reference guide for Elastic Load Balancing's
  1190. // API operation DescribeTags for usage and error information.
  1191. //
  1192. // Returned Error Codes:
  1193. // * LoadBalancerNotFound
  1194. // The specified load balancer does not exist.
  1195. //
  1196. // * TargetGroupNotFound
  1197. // The specified target group does not exist.
  1198. //
  1199. // * ListenerNotFound
  1200. // The specified listener does not exist.
  1201. //
  1202. // * RuleNotFound
  1203. // The specified rule does not exist.
  1204. //
  1205. func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  1206. req, out := c.DescribeTagsRequest(input)
  1207. err := req.Send()
  1208. return out, err
  1209. }
  1210. const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes"
  1211. // DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the
  1212. // client's request for the DescribeTargetGroupAttributes operation. The "output" return
  1213. // value can be used to capture response data after the request's "Send" method
  1214. // is called.
  1215. //
  1216. // See DescribeTargetGroupAttributes for usage and error information.
  1217. //
  1218. // Creating a request object using this method should be used when you want to inject
  1219. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1220. // access properties on the request object before or after sending the request. If
  1221. // you just want the service response, call the DescribeTargetGroupAttributes method directly
  1222. // instead.
  1223. //
  1224. // Note: You must call the "Send" method on the returned request object in order
  1225. // to execute the request.
  1226. //
  1227. // // Example sending a request using the DescribeTargetGroupAttributesRequest method.
  1228. // req, resp := client.DescribeTargetGroupAttributesRequest(params)
  1229. //
  1230. // err := req.Send()
  1231. // if err == nil { // resp is now filled
  1232. // fmt.Println(resp)
  1233. // }
  1234. //
  1235. func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) {
  1236. op := &request.Operation{
  1237. Name: opDescribeTargetGroupAttributes,
  1238. HTTPMethod: "POST",
  1239. HTTPPath: "/",
  1240. }
  1241. if input == nil {
  1242. input = &DescribeTargetGroupAttributesInput{}
  1243. }
  1244. req = c.newRequest(op, input, output)
  1245. output = &DescribeTargetGroupAttributesOutput{}
  1246. req.Data = output
  1247. return
  1248. }
  1249. // DescribeTargetGroupAttributes API operation for Elastic Load Balancing.
  1250. //
  1251. // Describes the attributes for the specified target group.
  1252. //
  1253. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1254. // with awserr.Error's Code and Message methods to get detailed information about
  1255. // the error.
  1256. //
  1257. // See the AWS API reference guide for Elastic Load Balancing's
  1258. // API operation DescribeTargetGroupAttributes for usage and error information.
  1259. //
  1260. // Returned Error Codes:
  1261. // * TargetGroupNotFound
  1262. // The specified target group does not exist.
  1263. //
  1264. func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) {
  1265. req, out := c.DescribeTargetGroupAttributesRequest(input)
  1266. err := req.Send()
  1267. return out, err
  1268. }
  1269. const opDescribeTargetGroups = "DescribeTargetGroups"
  1270. // DescribeTargetGroupsRequest generates a "aws/request.Request" representing the
  1271. // client's request for the DescribeTargetGroups operation. The "output" return
  1272. // value can be used to capture response data after the request's "Send" method
  1273. // is called.
  1274. //
  1275. // See DescribeTargetGroups for usage and error information.
  1276. //
  1277. // Creating a request object using this method should be used when you want to inject
  1278. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1279. // access properties on the request object before or after sending the request. If
  1280. // you just want the service response, call the DescribeTargetGroups method directly
  1281. // instead.
  1282. //
  1283. // Note: You must call the "Send" method on the returned request object in order
  1284. // to execute the request.
  1285. //
  1286. // // Example sending a request using the DescribeTargetGroupsRequest method.
  1287. // req, resp := client.DescribeTargetGroupsRequest(params)
  1288. //
  1289. // err := req.Send()
  1290. // if err == nil { // resp is now filled
  1291. // fmt.Println(resp)
  1292. // }
  1293. //
  1294. func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (req *request.Request, output *DescribeTargetGroupsOutput) {
  1295. op := &request.Operation{
  1296. Name: opDescribeTargetGroups,
  1297. HTTPMethod: "POST",
  1298. HTTPPath: "/",
  1299. Paginator: &request.Paginator{
  1300. InputTokens: []string{"Marker"},
  1301. OutputTokens: []string{"NextMarker"},
  1302. LimitToken: "",
  1303. TruncationToken: "",
  1304. },
  1305. }
  1306. if input == nil {
  1307. input = &DescribeTargetGroupsInput{}
  1308. }
  1309. req = c.newRequest(op, input, output)
  1310. output = &DescribeTargetGroupsOutput{}
  1311. req.Data = output
  1312. return
  1313. }
  1314. // DescribeTargetGroups API operation for Elastic Load Balancing.
  1315. //
  1316. // Describes the specified target groups or all of your target groups. By default,
  1317. // all target groups are described. Alternatively, you can specify one of the
  1318. // following to filter the results: the ARN of the load balancer, the names
  1319. // of one or more target groups, or the ARNs of one or more target groups.
  1320. //
  1321. // To describe the targets for a target group, use DescribeTargetHealth. To
  1322. // describe the attributes of a target group, use DescribeTargetGroupAttributes.
  1323. //
  1324. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1325. // with awserr.Error's Code and Message methods to get detailed information about
  1326. // the error.
  1327. //
  1328. // See the AWS API reference guide for Elastic Load Balancing's
  1329. // API operation DescribeTargetGroups for usage and error information.
  1330. //
  1331. // Returned Error Codes:
  1332. // * LoadBalancerNotFound
  1333. // The specified load balancer does not exist.
  1334. //
  1335. // * TargetGroupNotFound
  1336. // The specified target group does not exist.
  1337. //
  1338. func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) {
  1339. req, out := c.DescribeTargetGroupsRequest(input)
  1340. err := req.Send()
  1341. return out, err
  1342. }
  1343. // DescribeTargetGroupsPages iterates over the pages of a DescribeTargetGroups operation,
  1344. // calling the "fn" function with the response data for each page. To stop
  1345. // iterating, return false from the fn function.
  1346. //
  1347. // See DescribeTargetGroups method for more information on how to use this operation.
  1348. //
  1349. // Note: This operation can generate multiple requests to a service.
  1350. //
  1351. // // Example iterating over at most 3 pages of a DescribeTargetGroups operation.
  1352. // pageNum := 0
  1353. // err := client.DescribeTargetGroupsPages(params,
  1354. // func(page *DescribeTargetGroupsOutput, lastPage bool) bool {
  1355. // pageNum++
  1356. // fmt.Println(page)
  1357. // return pageNum <= 3
  1358. // })
  1359. //
  1360. func (c *ELBV2) DescribeTargetGroupsPages(input *DescribeTargetGroupsInput, fn func(p *DescribeTargetGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  1361. page, _ := c.DescribeTargetGroupsRequest(input)
  1362. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  1363. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1364. return fn(p.(*DescribeTargetGroupsOutput), lastPage)
  1365. })
  1366. }
  1367. const opDescribeTargetHealth = "DescribeTargetHealth"
  1368. // DescribeTargetHealthRequest generates a "aws/request.Request" representing the
  1369. // client's request for the DescribeTargetHealth operation. The "output" return
  1370. // value can be used to capture response data after the request's "Send" method
  1371. // is called.
  1372. //
  1373. // See DescribeTargetHealth for usage and error information.
  1374. //
  1375. // Creating a request object using this method should be used when you want to inject
  1376. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1377. // access properties on the request object before or after sending the request. If
  1378. // you just want the service response, call the DescribeTargetHealth method directly
  1379. // instead.
  1380. //
  1381. // Note: You must call the "Send" method on the returned request object in order
  1382. // to execute the request.
  1383. //
  1384. // // Example sending a request using the DescribeTargetHealthRequest method.
  1385. // req, resp := client.DescribeTargetHealthRequest(params)
  1386. //
  1387. // err := req.Send()
  1388. // if err == nil { // resp is now filled
  1389. // fmt.Println(resp)
  1390. // }
  1391. //
  1392. func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) {
  1393. op := &request.Operation{
  1394. Name: opDescribeTargetHealth,
  1395. HTTPMethod: "POST",
  1396. HTTPPath: "/",
  1397. }
  1398. if input == nil {
  1399. input = &DescribeTargetHealthInput{}
  1400. }
  1401. req = c.newRequest(op, input, output)
  1402. output = &DescribeTargetHealthOutput{}
  1403. req.Data = output
  1404. return
  1405. }
  1406. // DescribeTargetHealth API operation for Elastic Load Balancing.
  1407. //
  1408. // Describes the health of the specified targets or all of your targets.
  1409. //
  1410. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1411. // with awserr.Error's Code and Message methods to get detailed information about
  1412. // the error.
  1413. //
  1414. // See the AWS API reference guide for Elastic Load Balancing's
  1415. // API operation DescribeTargetHealth for usage and error information.
  1416. //
  1417. // Returned Error Codes:
  1418. // * InvalidTarget
  1419. // The specified target does not exist or is not in the same VPC as the target
  1420. // group.
  1421. //
  1422. // * TargetGroupNotFound
  1423. // The specified target group does not exist.
  1424. //
  1425. // * HealthUnavailable
  1426. // The health of the specified targets could not be retrieved due to an internal
  1427. // error.
  1428. //
  1429. func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) {
  1430. req, out := c.DescribeTargetHealthRequest(input)
  1431. err := req.Send()
  1432. return out, err
  1433. }
  1434. const opModifyListener = "ModifyListener"
  1435. // ModifyListenerRequest generates a "aws/request.Request" representing the
  1436. // client's request for the ModifyListener operation. The "output" return
  1437. // value can be used to capture response data after the request's "Send" method
  1438. // is called.
  1439. //
  1440. // See ModifyListener for usage and error information.
  1441. //
  1442. // Creating a request object using this method should be used when you want to inject
  1443. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1444. // access properties on the request object before or after sending the request. If
  1445. // you just want the service response, call the ModifyListener method directly
  1446. // instead.
  1447. //
  1448. // Note: You must call the "Send" method on the returned request object in order
  1449. // to execute the request.
  1450. //
  1451. // // Example sending a request using the ModifyListenerRequest method.
  1452. // req, resp := client.ModifyListenerRequest(params)
  1453. //
  1454. // err := req.Send()
  1455. // if err == nil { // resp is now filled
  1456. // fmt.Println(resp)
  1457. // }
  1458. //
  1459. func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) {
  1460. op := &request.Operation{
  1461. Name: opModifyListener,
  1462. HTTPMethod: "POST",
  1463. HTTPPath: "/",
  1464. }
  1465. if input == nil {
  1466. input = &ModifyListenerInput{}
  1467. }
  1468. req = c.newRequest(op, input, output)
  1469. output = &ModifyListenerOutput{}
  1470. req.Data = output
  1471. return
  1472. }
  1473. // ModifyListener API operation for Elastic Load Balancing.
  1474. //
  1475. // Modifies the specified properties of the specified listener.
  1476. //
  1477. // Any properties that you do not specify retain their current values. However,
  1478. // changing the protocol from HTTPS to HTTP removes the security policy and
  1479. // SSL certificate properties. If you change the protocol from HTTP to HTTPS,
  1480. // you must add the security policy.
  1481. //
  1482. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1483. // with awserr.Error's Code and Message methods to get detailed information about
  1484. // the error.
  1485. //
  1486. // See the AWS API reference guide for Elastic Load Balancing's
  1487. // API operation ModifyListener for usage and error information.
  1488. //
  1489. // Returned Error Codes:
  1490. // * DuplicateListener
  1491. // A listener with the specified port already exists.
  1492. //
  1493. // * TooManyListeners
  1494. // You've reached the limit on the number of listeners per load balancer.
  1495. //
  1496. // * TooManyCertificates
  1497. // You've reached the limit on the number of certificates per listener.
  1498. //
  1499. // * ListenerNotFound
  1500. // The specified listener does not exist.
  1501. //
  1502. // * TargetGroupNotFound
  1503. // The specified target group does not exist.
  1504. //
  1505. // * TargetGroupAssociationLimit
  1506. // You've reached the limit on the number of load balancers per target group.
  1507. //
  1508. // * IncompatibleProtocols
  1509. // The specified configuration is not valid with this protocol.
  1510. //
  1511. // * SSLPolicyNotFound
  1512. // The specified SSL policy does not exist.
  1513. //
  1514. // * CertificateNotFound
  1515. // The specified certificate does not exist.
  1516. //
  1517. // * InvalidConfigurationRequest
  1518. // The requested configuration is not valid.
  1519. //
  1520. // * UnsupportedProtocol
  1521. // The specified protocol is not supported.
  1522. //
  1523. // * TooManyRegistrationsForTargetId
  1524. // You've reached the limit on the number of times a target can be registered
  1525. // with a load balancer.
  1526. //
  1527. func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
  1528. req, out := c.ModifyListenerRequest(input)
  1529. err := req.Send()
  1530. return out, err
  1531. }
  1532. const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes"
  1533. // ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
  1534. // client's request for the ModifyLoadBalancerAttributes operation. The "output" return
  1535. // value can be used to capture response data after the request's "Send" method
  1536. // is called.
  1537. //
  1538. // See ModifyLoadBalancerAttributes for usage and error information.
  1539. //
  1540. // Creating a request object using this method should be used when you want to inject
  1541. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1542. // access properties on the request object before or after sending the request. If
  1543. // you just want the service response, call the ModifyLoadBalancerAttributes method directly
  1544. // instead.
  1545. //
  1546. // Note: You must call the "Send" method on the returned request object in order
  1547. // to execute the request.
  1548. //
  1549. // // Example sending a request using the ModifyLoadBalancerAttributesRequest method.
  1550. // req, resp := client.ModifyLoadBalancerAttributesRequest(params)
  1551. //
  1552. // err := req.Send()
  1553. // if err == nil { // resp is now filled
  1554. // fmt.Println(resp)
  1555. // }
  1556. //
  1557. func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) {
  1558. op := &request.Operation{
  1559. Name: opModifyLoadBalancerAttributes,
  1560. HTTPMethod: "POST",
  1561. HTTPPath: "/",
  1562. }
  1563. if input == nil {
  1564. input = &ModifyLoadBalancerAttributesInput{}
  1565. }
  1566. req = c.newRequest(op, input, output)
  1567. output = &ModifyLoadBalancerAttributesOutput{}
  1568. req.Data = output
  1569. return
  1570. }
  1571. // ModifyLoadBalancerAttributes API operation for Elastic Load Balancing.
  1572. //
  1573. // Modifies the specified attributes of the specified Application Load Balancer.
  1574. //
  1575. // If any of the specified attributes can't be modified as requested, the call
  1576. // fails. Any existing attributes that you do not modify retain their current
  1577. // values.
  1578. //
  1579. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1580. // with awserr.Error's Code and Message methods to get detailed information about
  1581. // the error.
  1582. //
  1583. // See the AWS API reference guide for Elastic Load Balancing's
  1584. // API operation ModifyLoadBalancerAttributes for usage and error information.
  1585. //
  1586. // Returned Error Codes:
  1587. // * LoadBalancerNotFound
  1588. // The specified load balancer does not exist.
  1589. //
  1590. // * InvalidConfigurationRequest
  1591. // The requested configuration is not valid.
  1592. //
  1593. func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) {
  1594. req, out := c.ModifyLoadBalancerAttributesRequest(input)
  1595. err := req.Send()
  1596. return out, err
  1597. }
  1598. const opModifyRule = "ModifyRule"
  1599. // ModifyRuleRequest generates a "aws/request.Request" representing the
  1600. // client's request for the ModifyRule operation. The "output" return
  1601. // value can be used to capture response data after the request's "Send" method
  1602. // is called.
  1603. //
  1604. // See ModifyRule for usage and error information.
  1605. //
  1606. // Creating a request object using this method should be used when you want to inject
  1607. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1608. // access properties on the request object before or after sending the request. If
  1609. // you just want the service response, call the ModifyRule method directly
  1610. // instead.
  1611. //
  1612. // Note: You must call the "Send" method on the returned request object in order
  1613. // to execute the request.
  1614. //
  1615. // // Example sending a request using the ModifyRuleRequest method.
  1616. // req, resp := client.ModifyRuleRequest(params)
  1617. //
  1618. // err := req.Send()
  1619. // if err == nil { // resp is now filled
  1620. // fmt.Println(resp)
  1621. // }
  1622. //
  1623. func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) {
  1624. op := &request.Operation{
  1625. Name: opModifyRule,
  1626. HTTPMethod: "POST",
  1627. HTTPPath: "/",
  1628. }
  1629. if input == nil {
  1630. input = &ModifyRuleInput{}
  1631. }
  1632. req = c.newRequest(op, input, output)
  1633. output = &ModifyRuleOutput{}
  1634. req.Data = output
  1635. return
  1636. }
  1637. // ModifyRule API operation for Elastic Load Balancing.
  1638. //
  1639. // Modifies the specified rule.
  1640. //
  1641. // Any existing properties that you do not modify retain their current values.
  1642. //
  1643. // To modify the default action, use ModifyListener.
  1644. //
  1645. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1646. // with awserr.Error's Code and Message methods to get detailed information about
  1647. // the error.
  1648. //
  1649. // See the AWS API reference guide for Elastic Load Balancing's
  1650. // API operation ModifyRule for usage and error information.
  1651. //
  1652. // Returned Error Codes:
  1653. // * TargetGroupAssociationLimit
  1654. // You've reached the limit on the number of load balancers per target group.
  1655. //
  1656. // * RuleNotFound
  1657. // The specified rule does not exist.
  1658. //
  1659. // * OperationNotPermitted
  1660. // This operation is not allowed.
  1661. //
  1662. // * TooManyRegistrationsForTargetId
  1663. // You've reached the limit on the number of times a target can be registered
  1664. // with a load balancer.
  1665. //
  1666. func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) {
  1667. req, out := c.ModifyRuleRequest(input)
  1668. err := req.Send()
  1669. return out, err
  1670. }
  1671. const opModifyTargetGroup = "ModifyTargetGroup"
  1672. // ModifyTargetGroupRequest generates a "aws/request.Request" representing the
  1673. // client's request for the ModifyTargetGroup operation. The "output" return
  1674. // value can be used to capture response data after the request's "Send" method
  1675. // is called.
  1676. //
  1677. // See ModifyTargetGroup for usage and error information.
  1678. //
  1679. // Creating a request object using this method should be used when you want to inject
  1680. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1681. // access properties on the request object before or after sending the request. If
  1682. // you just want the service response, call the ModifyTargetGroup method directly
  1683. // instead.
  1684. //
  1685. // Note: You must call the "Send" method on the returned request object in order
  1686. // to execute the request.
  1687. //
  1688. // // Example sending a request using the ModifyTargetGroupRequest method.
  1689. // req, resp := client.ModifyTargetGroupRequest(params)
  1690. //
  1691. // err := req.Send()
  1692. // if err == nil { // resp is now filled
  1693. // fmt.Println(resp)
  1694. // }
  1695. //
  1696. func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) {
  1697. op := &request.Operation{
  1698. Name: opModifyTargetGroup,
  1699. HTTPMethod: "POST",
  1700. HTTPPath: "/",
  1701. }
  1702. if input == nil {
  1703. input = &ModifyTargetGroupInput{}
  1704. }
  1705. req = c.newRequest(op, input, output)
  1706. output = &ModifyTargetGroupOutput{}
  1707. req.Data = output
  1708. return
  1709. }
  1710. // ModifyTargetGroup API operation for Elastic Load Balancing.
  1711. //
  1712. // Modifies the health checks used when evaluating the health state of the targets
  1713. // in the specified target group.
  1714. //
  1715. // To monitor the health of the targets, use DescribeTargetHealth.
  1716. //
  1717. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1718. // with awserr.Error's Code and Message methods to get detailed information about
  1719. // the error.
  1720. //
  1721. // See the AWS API reference guide for Elastic Load Balancing's
  1722. // API operation ModifyTargetGroup for usage and error information.
  1723. //
  1724. // Returned Error Codes:
  1725. // * TargetGroupNotFound
  1726. // The specified target group does not exist.
  1727. //
  1728. func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) {
  1729. req, out := c.ModifyTargetGroupRequest(input)
  1730. err := req.Send()
  1731. return out, err
  1732. }
  1733. const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes"
  1734. // ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the
  1735. // client's request for the ModifyTargetGroupAttributes operation. The "output" return
  1736. // value can be used to capture response data after the request's "Send" method
  1737. // is called.
  1738. //
  1739. // See ModifyTargetGroupAttributes for usage and error information.
  1740. //
  1741. // Creating a request object using this method should be used when you want to inject
  1742. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1743. // access properties on the request object before or after sending the request. If
  1744. // you just want the service response, call the ModifyTargetGroupAttributes method directly
  1745. // instead.
  1746. //
  1747. // Note: You must call the "Send" method on the returned request object in order
  1748. // to execute the request.
  1749. //
  1750. // // Example sending a request using the ModifyTargetGroupAttributesRequest method.
  1751. // req, resp := client.ModifyTargetGroupAttributesRequest(params)
  1752. //
  1753. // err := req.Send()
  1754. // if err == nil { // resp is now filled
  1755. // fmt.Println(resp)
  1756. // }
  1757. //
  1758. func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) {
  1759. op := &request.Operation{
  1760. Name: opModifyTargetGroupAttributes,
  1761. HTTPMethod: "POST",
  1762. HTTPPath: "/",
  1763. }
  1764. if input == nil {
  1765. input = &ModifyTargetGroupAttributesInput{}
  1766. }
  1767. req = c.newRequest(op, input, output)
  1768. output = &ModifyTargetGroupAttributesOutput{}
  1769. req.Data = output
  1770. return
  1771. }
  1772. // ModifyTargetGroupAttributes API operation for Elastic Load Balancing.
  1773. //
  1774. // Modifies the specified attributes of the specified target group.
  1775. //
  1776. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1777. // with awserr.Error's Code and Message methods to get detailed information about
  1778. // the error.
  1779. //
  1780. // See the AWS API reference guide for Elastic Load Balancing's
  1781. // API operation ModifyTargetGroupAttributes for usage and error information.
  1782. //
  1783. // Returned Error Codes:
  1784. // * TargetGroupNotFound
  1785. // The specified target group does not exist.
  1786. //
  1787. func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) {
  1788. req, out := c.ModifyTargetGroupAttributesRequest(input)
  1789. err := req.Send()
  1790. return out, err
  1791. }
  1792. const opRegisterTargets = "RegisterTargets"
  1793. // RegisterTargetsRequest generates a "aws/request.Request" representing the
  1794. // client's request for the RegisterTargets operation. The "output" return
  1795. // value can be used to capture response data after the request's "Send" method
  1796. // is called.
  1797. //
  1798. // See RegisterTargets for usage and error information.
  1799. //
  1800. // Creating a request object using this method should be used when you want to inject
  1801. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1802. // access properties on the request object before or after sending the request. If
  1803. // you just want the service response, call the RegisterTargets method directly
  1804. // instead.
  1805. //
  1806. // Note: You must call the "Send" method on the returned request object in order
  1807. // to execute the request.
  1808. //
  1809. // // Example sending a request using the RegisterTargetsRequest method.
  1810. // req, resp := client.RegisterTargetsRequest(params)
  1811. //
  1812. // err := req.Send()
  1813. // if err == nil { // resp is now filled
  1814. // fmt.Println(resp)
  1815. // }
  1816. //
  1817. func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) {
  1818. op := &request.Operation{
  1819. Name: opRegisterTargets,
  1820. HTTPMethod: "POST",
  1821. HTTPPath: "/",
  1822. }
  1823. if input == nil {
  1824. input = &RegisterTargetsInput{}
  1825. }
  1826. req = c.newRequest(op, input, output)
  1827. output = &RegisterTargetsOutput{}
  1828. req.Data = output
  1829. return
  1830. }
  1831. // RegisterTargets API operation for Elastic Load Balancing.
  1832. //
  1833. // Registers the specified targets with the specified target group.
  1834. //
  1835. // By default, the load balancer routes requests to registered targets using
  1836. // the protocol and port number for the target group. Alternatively, you can
  1837. // override the port for a target when you register it.
  1838. //
  1839. // The target must be in the virtual private cloud (VPC) that you specified
  1840. // for the target group. If the target is an EC2 instance, it can't be in the
  1841. // stopped or running state when you register it.
  1842. //
  1843. // To remove a target from a target group, use DeregisterTargets.
  1844. //
  1845. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1846. // with awserr.Error's Code and Message methods to get detailed information about
  1847. // the error.
  1848. //
  1849. // See the AWS API reference guide for Elastic Load Balancing's
  1850. // API operation RegisterTargets for usage and error information.
  1851. //
  1852. // Returned Error Codes:
  1853. // * TargetGroupNotFound
  1854. // The specified target group does not exist.
  1855. //
  1856. // * TooManyTargets
  1857. // You've reached the limit on the number of targets.
  1858. //
  1859. // * InvalidTarget
  1860. // The specified target does not exist or is not in the same VPC as the target
  1861. // group.
  1862. //
  1863. // * TooManyRegistrationsForTargetId
  1864. // You've reached the limit on the number of times a target can be registered
  1865. // with a load balancer.
  1866. //
  1867. func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) {
  1868. req, out := c.RegisterTargetsRequest(input)
  1869. err := req.Send()
  1870. return out, err
  1871. }
  1872. const opRemoveTags = "RemoveTags"
  1873. // RemoveTagsRequest generates a "aws/request.Request" representing the
  1874. // client's request for the RemoveTags operation. The "output" return
  1875. // value can be used to capture response data after the request's "Send" method
  1876. // is called.
  1877. //
  1878. // See RemoveTags for usage and error information.
  1879. //
  1880. // Creating a request object using this method should be used when you want to inject
  1881. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1882. // access properties on the request object before or after sending the request. If
  1883. // you just want the service response, call the RemoveTags method directly
  1884. // instead.
  1885. //
  1886. // Note: You must call the "Send" method on the returned request object in order
  1887. // to execute the request.
  1888. //
  1889. // // Example sending a request using the RemoveTagsRequest method.
  1890. // req, resp := client.RemoveTagsRequest(params)
  1891. //
  1892. // err := req.Send()
  1893. // if err == nil { // resp is now filled
  1894. // fmt.Println(resp)
  1895. // }
  1896. //
  1897. func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
  1898. op := &request.Operation{
  1899. Name: opRemoveTags,
  1900. HTTPMethod: "POST",
  1901. HTTPPath: "/",
  1902. }
  1903. if input == nil {
  1904. input = &RemoveTagsInput{}
  1905. }
  1906. req = c.newRequest(op, input, output)
  1907. output = &RemoveTagsOutput{}
  1908. req.Data = output
  1909. return
  1910. }
  1911. // RemoveTags API operation for Elastic Load Balancing.
  1912. //
  1913. // Removes the specified tags from the specified resource.
  1914. //
  1915. // To list the current tags for your resources, use DescribeTags.
  1916. //
  1917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1918. // with awserr.Error's Code and Message methods to get detailed information about
  1919. // the error.
  1920. //
  1921. // See the AWS API reference guide for Elastic Load Balancing's
  1922. // API operation RemoveTags for usage and error information.
  1923. //
  1924. // Returned Error Codes:
  1925. // * LoadBalancerNotFound
  1926. // The specified load balancer does not exist.
  1927. //
  1928. // * TargetGroupNotFound
  1929. // The specified target group does not exist.
  1930. //
  1931. // * ListenerNotFound
  1932. // The specified listener does not exist.
  1933. //
  1934. // * RuleNotFound
  1935. // The specified rule does not exist.
  1936. //
  1937. // * TooManyTags
  1938. // You've reached the limit on the number of tags per load balancer.
  1939. //
  1940. func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
  1941. req, out := c.RemoveTagsRequest(input)
  1942. err := req.Send()
  1943. return out, err
  1944. }
  1945. const opSetRulePriorities = "SetRulePriorities"
  1946. // SetRulePrioritiesRequest generates a "aws/request.Request" representing the
  1947. // client's request for the SetRulePriorities operation. The "output" return
  1948. // value can be used to capture response data after the request's "Send" method
  1949. // is called.
  1950. //
  1951. // See SetRulePriorities for usage and error information.
  1952. //
  1953. // Creating a request object using this method should be used when you want to inject
  1954. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1955. // access properties on the request object before or after sending the request. If
  1956. // you just want the service response, call the SetRulePriorities method directly
  1957. // instead.
  1958. //
  1959. // Note: You must call the "Send" method on the returned request object in order
  1960. // to execute the request.
  1961. //
  1962. // // Example sending a request using the SetRulePrioritiesRequest method.
  1963. // req, resp := client.SetRulePrioritiesRequest(params)
  1964. //
  1965. // err := req.Send()
  1966. // if err == nil { // resp is now filled
  1967. // fmt.Println(resp)
  1968. // }
  1969. //
  1970. func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) {
  1971. op := &request.Operation{
  1972. Name: opSetRulePriorities,
  1973. HTTPMethod: "POST",
  1974. HTTPPath: "/",
  1975. }
  1976. if input == nil {
  1977. input = &SetRulePrioritiesInput{}
  1978. }
  1979. req = c.newRequest(op, input, output)
  1980. output = &SetRulePrioritiesOutput{}
  1981. req.Data = output
  1982. return
  1983. }
  1984. // SetRulePriorities API operation for Elastic Load Balancing.
  1985. //
  1986. // Sets the priorities of the specified rules.
  1987. //
  1988. // You can reorder the rules as long as there are no priority conflicts in the
  1989. // new order. Any existing rules that you do not specify retain their current
  1990. // priority.
  1991. //
  1992. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1993. // with awserr.Error's Code and Message methods to get detailed information about
  1994. // the error.
  1995. //
  1996. // See the AWS API reference guide for Elastic Load Balancing's
  1997. // API operation SetRulePriorities for usage and error information.
  1998. //
  1999. // Returned Error Codes:
  2000. // * RuleNotFound
  2001. // The specified rule does not exist.
  2002. //
  2003. // * PriorityInUse
  2004. // The specified priority is in use.
  2005. //
  2006. // * OperationNotPermitted
  2007. // This operation is not allowed.
  2008. //
  2009. func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) {
  2010. req, out := c.SetRulePrioritiesRequest(input)
  2011. err := req.Send()
  2012. return out, err
  2013. }
  2014. const opSetSecurityGroups = "SetSecurityGroups"
  2015. // SetSecurityGroupsRequest generates a "aws/request.Request" representing the
  2016. // client's request for the SetSecurityGroups operation. The "output" return
  2017. // value can be used to capture response data after the request's "Send" method
  2018. // is called.
  2019. //
  2020. // See SetSecurityGroups for usage and error information.
  2021. //
  2022. // Creating a request object using this method should be used when you want to inject
  2023. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2024. // access properties on the request object before or after sending the request. If
  2025. // you just want the service response, call the SetSecurityGroups method directly
  2026. // instead.
  2027. //
  2028. // Note: You must call the "Send" method on the returned request object in order
  2029. // to execute the request.
  2030. //
  2031. // // Example sending a request using the SetSecurityGroupsRequest method.
  2032. // req, resp := client.SetSecurityGroupsRequest(params)
  2033. //
  2034. // err := req.Send()
  2035. // if err == nil { // resp is now filled
  2036. // fmt.Println(resp)
  2037. // }
  2038. //
  2039. func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) {
  2040. op := &request.Operation{
  2041. Name: opSetSecurityGroups,
  2042. HTTPMethod: "POST",
  2043. HTTPPath: "/",
  2044. }
  2045. if input == nil {
  2046. input = &SetSecurityGroupsInput{}
  2047. }
  2048. req = c.newRequest(op, input, output)
  2049. output = &SetSecurityGroupsOutput{}
  2050. req.Data = output
  2051. return
  2052. }
  2053. // SetSecurityGroups API operation for Elastic Load Balancing.
  2054. //
  2055. // Associates the specified security groups with the specified load balancer.
  2056. // The specified security groups override the previously associated security
  2057. // groups.
  2058. //
  2059. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2060. // with awserr.Error's Code and Message methods to get detailed information about
  2061. // the error.
  2062. //
  2063. // See the AWS API reference guide for Elastic Load Balancing's
  2064. // API operation SetSecurityGroups for usage and error information.
  2065. //
  2066. // Returned Error Codes:
  2067. // * LoadBalancerNotFound
  2068. // The specified load balancer does not exist.
  2069. //
  2070. // * InvalidConfigurationRequest
  2071. // The requested configuration is not valid.
  2072. //
  2073. // * InvalidSecurityGroup
  2074. // The specified security group does not exist.
  2075. //
  2076. func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) {
  2077. req, out := c.SetSecurityGroupsRequest(input)
  2078. err := req.Send()
  2079. return out, err
  2080. }
  2081. const opSetSubnets = "SetSubnets"
  2082. // SetSubnetsRequest generates a "aws/request.Request" representing the
  2083. // client's request for the SetSubnets operation. The "output" return
  2084. // value can be used to capture response data after the request's "Send" method
  2085. // is called.
  2086. //
  2087. // See SetSubnets for usage and error information.
  2088. //
  2089. // Creating a request object using this method should be used when you want to inject
  2090. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2091. // access properties on the request object before or after sending the request. If
  2092. // you just want the service response, call the SetSubnets method directly
  2093. // instead.
  2094. //
  2095. // Note: You must call the "Send" method on the returned request object in order
  2096. // to execute the request.
  2097. //
  2098. // // Example sending a request using the SetSubnetsRequest method.
  2099. // req, resp := client.SetSubnetsRequest(params)
  2100. //
  2101. // err := req.Send()
  2102. // if err == nil { // resp is now filled
  2103. // fmt.Println(resp)
  2104. // }
  2105. //
  2106. func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) {
  2107. op := &request.Operation{
  2108. Name: opSetSubnets,
  2109. HTTPMethod: "POST",
  2110. HTTPPath: "/",
  2111. }
  2112. if input == nil {
  2113. input = &SetSubnetsInput{}
  2114. }
  2115. req = c.newRequest(op, input, output)
  2116. output = &SetSubnetsOutput{}
  2117. req.Data = output
  2118. return
  2119. }
  2120. // SetSubnets API operation for Elastic Load Balancing.
  2121. //
  2122. // Enables the Availability Zone for the specified subnets for the specified
  2123. // load balancer. The specified subnets replace the previously enabled subnets.
  2124. //
  2125. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2126. // with awserr.Error's Code and Message methods to get detailed information about
  2127. // the error.
  2128. //
  2129. // See the AWS API reference guide for Elastic Load Balancing's
  2130. // API operation SetSubnets for usage and error information.
  2131. //
  2132. // Returned Error Codes:
  2133. // * LoadBalancerNotFound
  2134. // The specified load balancer does not exist.
  2135. //
  2136. // * InvalidConfigurationRequest
  2137. // The requested configuration is not valid.
  2138. //
  2139. // * SubnetNotFound
  2140. // The specified subnet does not exist.
  2141. //
  2142. // * InvalidSubnet
  2143. // The specified subnet is out of available addresses.
  2144. //
  2145. func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) {
  2146. req, out := c.SetSubnetsRequest(input)
  2147. err := req.Send()
  2148. return out, err
  2149. }
  2150. // Information about an action.
  2151. type Action struct {
  2152. _ struct{} `type:"structure"`
  2153. // The Amazon Resource Name (ARN) of the target group.
  2154. //
  2155. // TargetGroupArn is a required field
  2156. TargetGroupArn *string `type:"string" required:"true"`
  2157. // The type of action.
  2158. //
  2159. // Type is a required field
  2160. Type *string `type:"string" required:"true" enum:"ActionTypeEnum"`
  2161. }
  2162. // String returns the string representation
  2163. func (s Action) String() string {
  2164. return awsutil.Prettify(s)
  2165. }
  2166. // GoString returns the string representation
  2167. func (s Action) GoString() string {
  2168. return s.String()
  2169. }
  2170. // Validate inspects the fields of the type to determine if they are valid.
  2171. func (s *Action) Validate() error {
  2172. invalidParams := request.ErrInvalidParams{Context: "Action"}
  2173. if s.TargetGroupArn == nil {
  2174. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  2175. }
  2176. if s.Type == nil {
  2177. invalidParams.Add(request.NewErrParamRequired("Type"))
  2178. }
  2179. if invalidParams.Len() > 0 {
  2180. return invalidParams
  2181. }
  2182. return nil
  2183. }
  2184. // Contains the parameters for AddTags.
  2185. type AddTagsInput struct {
  2186. _ struct{} `type:"structure"`
  2187. // The Amazon Resource Name (ARN) of the resource.
  2188. //
  2189. // ResourceArns is a required field
  2190. ResourceArns []*string `type:"list" required:"true"`
  2191. // The tags. Each resource can have a maximum of 10 tags.
  2192. //
  2193. // Tags is a required field
  2194. Tags []*Tag `min:"1" type:"list" required:"true"`
  2195. }
  2196. // String returns the string representation
  2197. func (s AddTagsInput) String() string {
  2198. return awsutil.Prettify(s)
  2199. }
  2200. // GoString returns the string representation
  2201. func (s AddTagsInput) GoString() string {
  2202. return s.String()
  2203. }
  2204. // Validate inspects the fields of the type to determine if they are valid.
  2205. func (s *AddTagsInput) Validate() error {
  2206. invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
  2207. if s.ResourceArns == nil {
  2208. invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
  2209. }
  2210. if s.Tags == nil {
  2211. invalidParams.Add(request.NewErrParamRequired("Tags"))
  2212. }
  2213. if s.Tags != nil && len(s.Tags) < 1 {
  2214. invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  2215. }
  2216. if s.Tags != nil {
  2217. for i, v := range s.Tags {
  2218. if v == nil {
  2219. continue
  2220. }
  2221. if err := v.Validate(); err != nil {
  2222. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2223. }
  2224. }
  2225. }
  2226. if invalidParams.Len() > 0 {
  2227. return invalidParams
  2228. }
  2229. return nil
  2230. }
  2231. // Contains the output of AddTags.
  2232. type AddTagsOutput struct {
  2233. _ struct{} `type:"structure"`
  2234. }
  2235. // String returns the string representation
  2236. func (s AddTagsOutput) String() string {
  2237. return awsutil.Prettify(s)
  2238. }
  2239. // GoString returns the string representation
  2240. func (s AddTagsOutput) GoString() string {
  2241. return s.String()
  2242. }
  2243. // Information about an Availability Zone.
  2244. type AvailabilityZone struct {
  2245. _ struct{} `type:"structure"`
  2246. // The ID of the subnet.
  2247. SubnetId *string `type:"string"`
  2248. // The name of the Availability Zone.
  2249. ZoneName *string `type:"string"`
  2250. }
  2251. // String returns the string representation
  2252. func (s AvailabilityZone) String() string {
  2253. return awsutil.Prettify(s)
  2254. }
  2255. // GoString returns the string representation
  2256. func (s AvailabilityZone) GoString() string {
  2257. return s.String()
  2258. }
  2259. // Information about an SSL server certificate deployed on a load balancer.
  2260. type Certificate struct {
  2261. _ struct{} `type:"structure"`
  2262. // The Amazon Resource Name (ARN) of the certificate.
  2263. CertificateArn *string `type:"string"`
  2264. }
  2265. // String returns the string representation
  2266. func (s Certificate) String() string {
  2267. return awsutil.Prettify(s)
  2268. }
  2269. // GoString returns the string representation
  2270. func (s Certificate) GoString() string {
  2271. return s.String()
  2272. }
  2273. // Information about a cipher used in a policy.
  2274. type Cipher struct {
  2275. _ struct{} `type:"structure"`
  2276. // The name of the cipher.
  2277. Name *string `type:"string"`
  2278. // The priority of the cipher.
  2279. Priority *int64 `type:"integer"`
  2280. }
  2281. // String returns the string representation
  2282. func (s Cipher) String() string {
  2283. return awsutil.Prettify(s)
  2284. }
  2285. // GoString returns the string representation
  2286. func (s Cipher) GoString() string {
  2287. return s.String()
  2288. }
  2289. // Contains the parameters for CreateListener.
  2290. type CreateListenerInput struct {
  2291. _ struct{} `type:"structure"`
  2292. // The SSL server certificate. You must provide exactly one certificate if the
  2293. // protocol is HTTPS.
  2294. Certificates []*Certificate `type:"list"`
  2295. // The default action for the listener.
  2296. //
  2297. // DefaultActions is a required field
  2298. DefaultActions []*Action `type:"list" required:"true"`
  2299. // The Amazon Resource Name (ARN) of the load balancer.
  2300. //
  2301. // LoadBalancerArn is a required field
  2302. LoadBalancerArn *string `type:"string" required:"true"`
  2303. // The port on which the load balancer is listening.
  2304. //
  2305. // Port is a required field
  2306. Port *int64 `min:"1" type:"integer" required:"true"`
  2307. // The protocol for connections from clients to the load balancer.
  2308. //
  2309. // Protocol is a required field
  2310. Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
  2311. // The security policy that defines which ciphers and protocols are supported.
  2312. // The default is the current predefined security policy.
  2313. SslPolicy *string `type:"string"`
  2314. }
  2315. // String returns the string representation
  2316. func (s CreateListenerInput) String() string {
  2317. return awsutil.Prettify(s)
  2318. }
  2319. // GoString returns the string representation
  2320. func (s CreateListenerInput) GoString() string {
  2321. return s.String()
  2322. }
  2323. // Validate inspects the fields of the type to determine if they are valid.
  2324. func (s *CreateListenerInput) Validate() error {
  2325. invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"}
  2326. if s.DefaultActions == nil {
  2327. invalidParams.Add(request.NewErrParamRequired("DefaultActions"))
  2328. }
  2329. if s.LoadBalancerArn == nil {
  2330. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  2331. }
  2332. if s.Port == nil {
  2333. invalidParams.Add(request.NewErrParamRequired("Port"))
  2334. }
  2335. if s.Port != nil && *s.Port < 1 {
  2336. invalidParams.Add(request.NewErrParamMinValue("Port", 1))
  2337. }
  2338. if s.Protocol == nil {
  2339. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  2340. }
  2341. if s.DefaultActions != nil {
  2342. for i, v := range s.DefaultActions {
  2343. if v == nil {
  2344. continue
  2345. }
  2346. if err := v.Validate(); err != nil {
  2347. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
  2348. }
  2349. }
  2350. }
  2351. if invalidParams.Len() > 0 {
  2352. return invalidParams
  2353. }
  2354. return nil
  2355. }
  2356. // Contains the output of CreateListener.
  2357. type CreateListenerOutput struct {
  2358. _ struct{} `type:"structure"`
  2359. // Information about the listener.
  2360. Listeners []*Listener `type:"list"`
  2361. }
  2362. // String returns the string representation
  2363. func (s CreateListenerOutput) String() string {
  2364. return awsutil.Prettify(s)
  2365. }
  2366. // GoString returns the string representation
  2367. func (s CreateListenerOutput) GoString() string {
  2368. return s.String()
  2369. }
  2370. // Contains the parameters for CreateLoadBalancer.
  2371. type CreateLoadBalancerInput struct {
  2372. _ struct{} `type:"structure"`
  2373. // The name of the load balancer.
  2374. //
  2375. // This name must be unique within your AWS account, can have a maximum of 32
  2376. // characters, must contain only alphanumeric characters or hyphens, and must
  2377. // not begin or end with a hyphen.
  2378. //
  2379. // Name is a required field
  2380. Name *string `type:"string" required:"true"`
  2381. // The nodes of an Internet-facing load balancer have public IP addresses. The
  2382. // DNS name of an Internet-facing load balancer is publicly resolvable to the
  2383. // public IP addresses of the nodes. Therefore, Internet-facing load balancers
  2384. // can route requests from clients over the Internet.
  2385. //
  2386. // The nodes of an internal load balancer have only private IP addresses. The
  2387. // DNS name of an internal load balancer is publicly resolvable to the private
  2388. // IP addresses of the nodes. Therefore, internal load balancers can only route
  2389. // requests from clients with access to the VPC for the load balancer.
  2390. //
  2391. // The default is an Internet-facing load balancer.
  2392. Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
  2393. // The IDs of the security groups to assign to the load balancer.
  2394. SecurityGroups []*string `type:"list"`
  2395. // The IDs of the subnets to attach to the load balancer. You can specify only
  2396. // one subnet per Availability Zone. You must specify subnets from at least
  2397. // two Availability Zones.
  2398. //
  2399. // Subnets is a required field
  2400. Subnets []*string `type:"list" required:"true"`
  2401. // One or more tags to assign to the load balancer.
  2402. Tags []*Tag `min:"1" type:"list"`
  2403. }
  2404. // String returns the string representation
  2405. func (s CreateLoadBalancerInput) String() string {
  2406. return awsutil.Prettify(s)
  2407. }
  2408. // GoString returns the string representation
  2409. func (s CreateLoadBalancerInput) GoString() string {
  2410. return s.String()
  2411. }
  2412. // Validate inspects the fields of the type to determine if they are valid.
  2413. func (s *CreateLoadBalancerInput) Validate() error {
  2414. invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
  2415. if s.Name == nil {
  2416. invalidParams.Add(request.NewErrParamRequired("Name"))
  2417. }
  2418. if s.Subnets == nil {
  2419. invalidParams.Add(request.NewErrParamRequired("Subnets"))
  2420. }
  2421. if s.Tags != nil && len(s.Tags) < 1 {
  2422. invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  2423. }
  2424. if s.Tags != nil {
  2425. for i, v := range s.Tags {
  2426. if v == nil {
  2427. continue
  2428. }
  2429. if err := v.Validate(); err != nil {
  2430. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2431. }
  2432. }
  2433. }
  2434. if invalidParams.Len() > 0 {
  2435. return invalidParams
  2436. }
  2437. return nil
  2438. }
  2439. // Contains the output of CreateLoadBalancer.
  2440. type CreateLoadBalancerOutput struct {
  2441. _ struct{} `type:"structure"`
  2442. // Information about the load balancer.
  2443. LoadBalancers []*LoadBalancer `type:"list"`
  2444. }
  2445. // String returns the string representation
  2446. func (s CreateLoadBalancerOutput) String() string {
  2447. return awsutil.Prettify(s)
  2448. }
  2449. // GoString returns the string representation
  2450. func (s CreateLoadBalancerOutput) GoString() string {
  2451. return s.String()
  2452. }
  2453. // Contains the parameters for CreateRule.
  2454. type CreateRuleInput struct {
  2455. _ struct{} `type:"structure"`
  2456. // An action. Each action has the type forward and specifies a target group.
  2457. //
  2458. // Actions is a required field
  2459. Actions []*Action `type:"list" required:"true"`
  2460. // A condition. Each condition has the field path-pattern and specifies one
  2461. // path pattern. A path pattern is case sensitive, can be up to 255 characters
  2462. // in length, and can contain any of the following characters:
  2463. //
  2464. // * A-Z, a-z, 0-9
  2465. //
  2466. // * _ - . $ / ~ " ' @ : +
  2467. //
  2468. // * & (using &)
  2469. //
  2470. // * * (matches 0 or more characters)
  2471. //
  2472. // * ? (matches exactly 1 character)
  2473. //
  2474. // Conditions is a required field
  2475. Conditions []*RuleCondition `type:"list" required:"true"`
  2476. // The Amazon Resource Name (ARN) of the listener.
  2477. //
  2478. // ListenerArn is a required field
  2479. ListenerArn *string `type:"string" required:"true"`
  2480. // The priority for the rule. A listener can't have multiple rules with the
  2481. // same priority.
  2482. //
  2483. // Priority is a required field
  2484. Priority *int64 `min:"1" type:"integer" required:"true"`
  2485. }
  2486. // String returns the string representation
  2487. func (s CreateRuleInput) String() string {
  2488. return awsutil.Prettify(s)
  2489. }
  2490. // GoString returns the string representation
  2491. func (s CreateRuleInput) GoString() string {
  2492. return s.String()
  2493. }
  2494. // Validate inspects the fields of the type to determine if they are valid.
  2495. func (s *CreateRuleInput) Validate() error {
  2496. invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"}
  2497. if s.Actions == nil {
  2498. invalidParams.Add(request.NewErrParamRequired("Actions"))
  2499. }
  2500. if s.Conditions == nil {
  2501. invalidParams.Add(request.NewErrParamRequired("Conditions"))
  2502. }
  2503. if s.ListenerArn == nil {
  2504. invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  2505. }
  2506. if s.Priority == nil {
  2507. invalidParams.Add(request.NewErrParamRequired("Priority"))
  2508. }
  2509. if s.Priority != nil && *s.Priority < 1 {
  2510. invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
  2511. }
  2512. if s.Actions != nil {
  2513. for i, v := range s.Actions {
  2514. if v == nil {
  2515. continue
  2516. }
  2517. if err := v.Validate(); err != nil {
  2518. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
  2519. }
  2520. }
  2521. }
  2522. if invalidParams.Len() > 0 {
  2523. return invalidParams
  2524. }
  2525. return nil
  2526. }
  2527. // Contains the output of CreateRule.
  2528. type CreateRuleOutput struct {
  2529. _ struct{} `type:"structure"`
  2530. // Information about the rule.
  2531. Rules []*Rule `type:"list"`
  2532. }
  2533. // String returns the string representation
  2534. func (s CreateRuleOutput) String() string {
  2535. return awsutil.Prettify(s)
  2536. }
  2537. // GoString returns the string representation
  2538. func (s CreateRuleOutput) GoString() string {
  2539. return s.String()
  2540. }
  2541. // Contains the parameters for CreateTargetGroup.
  2542. type CreateTargetGroupInput struct {
  2543. _ struct{} `type:"structure"`
  2544. // The approximate amount of time, in seconds, between health checks of an individual
  2545. // target. The default is 30 seconds.
  2546. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
  2547. // The ping path that is the destination on the targets for health checks. The
  2548. // default is /.
  2549. HealthCheckPath *string `min:"1" type:"string"`
  2550. // The port the load balancer uses when performing health checks on targets.
  2551. // The default is traffic-port, which indicates the port on which each target
  2552. // receives traffic from the load balancer.
  2553. HealthCheckPort *string `type:"string"`
  2554. // The protocol the load balancer uses when performing health checks on targets.
  2555. // The default is the HTTP protocol.
  2556. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
  2557. // The amount of time, in seconds, during which no response from a target means
  2558. // a failed health check. The default is 5 seconds.
  2559. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
  2560. // The number of consecutive health checks successes required before considering
  2561. // an unhealthy target healthy. The default is 5.
  2562. HealthyThresholdCount *int64 `min:"2" type:"integer"`
  2563. // The HTTP codes to use when checking for a successful response from a target.
  2564. // The default is 200.
  2565. Matcher *Matcher `type:"structure"`
  2566. // The name of the target group.
  2567. //
  2568. // Name is a required field
  2569. Name *string `type:"string" required:"true"`
  2570. // The port on which the targets receive traffic. This port is used unless you
  2571. // specify a port override when registering the target.
  2572. //
  2573. // Port is a required field
  2574. Port *int64 `min:"1" type:"integer" required:"true"`
  2575. // The protocol to use for routing traffic to the targets.
  2576. //
  2577. // Protocol is a required field
  2578. Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
  2579. // The number of consecutive health check failures required before considering
  2580. // a target unhealthy. The default is 2.
  2581. UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
  2582. // The identifier of the virtual private cloud (VPC).
  2583. //
  2584. // VpcId is a required field
  2585. VpcId *string `type:"string" required:"true"`
  2586. }
  2587. // String returns the string representation
  2588. func (s CreateTargetGroupInput) String() string {
  2589. return awsutil.Prettify(s)
  2590. }
  2591. // GoString returns the string representation
  2592. func (s CreateTargetGroupInput) GoString() string {
  2593. return s.String()
  2594. }
  2595. // Validate inspects the fields of the type to determine if they are valid.
  2596. func (s *CreateTargetGroupInput) Validate() error {
  2597. invalidParams := request.ErrInvalidParams{Context: "CreateTargetGroupInput"}
  2598. if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
  2599. invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
  2600. }
  2601. if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
  2602. invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
  2603. }
  2604. if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
  2605. invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
  2606. }
  2607. if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
  2608. invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
  2609. }
  2610. if s.Name == nil {
  2611. invalidParams.Add(request.NewErrParamRequired("Name"))
  2612. }
  2613. if s.Port == nil {
  2614. invalidParams.Add(request.NewErrParamRequired("Port"))
  2615. }
  2616. if s.Port != nil && *s.Port < 1 {
  2617. invalidParams.Add(request.NewErrParamMinValue("Port", 1))
  2618. }
  2619. if s.Protocol == nil {
  2620. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  2621. }
  2622. if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
  2623. invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
  2624. }
  2625. if s.VpcId == nil {
  2626. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  2627. }
  2628. if s.Matcher != nil {
  2629. if err := s.Matcher.Validate(); err != nil {
  2630. invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
  2631. }
  2632. }
  2633. if invalidParams.Len() > 0 {
  2634. return invalidParams
  2635. }
  2636. return nil
  2637. }
  2638. // Contains the output of CreateTargetGroup.
  2639. type CreateTargetGroupOutput struct {
  2640. _ struct{} `type:"structure"`
  2641. // Information about the target group.
  2642. TargetGroups []*TargetGroup `type:"list"`
  2643. }
  2644. // String returns the string representation
  2645. func (s CreateTargetGroupOutput) String() string {
  2646. return awsutil.Prettify(s)
  2647. }
  2648. // GoString returns the string representation
  2649. func (s CreateTargetGroupOutput) GoString() string {
  2650. return s.String()
  2651. }
  2652. // Contains the parameters for DeleteListener.
  2653. type DeleteListenerInput struct {
  2654. _ struct{} `type:"structure"`
  2655. // The Amazon Resource Name (ARN) of the listener.
  2656. //
  2657. // ListenerArn is a required field
  2658. ListenerArn *string `type:"string" required:"true"`
  2659. }
  2660. // String returns the string representation
  2661. func (s DeleteListenerInput) String() string {
  2662. return awsutil.Prettify(s)
  2663. }
  2664. // GoString returns the string representation
  2665. func (s DeleteListenerInput) GoString() string {
  2666. return s.String()
  2667. }
  2668. // Validate inspects the fields of the type to determine if they are valid.
  2669. func (s *DeleteListenerInput) Validate() error {
  2670. invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"}
  2671. if s.ListenerArn == nil {
  2672. invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  2673. }
  2674. if invalidParams.Len() > 0 {
  2675. return invalidParams
  2676. }
  2677. return nil
  2678. }
  2679. // Contains the output of DeleteListener.
  2680. type DeleteListenerOutput struct {
  2681. _ struct{} `type:"structure"`
  2682. }
  2683. // String returns the string representation
  2684. func (s DeleteListenerOutput) String() string {
  2685. return awsutil.Prettify(s)
  2686. }
  2687. // GoString returns the string representation
  2688. func (s DeleteListenerOutput) GoString() string {
  2689. return s.String()
  2690. }
  2691. // Contains the parameters for DeleteLoadBalancer.
  2692. type DeleteLoadBalancerInput struct {
  2693. _ struct{} `type:"structure"`
  2694. // The Amazon Resource Name (ARN) of the load balancer.
  2695. //
  2696. // LoadBalancerArn is a required field
  2697. LoadBalancerArn *string `type:"string" required:"true"`
  2698. }
  2699. // String returns the string representation
  2700. func (s DeleteLoadBalancerInput) String() string {
  2701. return awsutil.Prettify(s)
  2702. }
  2703. // GoString returns the string representation
  2704. func (s DeleteLoadBalancerInput) GoString() string {
  2705. return s.String()
  2706. }
  2707. // Validate inspects the fields of the type to determine if they are valid.
  2708. func (s *DeleteLoadBalancerInput) Validate() error {
  2709. invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
  2710. if s.LoadBalancerArn == nil {
  2711. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  2712. }
  2713. if invalidParams.Len() > 0 {
  2714. return invalidParams
  2715. }
  2716. return nil
  2717. }
  2718. // Contains the output of DeleteLoadBalancer.
  2719. type DeleteLoadBalancerOutput struct {
  2720. _ struct{} `type:"structure"`
  2721. }
  2722. // String returns the string representation
  2723. func (s DeleteLoadBalancerOutput) String() string {
  2724. return awsutil.Prettify(s)
  2725. }
  2726. // GoString returns the string representation
  2727. func (s DeleteLoadBalancerOutput) GoString() string {
  2728. return s.String()
  2729. }
  2730. // Contains the parameters for DeleteRule.
  2731. type DeleteRuleInput struct {
  2732. _ struct{} `type:"structure"`
  2733. // The Amazon Resource Name (ARN) of the rule.
  2734. //
  2735. // RuleArn is a required field
  2736. RuleArn *string `type:"string" required:"true"`
  2737. }
  2738. // String returns the string representation
  2739. func (s DeleteRuleInput) String() string {
  2740. return awsutil.Prettify(s)
  2741. }
  2742. // GoString returns the string representation
  2743. func (s DeleteRuleInput) GoString() string {
  2744. return s.String()
  2745. }
  2746. // Validate inspects the fields of the type to determine if they are valid.
  2747. func (s *DeleteRuleInput) Validate() error {
  2748. invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
  2749. if s.RuleArn == nil {
  2750. invalidParams.Add(request.NewErrParamRequired("RuleArn"))
  2751. }
  2752. if invalidParams.Len() > 0 {
  2753. return invalidParams
  2754. }
  2755. return nil
  2756. }
  2757. // Contains the output of DeleteRule.
  2758. type DeleteRuleOutput struct {
  2759. _ struct{} `type:"structure"`
  2760. }
  2761. // String returns the string representation
  2762. func (s DeleteRuleOutput) String() string {
  2763. return awsutil.Prettify(s)
  2764. }
  2765. // GoString returns the string representation
  2766. func (s DeleteRuleOutput) GoString() string {
  2767. return s.String()
  2768. }
  2769. // Contains the parameters for DeleteTargetGroup.
  2770. type DeleteTargetGroupInput struct {
  2771. _ struct{} `type:"structure"`
  2772. // The Amazon Resource Name (ARN) of the target group.
  2773. //
  2774. // TargetGroupArn is a required field
  2775. TargetGroupArn *string `type:"string" required:"true"`
  2776. }
  2777. // String returns the string representation
  2778. func (s DeleteTargetGroupInput) String() string {
  2779. return awsutil.Prettify(s)
  2780. }
  2781. // GoString returns the string representation
  2782. func (s DeleteTargetGroupInput) GoString() string {
  2783. return s.String()
  2784. }
  2785. // Validate inspects the fields of the type to determine if they are valid.
  2786. func (s *DeleteTargetGroupInput) Validate() error {
  2787. invalidParams := request.ErrInvalidParams{Context: "DeleteTargetGroupInput"}
  2788. if s.TargetGroupArn == nil {
  2789. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  2790. }
  2791. if invalidParams.Len() > 0 {
  2792. return invalidParams
  2793. }
  2794. return nil
  2795. }
  2796. // Contains the output of DeleteTargetGroup.
  2797. type DeleteTargetGroupOutput struct {
  2798. _ struct{} `type:"structure"`
  2799. }
  2800. // String returns the string representation
  2801. func (s DeleteTargetGroupOutput) String() string {
  2802. return awsutil.Prettify(s)
  2803. }
  2804. // GoString returns the string representation
  2805. func (s DeleteTargetGroupOutput) GoString() string {
  2806. return s.String()
  2807. }
  2808. // Contains the parameters for DeregisterTargets.
  2809. type DeregisterTargetsInput struct {
  2810. _ struct{} `type:"structure"`
  2811. // The Amazon Resource Name (ARN) of the target group.
  2812. //
  2813. // TargetGroupArn is a required field
  2814. TargetGroupArn *string `type:"string" required:"true"`
  2815. // The targets. If you specified a port override when you registered a target,
  2816. // you must specify both the target ID and the port when you deregister it.
  2817. //
  2818. // Targets is a required field
  2819. Targets []*TargetDescription `type:"list" required:"true"`
  2820. }
  2821. // String returns the string representation
  2822. func (s DeregisterTargetsInput) String() string {
  2823. return awsutil.Prettify(s)
  2824. }
  2825. // GoString returns the string representation
  2826. func (s DeregisterTargetsInput) GoString() string {
  2827. return s.String()
  2828. }
  2829. // Validate inspects the fields of the type to determine if they are valid.
  2830. func (s *DeregisterTargetsInput) Validate() error {
  2831. invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetsInput"}
  2832. if s.TargetGroupArn == nil {
  2833. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  2834. }
  2835. if s.Targets == nil {
  2836. invalidParams.Add(request.NewErrParamRequired("Targets"))
  2837. }
  2838. if s.Targets != nil {
  2839. for i, v := range s.Targets {
  2840. if v == nil {
  2841. continue
  2842. }
  2843. if err := v.Validate(); err != nil {
  2844. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
  2845. }
  2846. }
  2847. }
  2848. if invalidParams.Len() > 0 {
  2849. return invalidParams
  2850. }
  2851. return nil
  2852. }
  2853. // Contains the output of DeregisterTargets.
  2854. type DeregisterTargetsOutput struct {
  2855. _ struct{} `type:"structure"`
  2856. }
  2857. // String returns the string representation
  2858. func (s DeregisterTargetsOutput) String() string {
  2859. return awsutil.Prettify(s)
  2860. }
  2861. // GoString returns the string representation
  2862. func (s DeregisterTargetsOutput) GoString() string {
  2863. return s.String()
  2864. }
  2865. // Contains the parameters for DescribeListeners.
  2866. type DescribeListenersInput struct {
  2867. _ struct{} `type:"structure"`
  2868. // The Amazon Resource Names (ARN) of the listeners.
  2869. ListenerArns []*string `type:"list"`
  2870. // The Amazon Resource Name (ARN) of the load balancer.
  2871. LoadBalancerArn *string `type:"string"`
  2872. // The marker for the next set of results. (You received this marker from a
  2873. // previous call.)
  2874. Marker *string `type:"string"`
  2875. // The maximum number of results to return with this call.
  2876. PageSize *int64 `min:"1" type:"integer"`
  2877. }
  2878. // String returns the string representation
  2879. func (s DescribeListenersInput) String() string {
  2880. return awsutil.Prettify(s)
  2881. }
  2882. // GoString returns the string representation
  2883. func (s DescribeListenersInput) GoString() string {
  2884. return s.String()
  2885. }
  2886. // Validate inspects the fields of the type to determine if they are valid.
  2887. func (s *DescribeListenersInput) Validate() error {
  2888. invalidParams := request.ErrInvalidParams{Context: "DescribeListenersInput"}
  2889. if s.PageSize != nil && *s.PageSize < 1 {
  2890. invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
  2891. }
  2892. if invalidParams.Len() > 0 {
  2893. return invalidParams
  2894. }
  2895. return nil
  2896. }
  2897. // Contains the output of DescribeListeners.
  2898. type DescribeListenersOutput struct {
  2899. _ struct{} `type:"structure"`
  2900. // Information about the listeners.
  2901. Listeners []*Listener `type:"list"`
  2902. // The marker to use when requesting the next set of results. If there are no
  2903. // additional results, the string is empty.
  2904. NextMarker *string `type:"string"`
  2905. }
  2906. // String returns the string representation
  2907. func (s DescribeListenersOutput) String() string {
  2908. return awsutil.Prettify(s)
  2909. }
  2910. // GoString returns the string representation
  2911. func (s DescribeListenersOutput) GoString() string {
  2912. return s.String()
  2913. }
  2914. // Contains the parameters for DescribeLoadBalancerAttributes.
  2915. type DescribeLoadBalancerAttributesInput struct {
  2916. _ struct{} `type:"structure"`
  2917. // The Amazon Resource Name (ARN) of the load balancer.
  2918. //
  2919. // LoadBalancerArn is a required field
  2920. LoadBalancerArn *string `type:"string" required:"true"`
  2921. }
  2922. // String returns the string representation
  2923. func (s DescribeLoadBalancerAttributesInput) String() string {
  2924. return awsutil.Prettify(s)
  2925. }
  2926. // GoString returns the string representation
  2927. func (s DescribeLoadBalancerAttributesInput) GoString() string {
  2928. return s.String()
  2929. }
  2930. // Validate inspects the fields of the type to determine if they are valid.
  2931. func (s *DescribeLoadBalancerAttributesInput) Validate() error {
  2932. invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerAttributesInput"}
  2933. if s.LoadBalancerArn == nil {
  2934. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  2935. }
  2936. if invalidParams.Len() > 0 {
  2937. return invalidParams
  2938. }
  2939. return nil
  2940. }
  2941. // Contains the output of DescribeLoadBalancerAttributes.
  2942. type DescribeLoadBalancerAttributesOutput struct {
  2943. _ struct{} `type:"structure"`
  2944. // Information about the load balancer attributes.
  2945. Attributes []*LoadBalancerAttribute `type:"list"`
  2946. }
  2947. // String returns the string representation
  2948. func (s DescribeLoadBalancerAttributesOutput) String() string {
  2949. return awsutil.Prettify(s)
  2950. }
  2951. // GoString returns the string representation
  2952. func (s DescribeLoadBalancerAttributesOutput) GoString() string {
  2953. return s.String()
  2954. }
  2955. // Contains the parameters for DescribeLoadBalancers.
  2956. type DescribeLoadBalancersInput struct {
  2957. _ struct{} `type:"structure"`
  2958. // The Amazon Resource Names (ARN) of the load balancers.
  2959. LoadBalancerArns []*string `type:"list"`
  2960. // The marker for the next set of results. (You received this marker from a
  2961. // previous call.)
  2962. Marker *string `type:"string"`
  2963. // The names of the load balancers.
  2964. Names []*string `type:"list"`
  2965. // The maximum number of results to return with this call.
  2966. PageSize *int64 `min:"1" type:"integer"`
  2967. }
  2968. // String returns the string representation
  2969. func (s DescribeLoadBalancersInput) String() string {
  2970. return awsutil.Prettify(s)
  2971. }
  2972. // GoString returns the string representation
  2973. func (s DescribeLoadBalancersInput) GoString() string {
  2974. return s.String()
  2975. }
  2976. // Validate inspects the fields of the type to determine if they are valid.
  2977. func (s *DescribeLoadBalancersInput) Validate() error {
  2978. invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"}
  2979. if s.PageSize != nil && *s.PageSize < 1 {
  2980. invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
  2981. }
  2982. if invalidParams.Len() > 0 {
  2983. return invalidParams
  2984. }
  2985. return nil
  2986. }
  2987. // Contains the output of DescribeLoadBalancers.
  2988. type DescribeLoadBalancersOutput struct {
  2989. _ struct{} `type:"structure"`
  2990. // Information about the load balancers.
  2991. LoadBalancers []*LoadBalancer `type:"list"`
  2992. // The marker to use when requesting the next set of results. If there are no
  2993. // additional results, the string is empty.
  2994. NextMarker *string `type:"string"`
  2995. }
  2996. // String returns the string representation
  2997. func (s DescribeLoadBalancersOutput) String() string {
  2998. return awsutil.Prettify(s)
  2999. }
  3000. // GoString returns the string representation
  3001. func (s DescribeLoadBalancersOutput) GoString() string {
  3002. return s.String()
  3003. }
  3004. // Contains the parameters for DescribeRules.
  3005. type DescribeRulesInput struct {
  3006. _ struct{} `type:"structure"`
  3007. // The Amazon Resource Name (ARN) of the listener.
  3008. ListenerArn *string `type:"string"`
  3009. // The Amazon Resource Names (ARN) of the rules.
  3010. RuleArns []*string `type:"list"`
  3011. }
  3012. // String returns the string representation
  3013. func (s DescribeRulesInput) String() string {
  3014. return awsutil.Prettify(s)
  3015. }
  3016. // GoString returns the string representation
  3017. func (s DescribeRulesInput) GoString() string {
  3018. return s.String()
  3019. }
  3020. // Contains the output of DescribeRules.
  3021. type DescribeRulesOutput struct {
  3022. _ struct{} `type:"structure"`
  3023. // Information about the rules.
  3024. Rules []*Rule `type:"list"`
  3025. }
  3026. // String returns the string representation
  3027. func (s DescribeRulesOutput) String() string {
  3028. return awsutil.Prettify(s)
  3029. }
  3030. // GoString returns the string representation
  3031. func (s DescribeRulesOutput) GoString() string {
  3032. return s.String()
  3033. }
  3034. // Contains the parameters for DescribeSSLPolicies.
  3035. type DescribeSSLPoliciesInput struct {
  3036. _ struct{} `type:"structure"`
  3037. // The marker for the next set of results. (You received this marker from a
  3038. // previous call.)
  3039. Marker *string `type:"string"`
  3040. // The names of the policies.
  3041. Names []*string `type:"list"`
  3042. // The maximum number of results to return with this call.
  3043. PageSize *int64 `min:"1" type:"integer"`
  3044. }
  3045. // String returns the string representation
  3046. func (s DescribeSSLPoliciesInput) String() string {
  3047. return awsutil.Prettify(s)
  3048. }
  3049. // GoString returns the string representation
  3050. func (s DescribeSSLPoliciesInput) GoString() string {
  3051. return s.String()
  3052. }
  3053. // Validate inspects the fields of the type to determine if they are valid.
  3054. func (s *DescribeSSLPoliciesInput) Validate() error {
  3055. invalidParams := request.ErrInvalidParams{Context: "DescribeSSLPoliciesInput"}
  3056. if s.PageSize != nil && *s.PageSize < 1 {
  3057. invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
  3058. }
  3059. if invalidParams.Len() > 0 {
  3060. return invalidParams
  3061. }
  3062. return nil
  3063. }
  3064. // Contains the output of DescribeSSLPolicies.
  3065. type DescribeSSLPoliciesOutput struct {
  3066. _ struct{} `type:"structure"`
  3067. // The marker to use when requesting the next set of results. If there are no
  3068. // additional results, the string is empty.
  3069. NextMarker *string `type:"string"`
  3070. // Information about the policies.
  3071. SslPolicies []*SslPolicy `type:"list"`
  3072. }
  3073. // String returns the string representation
  3074. func (s DescribeSSLPoliciesOutput) String() string {
  3075. return awsutil.Prettify(s)
  3076. }
  3077. // GoString returns the string representation
  3078. func (s DescribeSSLPoliciesOutput) GoString() string {
  3079. return s.String()
  3080. }
  3081. // Contains the parameters for DescribeTags.
  3082. type DescribeTagsInput struct {
  3083. _ struct{} `type:"structure"`
  3084. // The Amazon Resource Names (ARN) of the resources.
  3085. //
  3086. // ResourceArns is a required field
  3087. ResourceArns []*string `type:"list" required:"true"`
  3088. }
  3089. // String returns the string representation
  3090. func (s DescribeTagsInput) String() string {
  3091. return awsutil.Prettify(s)
  3092. }
  3093. // GoString returns the string representation
  3094. func (s DescribeTagsInput) GoString() string {
  3095. return s.String()
  3096. }
  3097. // Validate inspects the fields of the type to determine if they are valid.
  3098. func (s *DescribeTagsInput) Validate() error {
  3099. invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
  3100. if s.ResourceArns == nil {
  3101. invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
  3102. }
  3103. if invalidParams.Len() > 0 {
  3104. return invalidParams
  3105. }
  3106. return nil
  3107. }
  3108. // Contains the output of DescribeTags.
  3109. type DescribeTagsOutput struct {
  3110. _ struct{} `type:"structure"`
  3111. // Information about the tags.
  3112. TagDescriptions []*TagDescription `type:"list"`
  3113. }
  3114. // String returns the string representation
  3115. func (s DescribeTagsOutput) String() string {
  3116. return awsutil.Prettify(s)
  3117. }
  3118. // GoString returns the string representation
  3119. func (s DescribeTagsOutput) GoString() string {
  3120. return s.String()
  3121. }
  3122. // Contains the parameters for DescribeTargetGroupAttributes.
  3123. type DescribeTargetGroupAttributesInput struct {
  3124. _ struct{} `type:"structure"`
  3125. // The Amazon Resource Name (ARN) of the target group.
  3126. //
  3127. // TargetGroupArn is a required field
  3128. TargetGroupArn *string `type:"string" required:"true"`
  3129. }
  3130. // String returns the string representation
  3131. func (s DescribeTargetGroupAttributesInput) String() string {
  3132. return awsutil.Prettify(s)
  3133. }
  3134. // GoString returns the string representation
  3135. func (s DescribeTargetGroupAttributesInput) GoString() string {
  3136. return s.String()
  3137. }
  3138. // Validate inspects the fields of the type to determine if they are valid.
  3139. func (s *DescribeTargetGroupAttributesInput) Validate() error {
  3140. invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupAttributesInput"}
  3141. if s.TargetGroupArn == nil {
  3142. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  3143. }
  3144. if invalidParams.Len() > 0 {
  3145. return invalidParams
  3146. }
  3147. return nil
  3148. }
  3149. // Contains the output of DescribeTargetGroupAttributes.
  3150. type DescribeTargetGroupAttributesOutput struct {
  3151. _ struct{} `type:"structure"`
  3152. // Information about the target group attributes
  3153. Attributes []*TargetGroupAttribute `type:"list"`
  3154. }
  3155. // String returns the string representation
  3156. func (s DescribeTargetGroupAttributesOutput) String() string {
  3157. return awsutil.Prettify(s)
  3158. }
  3159. // GoString returns the string representation
  3160. func (s DescribeTargetGroupAttributesOutput) GoString() string {
  3161. return s.String()
  3162. }
  3163. // Contains the parameters for DescribeTargetGroups.
  3164. type DescribeTargetGroupsInput struct {
  3165. _ struct{} `type:"structure"`
  3166. // The Amazon Resource Name (ARN) of the load balancer.
  3167. LoadBalancerArn *string `type:"string"`
  3168. // The marker for the next set of results. (You received this marker from a
  3169. // previous call.)
  3170. Marker *string `type:"string"`
  3171. // The names of the target groups.
  3172. Names []*string `type:"list"`
  3173. // The maximum number of results to return with this call.
  3174. PageSize *int64 `min:"1" type:"integer"`
  3175. // The Amazon Resource Names (ARN) of the target groups.
  3176. TargetGroupArns []*string `type:"list"`
  3177. }
  3178. // String returns the string representation
  3179. func (s DescribeTargetGroupsInput) String() string {
  3180. return awsutil.Prettify(s)
  3181. }
  3182. // GoString returns the string representation
  3183. func (s DescribeTargetGroupsInput) GoString() string {
  3184. return s.String()
  3185. }
  3186. // Validate inspects the fields of the type to determine if they are valid.
  3187. func (s *DescribeTargetGroupsInput) Validate() error {
  3188. invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupsInput"}
  3189. if s.PageSize != nil && *s.PageSize < 1 {
  3190. invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
  3191. }
  3192. if invalidParams.Len() > 0 {
  3193. return invalidParams
  3194. }
  3195. return nil
  3196. }
  3197. // Contains the output of DescribeTargetGroups.
  3198. type DescribeTargetGroupsOutput struct {
  3199. _ struct{} `type:"structure"`
  3200. // The marker to use when requesting the next set of results. If there are no
  3201. // additional results, the string is empty.
  3202. NextMarker *string `type:"string"`
  3203. // Information about the target groups.
  3204. TargetGroups []*TargetGroup `type:"list"`
  3205. }
  3206. // String returns the string representation
  3207. func (s DescribeTargetGroupsOutput) String() string {
  3208. return awsutil.Prettify(s)
  3209. }
  3210. // GoString returns the string representation
  3211. func (s DescribeTargetGroupsOutput) GoString() string {
  3212. return s.String()
  3213. }
  3214. // Contains the parameters for DescribeTargetHealth.
  3215. type DescribeTargetHealthInput struct {
  3216. _ struct{} `type:"structure"`
  3217. // The Amazon Resource Name (ARN) of the target group.
  3218. //
  3219. // TargetGroupArn is a required field
  3220. TargetGroupArn *string `type:"string" required:"true"`
  3221. // The targets.
  3222. Targets []*TargetDescription `type:"list"`
  3223. }
  3224. // String returns the string representation
  3225. func (s DescribeTargetHealthInput) String() string {
  3226. return awsutil.Prettify(s)
  3227. }
  3228. // GoString returns the string representation
  3229. func (s DescribeTargetHealthInput) GoString() string {
  3230. return s.String()
  3231. }
  3232. // Validate inspects the fields of the type to determine if they are valid.
  3233. func (s *DescribeTargetHealthInput) Validate() error {
  3234. invalidParams := request.ErrInvalidParams{Context: "DescribeTargetHealthInput"}
  3235. if s.TargetGroupArn == nil {
  3236. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  3237. }
  3238. if s.Targets != nil {
  3239. for i, v := range s.Targets {
  3240. if v == nil {
  3241. continue
  3242. }
  3243. if err := v.Validate(); err != nil {
  3244. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
  3245. }
  3246. }
  3247. }
  3248. if invalidParams.Len() > 0 {
  3249. return invalidParams
  3250. }
  3251. return nil
  3252. }
  3253. // Contains the output of DescribeTargetHealth.
  3254. type DescribeTargetHealthOutput struct {
  3255. _ struct{} `type:"structure"`
  3256. // Information about the health of the targets.
  3257. TargetHealthDescriptions []*TargetHealthDescription `type:"list"`
  3258. }
  3259. // String returns the string representation
  3260. func (s DescribeTargetHealthOutput) String() string {
  3261. return awsutil.Prettify(s)
  3262. }
  3263. // GoString returns the string representation
  3264. func (s DescribeTargetHealthOutput) GoString() string {
  3265. return s.String()
  3266. }
  3267. // Information about a listener.
  3268. type Listener struct {
  3269. _ struct{} `type:"structure"`
  3270. // The SSL server certificate. You must provide a certificate if the protocol
  3271. // is HTTPS.
  3272. Certificates []*Certificate `type:"list"`
  3273. // The default actions for the listener.
  3274. DefaultActions []*Action `type:"list"`
  3275. // The Amazon Resource Name (ARN) of the listener.
  3276. ListenerArn *string `type:"string"`
  3277. // The Amazon Resource Name (ARN) of the load balancer.
  3278. LoadBalancerArn *string `type:"string"`
  3279. // The port on which the load balancer is listening.
  3280. Port *int64 `min:"1" type:"integer"`
  3281. // The protocol for connections from clients to the load balancer.
  3282. Protocol *string `type:"string" enum:"ProtocolEnum"`
  3283. // The security policy that defines which ciphers and protocols are supported.
  3284. // The default is the current predefined security policy.
  3285. SslPolicy *string `type:"string"`
  3286. }
  3287. // String returns the string representation
  3288. func (s Listener) String() string {
  3289. return awsutil.Prettify(s)
  3290. }
  3291. // GoString returns the string representation
  3292. func (s Listener) GoString() string {
  3293. return s.String()
  3294. }
  3295. // Information about a load balancer.
  3296. type LoadBalancer struct {
  3297. _ struct{} `type:"structure"`
  3298. // The Availability Zones for the load balancer.
  3299. AvailabilityZones []*AvailabilityZone `type:"list"`
  3300. // The ID of the Amazon Route 53 hosted zone associated with the load balancer.
  3301. CanonicalHostedZoneId *string `type:"string"`
  3302. // The date and time the load balancer was created.
  3303. CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3304. // The public DNS name of the load balancer.
  3305. DNSName *string `type:"string"`
  3306. // The Amazon Resource Name (ARN) of the load balancer.
  3307. LoadBalancerArn *string `type:"string"`
  3308. // The name of the load balancer.
  3309. LoadBalancerName *string `type:"string"`
  3310. // The nodes of an Internet-facing load balancer have public IP addresses. The
  3311. // DNS name of an Internet-facing load balancer is publicly resolvable to the
  3312. // public IP addresses of the nodes. Therefore, Internet-facing load balancers
  3313. // can route requests from clients over the Internet.
  3314. //
  3315. // The nodes of an internal load balancer have only private IP addresses. The
  3316. // DNS name of an internal load balancer is publicly resolvable to the private
  3317. // IP addresses of the nodes. Therefore, internal load balancers can only route
  3318. // requests from clients with access to the VPC for the load balancer.
  3319. Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
  3320. // The IDs of the security groups for the load balancer.
  3321. SecurityGroups []*string `type:"list"`
  3322. // The state of the load balancer.
  3323. State *LoadBalancerState `type:"structure"`
  3324. // The type of load balancer.
  3325. Type *string `type:"string" enum:"LoadBalancerTypeEnum"`
  3326. // The ID of the VPC for the load balancer.
  3327. VpcId *string `type:"string"`
  3328. }
  3329. // String returns the string representation
  3330. func (s LoadBalancer) String() string {
  3331. return awsutil.Prettify(s)
  3332. }
  3333. // GoString returns the string representation
  3334. func (s LoadBalancer) GoString() string {
  3335. return s.String()
  3336. }
  3337. // Information about a load balancer attribute.
  3338. type LoadBalancerAttribute struct {
  3339. _ struct{} `type:"structure"`
  3340. // The name of the attribute.
  3341. //
  3342. // * access_logs.s3.enabled - Indicates whether access logs stored in Amazon
  3343. // S3 are enabled. The value is true or false.
  3344. //
  3345. // * access_logs.s3.bucket - The name of the S3 bucket for the access logs.
  3346. // This attribute is required if access logs in Amazon S3 are enabled. The
  3347. // bucket must exist in the same region as the load balancer and have a bucket
  3348. // policy that grants Elastic Load Balancing permission to write to the bucket.
  3349. //
  3350. // * access_logs.s3.prefix - The prefix for the location in the S3 bucket.
  3351. // If you don't specify a prefix, the access logs are stored in the root
  3352. // of the bucket.
  3353. //
  3354. // * deletion_protection.enabled - Indicates whether deletion protection
  3355. // is enabled. The value is true or false.
  3356. //
  3357. // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
  3358. // valid range is 1-3600. The default is 60 seconds.
  3359. Key *string `type:"string"`
  3360. // The value of the attribute.
  3361. Value *string `type:"string"`
  3362. }
  3363. // String returns the string representation
  3364. func (s LoadBalancerAttribute) String() string {
  3365. return awsutil.Prettify(s)
  3366. }
  3367. // GoString returns the string representation
  3368. func (s LoadBalancerAttribute) GoString() string {
  3369. return s.String()
  3370. }
  3371. // Information about the state of the load balancer.
  3372. type LoadBalancerState struct {
  3373. _ struct{} `type:"structure"`
  3374. // The state code. The initial state of the load balancer is provisioning. After
  3375. // the load balancer is fully set up and ready to route traffic, its state is
  3376. // active. If the load balancer could not be set up, its state is failed.
  3377. Code *string `type:"string" enum:"LoadBalancerStateEnum"`
  3378. // A description of the state.
  3379. Reason *string `type:"string"`
  3380. }
  3381. // String returns the string representation
  3382. func (s LoadBalancerState) String() string {
  3383. return awsutil.Prettify(s)
  3384. }
  3385. // GoString returns the string representation
  3386. func (s LoadBalancerState) GoString() string {
  3387. return s.String()
  3388. }
  3389. // Information to use when checking for a successful response from a target.
  3390. type Matcher struct {
  3391. _ struct{} `type:"structure"`
  3392. // The HTTP codes. The default value is 200. You can specify multiple values
  3393. // (for example, "200,202") or a range of values (for example, "200-299").
  3394. //
  3395. // HttpCode is a required field
  3396. HttpCode *string `type:"string" required:"true"`
  3397. }
  3398. // String returns the string representation
  3399. func (s Matcher) String() string {
  3400. return awsutil.Prettify(s)
  3401. }
  3402. // GoString returns the string representation
  3403. func (s Matcher) GoString() string {
  3404. return s.String()
  3405. }
  3406. // Validate inspects the fields of the type to determine if they are valid.
  3407. func (s *Matcher) Validate() error {
  3408. invalidParams := request.ErrInvalidParams{Context: "Matcher"}
  3409. if s.HttpCode == nil {
  3410. invalidParams.Add(request.NewErrParamRequired("HttpCode"))
  3411. }
  3412. if invalidParams.Len() > 0 {
  3413. return invalidParams
  3414. }
  3415. return nil
  3416. }
  3417. // Contains the parameters for ModifyListener.
  3418. type ModifyListenerInput struct {
  3419. _ struct{} `type:"structure"`
  3420. // The SSL server certificate.
  3421. Certificates []*Certificate `type:"list"`
  3422. // The default actions.
  3423. DefaultActions []*Action `type:"list"`
  3424. // The Amazon Resource Name (ARN) of the listener.
  3425. //
  3426. // ListenerArn is a required field
  3427. ListenerArn *string `type:"string" required:"true"`
  3428. // The port for connections from clients to the load balancer.
  3429. Port *int64 `min:"1" type:"integer"`
  3430. // The protocol for connections from clients to the load balancer.
  3431. Protocol *string `type:"string" enum:"ProtocolEnum"`
  3432. // The security policy that defines which ciphers and protocols are supported.
  3433. SslPolicy *string `type:"string"`
  3434. }
  3435. // String returns the string representation
  3436. func (s ModifyListenerInput) String() string {
  3437. return awsutil.Prettify(s)
  3438. }
  3439. // GoString returns the string representation
  3440. func (s ModifyListenerInput) GoString() string {
  3441. return s.String()
  3442. }
  3443. // Validate inspects the fields of the type to determine if they are valid.
  3444. func (s *ModifyListenerInput) Validate() error {
  3445. invalidParams := request.ErrInvalidParams{Context: "ModifyListenerInput"}
  3446. if s.ListenerArn == nil {
  3447. invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  3448. }
  3449. if s.Port != nil && *s.Port < 1 {
  3450. invalidParams.Add(request.NewErrParamMinValue("Port", 1))
  3451. }
  3452. if s.DefaultActions != nil {
  3453. for i, v := range s.DefaultActions {
  3454. if v == nil {
  3455. continue
  3456. }
  3457. if err := v.Validate(); err != nil {
  3458. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
  3459. }
  3460. }
  3461. }
  3462. if invalidParams.Len() > 0 {
  3463. return invalidParams
  3464. }
  3465. return nil
  3466. }
  3467. // Contains the output of ModifyListener.
  3468. type ModifyListenerOutput struct {
  3469. _ struct{} `type:"structure"`
  3470. // Information about the modified listeners.
  3471. Listeners []*Listener `type:"list"`
  3472. }
  3473. // String returns the string representation
  3474. func (s ModifyListenerOutput) String() string {
  3475. return awsutil.Prettify(s)
  3476. }
  3477. // GoString returns the string representation
  3478. func (s ModifyListenerOutput) GoString() string {
  3479. return s.String()
  3480. }
  3481. // Contains the parameters for ModifyLoadBalancerAttributes.
  3482. type ModifyLoadBalancerAttributesInput struct {
  3483. _ struct{} `type:"structure"`
  3484. // The load balancer attributes.
  3485. //
  3486. // Attributes is a required field
  3487. Attributes []*LoadBalancerAttribute `type:"list" required:"true"`
  3488. // The Amazon Resource Name (ARN) of the load balancer.
  3489. //
  3490. // LoadBalancerArn is a required field
  3491. LoadBalancerArn *string `type:"string" required:"true"`
  3492. }
  3493. // String returns the string representation
  3494. func (s ModifyLoadBalancerAttributesInput) String() string {
  3495. return awsutil.Prettify(s)
  3496. }
  3497. // GoString returns the string representation
  3498. func (s ModifyLoadBalancerAttributesInput) GoString() string {
  3499. return s.String()
  3500. }
  3501. // Validate inspects the fields of the type to determine if they are valid.
  3502. func (s *ModifyLoadBalancerAttributesInput) Validate() error {
  3503. invalidParams := request.ErrInvalidParams{Context: "ModifyLoadBalancerAttributesInput"}
  3504. if s.Attributes == nil {
  3505. invalidParams.Add(request.NewErrParamRequired("Attributes"))
  3506. }
  3507. if s.LoadBalancerArn == nil {
  3508. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  3509. }
  3510. if invalidParams.Len() > 0 {
  3511. return invalidParams
  3512. }
  3513. return nil
  3514. }
  3515. // Contains the output of ModifyLoadBalancerAttributes.
  3516. type ModifyLoadBalancerAttributesOutput struct {
  3517. _ struct{} `type:"structure"`
  3518. // Information about the load balancer attributes.
  3519. Attributes []*LoadBalancerAttribute `type:"list"`
  3520. }
  3521. // String returns the string representation
  3522. func (s ModifyLoadBalancerAttributesOutput) String() string {
  3523. return awsutil.Prettify(s)
  3524. }
  3525. // GoString returns the string representation
  3526. func (s ModifyLoadBalancerAttributesOutput) GoString() string {
  3527. return s.String()
  3528. }
  3529. // Contains the parameters for ModifyRules.
  3530. type ModifyRuleInput struct {
  3531. _ struct{} `type:"structure"`
  3532. // The actions.
  3533. Actions []*Action `type:"list"`
  3534. // The conditions.
  3535. Conditions []*RuleCondition `type:"list"`
  3536. // The Amazon Resource Name (ARN) of the rule.
  3537. //
  3538. // RuleArn is a required field
  3539. RuleArn *string `type:"string" required:"true"`
  3540. }
  3541. // String returns the string representation
  3542. func (s ModifyRuleInput) String() string {
  3543. return awsutil.Prettify(s)
  3544. }
  3545. // GoString returns the string representation
  3546. func (s ModifyRuleInput) GoString() string {
  3547. return s.String()
  3548. }
  3549. // Validate inspects the fields of the type to determine if they are valid.
  3550. func (s *ModifyRuleInput) Validate() error {
  3551. invalidParams := request.ErrInvalidParams{Context: "ModifyRuleInput"}
  3552. if s.RuleArn == nil {
  3553. invalidParams.Add(request.NewErrParamRequired("RuleArn"))
  3554. }
  3555. if s.Actions != nil {
  3556. for i, v := range s.Actions {
  3557. if v == nil {
  3558. continue
  3559. }
  3560. if err := v.Validate(); err != nil {
  3561. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
  3562. }
  3563. }
  3564. }
  3565. if invalidParams.Len() > 0 {
  3566. return invalidParams
  3567. }
  3568. return nil
  3569. }
  3570. // Contains the output of ModifyRules.
  3571. type ModifyRuleOutput struct {
  3572. _ struct{} `type:"structure"`
  3573. // Information about the rule.
  3574. Rules []*Rule `type:"list"`
  3575. }
  3576. // String returns the string representation
  3577. func (s ModifyRuleOutput) String() string {
  3578. return awsutil.Prettify(s)
  3579. }
  3580. // GoString returns the string representation
  3581. func (s ModifyRuleOutput) GoString() string {
  3582. return s.String()
  3583. }
  3584. // Contains the parameters for ModifyTargetGroupAttributes.
  3585. type ModifyTargetGroupAttributesInput struct {
  3586. _ struct{} `type:"structure"`
  3587. // The attributes.
  3588. //
  3589. // Attributes is a required field
  3590. Attributes []*TargetGroupAttribute `type:"list" required:"true"`
  3591. // The Amazon Resource Name (ARN) of the target group.
  3592. //
  3593. // TargetGroupArn is a required field
  3594. TargetGroupArn *string `type:"string" required:"true"`
  3595. }
  3596. // String returns the string representation
  3597. func (s ModifyTargetGroupAttributesInput) String() string {
  3598. return awsutil.Prettify(s)
  3599. }
  3600. // GoString returns the string representation
  3601. func (s ModifyTargetGroupAttributesInput) GoString() string {
  3602. return s.String()
  3603. }
  3604. // Validate inspects the fields of the type to determine if they are valid.
  3605. func (s *ModifyTargetGroupAttributesInput) Validate() error {
  3606. invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupAttributesInput"}
  3607. if s.Attributes == nil {
  3608. invalidParams.Add(request.NewErrParamRequired("Attributes"))
  3609. }
  3610. if s.TargetGroupArn == nil {
  3611. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  3612. }
  3613. if invalidParams.Len() > 0 {
  3614. return invalidParams
  3615. }
  3616. return nil
  3617. }
  3618. // Contains the output of ModifyTargetGroupAttributes.
  3619. type ModifyTargetGroupAttributesOutput struct {
  3620. _ struct{} `type:"structure"`
  3621. // Information about the attributes.
  3622. Attributes []*TargetGroupAttribute `type:"list"`
  3623. }
  3624. // String returns the string representation
  3625. func (s ModifyTargetGroupAttributesOutput) String() string {
  3626. return awsutil.Prettify(s)
  3627. }
  3628. // GoString returns the string representation
  3629. func (s ModifyTargetGroupAttributesOutput) GoString() string {
  3630. return s.String()
  3631. }
  3632. // Contains the parameters for ModifyTargetGroup.
  3633. type ModifyTargetGroupInput struct {
  3634. _ struct{} `type:"structure"`
  3635. // The approximate amount of time, in seconds, between health checks of an individual
  3636. // target.
  3637. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
  3638. // The ping path that is the destination for the health check request.
  3639. HealthCheckPath *string `min:"1" type:"string"`
  3640. // The port to use to connect with the target.
  3641. HealthCheckPort *string `type:"string"`
  3642. // The protocol to use to connect with the target.
  3643. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
  3644. // The amount of time, in seconds, during which no response means a failed health
  3645. // check.
  3646. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
  3647. // The number of consecutive health checks successes required before considering
  3648. // an unhealthy target healthy.
  3649. HealthyThresholdCount *int64 `min:"2" type:"integer"`
  3650. // The HTTP codes to use when checking for a successful response from a target.
  3651. Matcher *Matcher `type:"structure"`
  3652. // The Amazon Resource Name (ARN) of the target group.
  3653. //
  3654. // TargetGroupArn is a required field
  3655. TargetGroupArn *string `type:"string" required:"true"`
  3656. // The number of consecutive health check failures required before considering
  3657. // the target unhealthy.
  3658. UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
  3659. }
  3660. // String returns the string representation
  3661. func (s ModifyTargetGroupInput) String() string {
  3662. return awsutil.Prettify(s)
  3663. }
  3664. // GoString returns the string representation
  3665. func (s ModifyTargetGroupInput) GoString() string {
  3666. return s.String()
  3667. }
  3668. // Validate inspects the fields of the type to determine if they are valid.
  3669. func (s *ModifyTargetGroupInput) Validate() error {
  3670. invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupInput"}
  3671. if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
  3672. invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
  3673. }
  3674. if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
  3675. invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
  3676. }
  3677. if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
  3678. invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
  3679. }
  3680. if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
  3681. invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
  3682. }
  3683. if s.TargetGroupArn == nil {
  3684. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  3685. }
  3686. if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
  3687. invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
  3688. }
  3689. if s.Matcher != nil {
  3690. if err := s.Matcher.Validate(); err != nil {
  3691. invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
  3692. }
  3693. }
  3694. if invalidParams.Len() > 0 {
  3695. return invalidParams
  3696. }
  3697. return nil
  3698. }
  3699. // Contains the output of ModifyTargetGroup.
  3700. type ModifyTargetGroupOutput struct {
  3701. _ struct{} `type:"structure"`
  3702. // Information about the target group.
  3703. TargetGroups []*TargetGroup `type:"list"`
  3704. }
  3705. // String returns the string representation
  3706. func (s ModifyTargetGroupOutput) String() string {
  3707. return awsutil.Prettify(s)
  3708. }
  3709. // GoString returns the string representation
  3710. func (s ModifyTargetGroupOutput) GoString() string {
  3711. return s.String()
  3712. }
  3713. // Contains the parameters for RegisterTargets.
  3714. type RegisterTargetsInput struct {
  3715. _ struct{} `type:"structure"`
  3716. // The Amazon Resource Name (ARN) of the target group.
  3717. //
  3718. // TargetGroupArn is a required field
  3719. TargetGroupArn *string `type:"string" required:"true"`
  3720. // The targets. The default port for a target is the port for the target group.
  3721. // You can specify a port override. If a target is already registered, you can
  3722. // register it again using a different port.
  3723. //
  3724. // Targets is a required field
  3725. Targets []*TargetDescription `type:"list" required:"true"`
  3726. }
  3727. // String returns the string representation
  3728. func (s RegisterTargetsInput) String() string {
  3729. return awsutil.Prettify(s)
  3730. }
  3731. // GoString returns the string representation
  3732. func (s RegisterTargetsInput) GoString() string {
  3733. return s.String()
  3734. }
  3735. // Validate inspects the fields of the type to determine if they are valid.
  3736. func (s *RegisterTargetsInput) Validate() error {
  3737. invalidParams := request.ErrInvalidParams{Context: "RegisterTargetsInput"}
  3738. if s.TargetGroupArn == nil {
  3739. invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
  3740. }
  3741. if s.Targets == nil {
  3742. invalidParams.Add(request.NewErrParamRequired("Targets"))
  3743. }
  3744. if s.Targets != nil {
  3745. for i, v := range s.Targets {
  3746. if v == nil {
  3747. continue
  3748. }
  3749. if err := v.Validate(); err != nil {
  3750. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
  3751. }
  3752. }
  3753. }
  3754. if invalidParams.Len() > 0 {
  3755. return invalidParams
  3756. }
  3757. return nil
  3758. }
  3759. // Contains the output of RegisterTargets.
  3760. type RegisterTargetsOutput struct {
  3761. _ struct{} `type:"structure"`
  3762. }
  3763. // String returns the string representation
  3764. func (s RegisterTargetsOutput) String() string {
  3765. return awsutil.Prettify(s)
  3766. }
  3767. // GoString returns the string representation
  3768. func (s RegisterTargetsOutput) GoString() string {
  3769. return s.String()
  3770. }
  3771. // Contains the parameters for RemoveTags.
  3772. type RemoveTagsInput struct {
  3773. _ struct{} `type:"structure"`
  3774. // The Amazon Resource Name (ARN) of the resource.
  3775. //
  3776. // ResourceArns is a required field
  3777. ResourceArns []*string `type:"list" required:"true"`
  3778. // The tag keys for the tags to remove.
  3779. //
  3780. // TagKeys is a required field
  3781. TagKeys []*string `type:"list" required:"true"`
  3782. }
  3783. // String returns the string representation
  3784. func (s RemoveTagsInput) String() string {
  3785. return awsutil.Prettify(s)
  3786. }
  3787. // GoString returns the string representation
  3788. func (s RemoveTagsInput) GoString() string {
  3789. return s.String()
  3790. }
  3791. // Validate inspects the fields of the type to determine if they are valid.
  3792. func (s *RemoveTagsInput) Validate() error {
  3793. invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
  3794. if s.ResourceArns == nil {
  3795. invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
  3796. }
  3797. if s.TagKeys == nil {
  3798. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  3799. }
  3800. if invalidParams.Len() > 0 {
  3801. return invalidParams
  3802. }
  3803. return nil
  3804. }
  3805. // Contains the output of RemoveTags.
  3806. type RemoveTagsOutput struct {
  3807. _ struct{} `type:"structure"`
  3808. }
  3809. // String returns the string representation
  3810. func (s RemoveTagsOutput) String() string {
  3811. return awsutil.Prettify(s)
  3812. }
  3813. // GoString returns the string representation
  3814. func (s RemoveTagsOutput) GoString() string {
  3815. return s.String()
  3816. }
  3817. // Information about a rule.
  3818. type Rule struct {
  3819. _ struct{} `type:"structure"`
  3820. // The actions.
  3821. Actions []*Action `type:"list"`
  3822. // The conditions.
  3823. Conditions []*RuleCondition `type:"list"`
  3824. // Indicates whether this is the default rule.
  3825. IsDefault *bool `type:"boolean"`
  3826. // The priority.
  3827. Priority *string `type:"string"`
  3828. // The Amazon Resource Name (ARN) of the rule.
  3829. RuleArn *string `type:"string"`
  3830. }
  3831. // String returns the string representation
  3832. func (s Rule) String() string {
  3833. return awsutil.Prettify(s)
  3834. }
  3835. // GoString returns the string representation
  3836. func (s Rule) GoString() string {
  3837. return s.String()
  3838. }
  3839. // Information about a condition for a rule.
  3840. type RuleCondition struct {
  3841. _ struct{} `type:"structure"`
  3842. // The only possible value is path-pattern.
  3843. Field *string `type:"string"`
  3844. // The path pattern. You can specify a single path pattern.
  3845. //
  3846. // A path pattern is case sensitive, can be up to 255 characters in length,
  3847. // and can contain any of the following characters:
  3848. //
  3849. // * A-Z, a-z, 0-9
  3850. //
  3851. // * _ - . $ / ~ " ' @ : +
  3852. //
  3853. // * & (using &)
  3854. //
  3855. // * * (matches 0 or more characters)
  3856. //
  3857. // * ? (matches exactly 1 character)
  3858. Values []*string `type:"list"`
  3859. }
  3860. // String returns the string representation
  3861. func (s RuleCondition) String() string {
  3862. return awsutil.Prettify(s)
  3863. }
  3864. // GoString returns the string representation
  3865. func (s RuleCondition) GoString() string {
  3866. return s.String()
  3867. }
  3868. // Information about the priorities for the rules for a listener.
  3869. type RulePriorityPair struct {
  3870. _ struct{} `type:"structure"`
  3871. // The rule priority.
  3872. Priority *int64 `min:"1" type:"integer"`
  3873. // The Amazon Resource Name (ARN) of the rule.
  3874. RuleArn *string `type:"string"`
  3875. }
  3876. // String returns the string representation
  3877. func (s RulePriorityPair) String() string {
  3878. return awsutil.Prettify(s)
  3879. }
  3880. // GoString returns the string representation
  3881. func (s RulePriorityPair) GoString() string {
  3882. return s.String()
  3883. }
  3884. // Validate inspects the fields of the type to determine if they are valid.
  3885. func (s *RulePriorityPair) Validate() error {
  3886. invalidParams := request.ErrInvalidParams{Context: "RulePriorityPair"}
  3887. if s.Priority != nil && *s.Priority < 1 {
  3888. invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
  3889. }
  3890. if invalidParams.Len() > 0 {
  3891. return invalidParams
  3892. }
  3893. return nil
  3894. }
  3895. // Contains the parameters for SetRulePriorities.
  3896. type SetRulePrioritiesInput struct {
  3897. _ struct{} `type:"structure"`
  3898. // The rule priorities.
  3899. //
  3900. // RulePriorities is a required field
  3901. RulePriorities []*RulePriorityPair `type:"list" required:"true"`
  3902. }
  3903. // String returns the string representation
  3904. func (s SetRulePrioritiesInput) String() string {
  3905. return awsutil.Prettify(s)
  3906. }
  3907. // GoString returns the string representation
  3908. func (s SetRulePrioritiesInput) GoString() string {
  3909. return s.String()
  3910. }
  3911. // Validate inspects the fields of the type to determine if they are valid.
  3912. func (s *SetRulePrioritiesInput) Validate() error {
  3913. invalidParams := request.ErrInvalidParams{Context: "SetRulePrioritiesInput"}
  3914. if s.RulePriorities == nil {
  3915. invalidParams.Add(request.NewErrParamRequired("RulePriorities"))
  3916. }
  3917. if s.RulePriorities != nil {
  3918. for i, v := range s.RulePriorities {
  3919. if v == nil {
  3920. continue
  3921. }
  3922. if err := v.Validate(); err != nil {
  3923. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RulePriorities", i), err.(request.ErrInvalidParams))
  3924. }
  3925. }
  3926. }
  3927. if invalidParams.Len() > 0 {
  3928. return invalidParams
  3929. }
  3930. return nil
  3931. }
  3932. // Contains the output of SetRulePriorities.
  3933. type SetRulePrioritiesOutput struct {
  3934. _ struct{} `type:"structure"`
  3935. // Information about the rules.
  3936. Rules []*Rule `type:"list"`
  3937. }
  3938. // String returns the string representation
  3939. func (s SetRulePrioritiesOutput) String() string {
  3940. return awsutil.Prettify(s)
  3941. }
  3942. // GoString returns the string representation
  3943. func (s SetRulePrioritiesOutput) GoString() string {
  3944. return s.String()
  3945. }
  3946. // Contains the parameters for SetSecurityGroups.
  3947. type SetSecurityGroupsInput struct {
  3948. _ struct{} `type:"structure"`
  3949. // The Amazon Resource Name (ARN) of the load balancer.
  3950. //
  3951. // LoadBalancerArn is a required field
  3952. LoadBalancerArn *string `type:"string" required:"true"`
  3953. // The IDs of the security groups.
  3954. //
  3955. // SecurityGroups is a required field
  3956. SecurityGroups []*string `type:"list" required:"true"`
  3957. }
  3958. // String returns the string representation
  3959. func (s SetSecurityGroupsInput) String() string {
  3960. return awsutil.Prettify(s)
  3961. }
  3962. // GoString returns the string representation
  3963. func (s SetSecurityGroupsInput) GoString() string {
  3964. return s.String()
  3965. }
  3966. // Validate inspects the fields of the type to determine if they are valid.
  3967. func (s *SetSecurityGroupsInput) Validate() error {
  3968. invalidParams := request.ErrInvalidParams{Context: "SetSecurityGroupsInput"}
  3969. if s.LoadBalancerArn == nil {
  3970. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  3971. }
  3972. if s.SecurityGroups == nil {
  3973. invalidParams.Add(request.NewErrParamRequired("SecurityGroups"))
  3974. }
  3975. if invalidParams.Len() > 0 {
  3976. return invalidParams
  3977. }
  3978. return nil
  3979. }
  3980. // Contains the output of SetSecurityGroups.
  3981. type SetSecurityGroupsOutput struct {
  3982. _ struct{} `type:"structure"`
  3983. // The IDs of the security groups associated with the load balancer.
  3984. SecurityGroupIds []*string `type:"list"`
  3985. }
  3986. // String returns the string representation
  3987. func (s SetSecurityGroupsOutput) String() string {
  3988. return awsutil.Prettify(s)
  3989. }
  3990. // GoString returns the string representation
  3991. func (s SetSecurityGroupsOutput) GoString() string {
  3992. return s.String()
  3993. }
  3994. // Contains the parameters for SetSubnets.
  3995. type SetSubnetsInput struct {
  3996. _ struct{} `type:"structure"`
  3997. // The Amazon Resource Name (ARN) of the load balancer.
  3998. //
  3999. // LoadBalancerArn is a required field
  4000. LoadBalancerArn *string `type:"string" required:"true"`
  4001. // The IDs of the subnets. You must specify at least two subnets. You can add
  4002. // only one subnet per Availability Zone.
  4003. //
  4004. // Subnets is a required field
  4005. Subnets []*string `type:"list" required:"true"`
  4006. }
  4007. // String returns the string representation
  4008. func (s SetSubnetsInput) String() string {
  4009. return awsutil.Prettify(s)
  4010. }
  4011. // GoString returns the string representation
  4012. func (s SetSubnetsInput) GoString() string {
  4013. return s.String()
  4014. }
  4015. // Validate inspects the fields of the type to determine if they are valid.
  4016. func (s *SetSubnetsInput) Validate() error {
  4017. invalidParams := request.ErrInvalidParams{Context: "SetSubnetsInput"}
  4018. if s.LoadBalancerArn == nil {
  4019. invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
  4020. }
  4021. if s.Subnets == nil {
  4022. invalidParams.Add(request.NewErrParamRequired("Subnets"))
  4023. }
  4024. if invalidParams.Len() > 0 {
  4025. return invalidParams
  4026. }
  4027. return nil
  4028. }
  4029. // Contains the output of SetSubnets.
  4030. type SetSubnetsOutput struct {
  4031. _ struct{} `type:"structure"`
  4032. // Information about the subnet and Availability Zone.
  4033. AvailabilityZones []*AvailabilityZone `type:"list"`
  4034. }
  4035. // String returns the string representation
  4036. func (s SetSubnetsOutput) String() string {
  4037. return awsutil.Prettify(s)
  4038. }
  4039. // GoString returns the string representation
  4040. func (s SetSubnetsOutput) GoString() string {
  4041. return s.String()
  4042. }
  4043. // Information about a policy used for SSL negotiation.
  4044. type SslPolicy struct {
  4045. _ struct{} `type:"structure"`
  4046. // The ciphers.
  4047. Ciphers []*Cipher `type:"list"`
  4048. // The name of the policy.
  4049. Name *string `type:"string"`
  4050. // The protocols.
  4051. SslProtocols []*string `type:"list"`
  4052. }
  4053. // String returns the string representation
  4054. func (s SslPolicy) String() string {
  4055. return awsutil.Prettify(s)
  4056. }
  4057. // GoString returns the string representation
  4058. func (s SslPolicy) GoString() string {
  4059. return s.String()
  4060. }
  4061. // Information about a tag.
  4062. type Tag struct {
  4063. _ struct{} `type:"structure"`
  4064. // The key of the tag.
  4065. //
  4066. // Key is a required field
  4067. Key *string `min:"1" type:"string" required:"true"`
  4068. // The value of the tag.
  4069. Value *string `type:"string"`
  4070. }
  4071. // String returns the string representation
  4072. func (s Tag) String() string {
  4073. return awsutil.Prettify(s)
  4074. }
  4075. // GoString returns the string representation
  4076. func (s Tag) GoString() string {
  4077. return s.String()
  4078. }
  4079. // Validate inspects the fields of the type to determine if they are valid.
  4080. func (s *Tag) Validate() error {
  4081. invalidParams := request.ErrInvalidParams{Context: "Tag"}
  4082. if s.Key == nil {
  4083. invalidParams.Add(request.NewErrParamRequired("Key"))
  4084. }
  4085. if s.Key != nil && len(*s.Key) < 1 {
  4086. invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  4087. }
  4088. if invalidParams.Len() > 0 {
  4089. return invalidParams
  4090. }
  4091. return nil
  4092. }
  4093. // The tags associated with a resource.
  4094. type TagDescription struct {
  4095. _ struct{} `type:"structure"`
  4096. // The Amazon Resource Name (ARN) of the resource.
  4097. ResourceArn *string `type:"string"`
  4098. // Information about the tags.
  4099. Tags []*Tag `min:"1" type:"list"`
  4100. }
  4101. // String returns the string representation
  4102. func (s TagDescription) String() string {
  4103. return awsutil.Prettify(s)
  4104. }
  4105. // GoString returns the string representation
  4106. func (s TagDescription) GoString() string {
  4107. return s.String()
  4108. }
  4109. // Information about a target.
  4110. type TargetDescription struct {
  4111. _ struct{} `type:"structure"`
  4112. // The ID of the target.
  4113. //
  4114. // Id is a required field
  4115. Id *string `type:"string" required:"true"`
  4116. // The port on which the target is listening.
  4117. Port *int64 `min:"1" type:"integer"`
  4118. }
  4119. // String returns the string representation
  4120. func (s TargetDescription) String() string {
  4121. return awsutil.Prettify(s)
  4122. }
  4123. // GoString returns the string representation
  4124. func (s TargetDescription) GoString() string {
  4125. return s.String()
  4126. }
  4127. // Validate inspects the fields of the type to determine if they are valid.
  4128. func (s *TargetDescription) Validate() error {
  4129. invalidParams := request.ErrInvalidParams{Context: "TargetDescription"}
  4130. if s.Id == nil {
  4131. invalidParams.Add(request.NewErrParamRequired("Id"))
  4132. }
  4133. if s.Port != nil && *s.Port < 1 {
  4134. invalidParams.Add(request.NewErrParamMinValue("Port", 1))
  4135. }
  4136. if invalidParams.Len() > 0 {
  4137. return invalidParams
  4138. }
  4139. return nil
  4140. }
  4141. // Information about a target group.
  4142. type TargetGroup struct {
  4143. _ struct{} `type:"structure"`
  4144. // The approximate amount of time, in seconds, between health checks of an individual
  4145. // target.
  4146. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
  4147. // The destination for the health check request.
  4148. HealthCheckPath *string `min:"1" type:"string"`
  4149. // The port to use to connect with the target.
  4150. HealthCheckPort *string `type:"string"`
  4151. // The protocol to use to connect with the target.
  4152. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
  4153. // The amount of time, in seconds, during which no response means a failed health
  4154. // check.
  4155. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
  4156. // The number of consecutive health checks successes required before considering
  4157. // an unhealthy target healthy.
  4158. HealthyThresholdCount *int64 `min:"2" type:"integer"`
  4159. // The Amazon Resource Names (ARN) of the load balancers that route traffic
  4160. // to this target group.
  4161. LoadBalancerArns []*string `type:"list"`
  4162. // The HTTP codes to use when checking for a successful response from a target.
  4163. Matcher *Matcher `type:"structure"`
  4164. // The port on which the targets are listening.
  4165. Port *int64 `min:"1" type:"integer"`
  4166. // The protocol to use for routing traffic to the targets.
  4167. Protocol *string `type:"string" enum:"ProtocolEnum"`
  4168. // The Amazon Resource Name (ARN) of the target group.
  4169. TargetGroupArn *string `type:"string"`
  4170. // The name of the target group.
  4171. TargetGroupName *string `type:"string"`
  4172. // The number of consecutive health check failures required before considering
  4173. // the target unhealthy.
  4174. UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
  4175. // The ID of the VPC for the targets.
  4176. VpcId *string `type:"string"`
  4177. }
  4178. // String returns the string representation
  4179. func (s TargetGroup) String() string {
  4180. return awsutil.Prettify(s)
  4181. }
  4182. // GoString returns the string representation
  4183. func (s TargetGroup) GoString() string {
  4184. return s.String()
  4185. }
  4186. // Information about a target group attribute.
  4187. type TargetGroupAttribute struct {
  4188. _ struct{} `type:"structure"`
  4189. // The name of the attribute.
  4190. //
  4191. // * deregistration_delay.timeout_seconds - The amount time for Elastic Load
  4192. // Balancing to wait before changing the state of a deregistering target
  4193. // from draining to unused. The range is 0-3600 seconds. The default value
  4194. // is 300 seconds.
  4195. //
  4196. // * stickiness.enabled - Indicates whether sticky sessions are enabled.
  4197. // The value is true or false.
  4198. //
  4199. // * stickiness.type - The type of sticky sessions. The possible value is
  4200. // lb_cookie.
  4201. //
  4202. // * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
  4203. // during which requests from a client should be routed to the same target.
  4204. // After this time period expires, the load balancer-generated cookie is
  4205. // considered stale. The range is 1 second to 1 week (604800 seconds). The
  4206. // default value is 1 day (86400 seconds).
  4207. Key *string `type:"string"`
  4208. // The value of the attribute.
  4209. Value *string `type:"string"`
  4210. }
  4211. // String returns the string representation
  4212. func (s TargetGroupAttribute) String() string {
  4213. return awsutil.Prettify(s)
  4214. }
  4215. // GoString returns the string representation
  4216. func (s TargetGroupAttribute) GoString() string {
  4217. return s.String()
  4218. }
  4219. // Information about the current health of a target.
  4220. type TargetHealth struct {
  4221. _ struct{} `type:"structure"`
  4222. // A description of the target health that provides additional details. If the
  4223. // state is healthy, a description is not provided.
  4224. Description *string `type:"string"`
  4225. // The reason code. If the target state is healthy, a reason code is not provided.
  4226. //
  4227. // If the target state is initial, the reason code can be one of the following
  4228. // values:
  4229. //
  4230. // * Elb.RegistrationInProgress - The target is in the process of being registered
  4231. // with the load balancer.
  4232. //
  4233. // * Elb.InitialHealthChecking - The load balancer is still sending the target
  4234. // the minimum number of health checks required to determine its health status.
  4235. //
  4236. // If the target state is unhealthy, the reason code can be one of the following
  4237. // values:
  4238. //
  4239. // * Target.ResponseCodeMismatch - The health checks did not return an expected
  4240. // HTTP code.
  4241. //
  4242. // * Target.Timeout - The health check requests timed out.
  4243. //
  4244. // * Target.FailedHealthChecks - The health checks failed because the connection
  4245. // to the target timed out, the target response was malformed, or the target
  4246. // failed the health check for an unknown reason.
  4247. //
  4248. // * Elb.InternalError - The health checks failed due to an internal error.
  4249. //
  4250. // If the target state is unused, the reason code can be one of the following
  4251. // values:
  4252. //
  4253. // * Target.NotRegistered - The target is not registered with the target
  4254. // group.
  4255. //
  4256. // * Target.NotInUse - The target group is not used by any load balancer
  4257. // or the target is in an Availability Zone that is not enabled for its load
  4258. // balancer.
  4259. //
  4260. // * Target.InvalidState - The target is in the stopped or terminated state.
  4261. //
  4262. // If the target state is draining, the reason code can be the following value:
  4263. //
  4264. // * Target.DeregistrationInProgress - The target is in the process of being
  4265. // deregistered and the deregistration delay period has not expired.
  4266. Reason *string `type:"string" enum:"TargetHealthReasonEnum"`
  4267. // The state of the target.
  4268. State *string `type:"string" enum:"TargetHealthStateEnum"`
  4269. }
  4270. // String returns the string representation
  4271. func (s TargetHealth) String() string {
  4272. return awsutil.Prettify(s)
  4273. }
  4274. // GoString returns the string representation
  4275. func (s TargetHealth) GoString() string {
  4276. return s.String()
  4277. }
  4278. // Information about the health of a target.
  4279. type TargetHealthDescription struct {
  4280. _ struct{} `type:"structure"`
  4281. // The port to use to connect with the target.
  4282. HealthCheckPort *string `type:"string"`
  4283. // The description of the target.
  4284. Target *TargetDescription `type:"structure"`
  4285. // The health information for the target.
  4286. TargetHealth *TargetHealth `type:"structure"`
  4287. }
  4288. // String returns the string representation
  4289. func (s TargetHealthDescription) String() string {
  4290. return awsutil.Prettify(s)
  4291. }
  4292. // GoString returns the string representation
  4293. func (s TargetHealthDescription) GoString() string {
  4294. return s.String()
  4295. }
  4296. const (
  4297. // ActionTypeEnumForward is a ActionTypeEnum enum value
  4298. ActionTypeEnumForward = "forward"
  4299. )
  4300. const (
  4301. // LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
  4302. LoadBalancerSchemeEnumInternetFacing = "internet-facing"
  4303. // LoadBalancerSchemeEnumInternal is a LoadBalancerSchemeEnum enum value
  4304. LoadBalancerSchemeEnumInternal = "internal"
  4305. )
  4306. const (
  4307. // LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
  4308. LoadBalancerStateEnumActive = "active"
  4309. // LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value
  4310. LoadBalancerStateEnumProvisioning = "provisioning"
  4311. // LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value
  4312. LoadBalancerStateEnumFailed = "failed"
  4313. )
  4314. const (
  4315. // LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
  4316. LoadBalancerTypeEnumApplication = "application"
  4317. )
  4318. const (
  4319. // ProtocolEnumHttp is a ProtocolEnum enum value
  4320. ProtocolEnumHttp = "HTTP"
  4321. // ProtocolEnumHttps is a ProtocolEnum enum value
  4322. ProtocolEnumHttps = "HTTPS"
  4323. )
  4324. const (
  4325. // TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
  4326. TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
  4327. // TargetHealthReasonEnumElbInitialHealthChecking is a TargetHealthReasonEnum enum value
  4328. TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking"
  4329. // TargetHealthReasonEnumTargetResponseCodeMismatch is a TargetHealthReasonEnum enum value
  4330. TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch"
  4331. // TargetHealthReasonEnumTargetTimeout is a TargetHealthReasonEnum enum value
  4332. TargetHealthReasonEnumTargetTimeout = "Target.Timeout"
  4333. // TargetHealthReasonEnumTargetFailedHealthChecks is a TargetHealthReasonEnum enum value
  4334. TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks"
  4335. // TargetHealthReasonEnumTargetNotRegistered is a TargetHealthReasonEnum enum value
  4336. TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered"
  4337. // TargetHealthReasonEnumTargetNotInUse is a TargetHealthReasonEnum enum value
  4338. TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse"
  4339. // TargetHealthReasonEnumTargetDeregistrationInProgress is a TargetHealthReasonEnum enum value
  4340. TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress"
  4341. // TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value
  4342. TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState"
  4343. // TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value
  4344. TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
  4345. )
  4346. const (
  4347. // TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
  4348. TargetHealthStateEnumInitial = "initial"
  4349. // TargetHealthStateEnumHealthy is a TargetHealthStateEnum enum value
  4350. TargetHealthStateEnumHealthy = "healthy"
  4351. // TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value
  4352. TargetHealthStateEnumUnhealthy = "unhealthy"
  4353. // TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value
  4354. TargetHealthStateEnumUnused = "unused"
  4355. // TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value
  4356. TargetHealthStateEnumDraining = "draining"
  4357. )