api.go 128 KB

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