123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package elbv2
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/query"
- )
- const opAddListenerCertificates = "AddListenerCertificates"
- // AddListenerCertificatesRequest generates a "aws/request.Request" representing the
- // client's request for the AddListenerCertificates operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See AddListenerCertificates for more information on using the AddListenerCertificates
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the AddListenerCertificatesRequest method.
- // req, resp := client.AddListenerCertificatesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates
- func (c *ELBV2) AddListenerCertificatesRequest(input *AddListenerCertificatesInput) (req *request.Request, output *AddListenerCertificatesOutput) {
- op := &request.Operation{
- Name: opAddListenerCertificates,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &AddListenerCertificatesInput{}
- }
- output = &AddListenerCertificatesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // AddListenerCertificates API operation for Elastic Load Balancing.
- //
- // Adds the specified certificate to the specified secure listener.
- //
- // If the certificate was already added, the call is successful but the certificate
- // is not added again.
- //
- // To list the certificates for your listener, use DescribeListenerCertificates.
- // To remove certificates from your listener, use RemoveListenerCertificates.
- // To specify the default SSL server certificate, use ModifyListener.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation AddListenerCertificates for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeTooManyCertificatesException "TooManyCertificates"
- // You've reached the limit on the number of certificates per load balancer.
- //
- // * ErrCodeCertificateNotFoundException "CertificateNotFound"
- // The specified certificate does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates
- func (c *ELBV2) AddListenerCertificates(input *AddListenerCertificatesInput) (*AddListenerCertificatesOutput, error) {
- req, out := c.AddListenerCertificatesRequest(input)
- return out, req.Send()
- }
- // AddListenerCertificatesWithContext is the same as AddListenerCertificates with the addition of
- // the ability to pass a context and additional request options.
- //
- // See AddListenerCertificates for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) AddListenerCertificatesWithContext(ctx aws.Context, input *AddListenerCertificatesInput, opts ...request.Option) (*AddListenerCertificatesOutput, error) {
- req, out := c.AddListenerCertificatesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opAddTags = "AddTags"
- // AddTagsRequest generates a "aws/request.Request" representing the
- // client's request for the AddTags operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See AddTags for more information on using the AddTags
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the AddTagsRequest method.
- // req, resp := client.AddTagsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags
- func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
- op := &request.Operation{
- Name: opAddTags,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &AddTagsInput{}
- }
- output = &AddTagsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // AddTags API operation for Elastic Load Balancing.
- //
- // Adds the specified tags to the specified Elastic Load Balancing resource.
- // You can tag your Application Load Balancers, Network Load Balancers, and
- // your target groups.
- //
- // Each tag consists of a key and an optional value. If a resource already has
- // a tag with the same key, AddTags updates its value.
- //
- // To list the current tags for your resources, use DescribeTags. To remove
- // tags from your resources, use RemoveTags.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation AddTags for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeDuplicateTagKeysException "DuplicateTagKeys"
- // A tag key was specified more than once.
- //
- // * ErrCodeTooManyTagsException "TooManyTags"
- // You've reached the limit on the number of tags per load balancer.
- //
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags
- func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
- req, out := c.AddTagsRequest(input)
- return out, req.Send()
- }
- // AddTagsWithContext is the same as AddTags with the addition of
- // the ability to pass a context and additional request options.
- //
- // See AddTags for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
- req, out := c.AddTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateListener = "CreateListener"
- // CreateListenerRequest generates a "aws/request.Request" representing the
- // client's request for the CreateListener operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateListener for more information on using the CreateListener
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateListenerRequest method.
- // req, resp := client.CreateListenerRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
- func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) {
- op := &request.Operation{
- Name: opCreateListener,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateListenerInput{}
- }
- output = &CreateListenerOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateListener API operation for Elastic Load Balancing.
- //
- // Creates a listener for the specified Application Load Balancer or Network
- // Load Balancer.
- //
- // To update a listener, use ModifyListener. When you are finished with a listener,
- // you can delete it using DeleteListener. If you are finished with both the
- // listener and the load balancer, you can delete them both using DeleteLoadBalancer.
- //
- // This operation is idempotent, which means that it completes at most one time.
- // If you attempt to create multiple listeners with the same settings, each
- // call succeeds.
- //
- // For more information, see Listeners for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
- // in the Application Load Balancers Guide and Listeners for Your Network Load
- // Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation CreateListener for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeDuplicateListenerException "DuplicateListener"
- // A listener with the specified port already exists.
- //
- // * ErrCodeTooManyListenersException "TooManyListeners"
- // You've reached the limit on the number of listeners per load balancer.
- //
- // * ErrCodeTooManyCertificatesException "TooManyCertificates"
- // You've reached the limit on the number of certificates per load balancer.
- //
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
- // You've reached the limit on the number of load balancers per target group.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
- // The specified configuration is not valid with this protocol.
- //
- // * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
- // The specified SSL policy does not exist.
- //
- // * ErrCodeCertificateNotFoundException "CertificateNotFound"
- // The specified certificate does not exist.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
- // You've reached the limit on the number of times a target can be registered
- // with a load balancer.
- //
- // * ErrCodeTooManyTargetsException "TooManyTargets"
- // You've reached the limit on the number of targets.
- //
- // * ErrCodeTooManyActionsException "TooManyActions"
- // You've reached the limit on the number of actions per rule.
- //
- // * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
- // The requested action is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
- func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
- req, out := c.CreateListenerRequest(input)
- return out, req.Send()
- }
- // CreateListenerWithContext is the same as CreateListener with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateListener for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) {
- req, out := c.CreateListenerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateLoadBalancer = "CreateLoadBalancer"
- // CreateLoadBalancerRequest generates a "aws/request.Request" representing the
- // client's request for the CreateLoadBalancer operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateLoadBalancer for more information on using the CreateLoadBalancer
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateLoadBalancerRequest method.
- // req, resp := client.CreateLoadBalancerRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer
- func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
- op := &request.Operation{
- Name: opCreateLoadBalancer,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateLoadBalancerInput{}
- }
- output = &CreateLoadBalancerOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateLoadBalancer API operation for Elastic Load Balancing.
- //
- // Creates an Application Load Balancer or a Network Load Balancer.
- //
- // When you create a load balancer, you can specify security groups, public
- // subnets, IP address type, and tags. Otherwise, you could do so later using
- // SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
- //
- // To create listeners for your load balancer, use CreateListener. To describe
- // your current load balancers, see DescribeLoadBalancers. When you are finished
- // with a load balancer, you can delete it using DeleteLoadBalancer.
- //
- // For limit information, see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
- // in the Application Load Balancers Guide and Limits for Your Network Load
- // Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
- // in the Network Load Balancers Guide.
- //
- // This operation is idempotent, which means that it completes at most one time.
- // If you attempt to create multiple load balancers with the same settings,
- // each call succeeds.
- //
- // For more information, see Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html)
- // in the Application Load Balancers Guide and Network Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation CreateLoadBalancer for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeDuplicateLoadBalancerNameException "DuplicateLoadBalancerName"
- // A load balancer with the specified name already exists.
- //
- // * ErrCodeTooManyLoadBalancersException "TooManyLoadBalancers"
- // You've reached the limit on the number of load balancers for your AWS account.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeSubnetNotFoundException "SubnetNotFound"
- // The specified subnet does not exist.
- //
- // * ErrCodeInvalidSubnetException "InvalidSubnet"
- // The specified subnet is out of available addresses.
- //
- // * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup"
- // The specified security group does not exist.
- //
- // * ErrCodeInvalidSchemeException "InvalidScheme"
- // The requested scheme is not valid.
- //
- // * ErrCodeTooManyTagsException "TooManyTags"
- // You've reached the limit on the number of tags per load balancer.
- //
- // * ErrCodeDuplicateTagKeysException "DuplicateTagKeys"
- // A tag key was specified more than once.
- //
- // * ErrCodeResourceInUseException "ResourceInUse"
- // A specified resource is in use.
- //
- // * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound"
- // The specified allocation ID does not exist.
- //
- // * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported"
- // The specified Availability Zone is not supported.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer
- func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
- req, out := c.CreateLoadBalancerRequest(input)
- return out, req.Send()
- }
- // CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateLoadBalancer for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
- req, out := c.CreateLoadBalancerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateRule = "CreateRule"
- // CreateRuleRequest generates a "aws/request.Request" representing the
- // client's request for the CreateRule operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateRule for more information on using the CreateRule
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateRuleRequest method.
- // req, resp := client.CreateRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
- func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
- op := &request.Operation{
- Name: opCreateRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateRuleInput{}
- }
- output = &CreateRuleOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateRule API operation for Elastic Load Balancing.
- //
- // Creates a rule for the specified listener. The listener must be associated
- // with an Application Load Balancer.
- //
- // Rules are evaluated in priority order, from the lowest value to the highest
- // value. When the conditions for a rule are met, its actions are performed.
- // If the conditions for no rules are met, the actions for the default rule
- // are performed. For more information, see Listener Rules (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules)
- // in the Application Load Balancers Guide.
- //
- // To view your current rules, use DescribeRules. To update a rule, use ModifyRule.
- // To set the priorities of your rules, use SetRulePriorities. To delete a rule,
- // use DeleteRule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation CreateRule for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodePriorityInUseException "PriorityInUse"
- // The specified priority is in use.
- //
- // * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups"
- // You've reached the limit on the number of target groups for your AWS account.
- //
- // * ErrCodeTooManyRulesException "TooManyRules"
- // You've reached the limit on the number of rules per load balancer.
- //
- // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
- // You've reached the limit on the number of load balancers per target group.
- //
- // * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
- // The specified configuration is not valid with this protocol.
- //
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
- // You've reached the limit on the number of times a target can be registered
- // with a load balancer.
- //
- // * ErrCodeTooManyTargetsException "TooManyTargets"
- // You've reached the limit on the number of targets.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // * ErrCodeTooManyActionsException "TooManyActions"
- // You've reached the limit on the number of actions per rule.
- //
- // * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
- // The requested action is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
- func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
- req, out := c.CreateRuleRequest(input)
- return out, req.Send()
- }
- // CreateRuleWithContext is the same as CreateRule with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateRule for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) {
- req, out := c.CreateRuleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateTargetGroup = "CreateTargetGroup"
- // CreateTargetGroupRequest generates a "aws/request.Request" representing the
- // client's request for the CreateTargetGroup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateTargetGroup for more information on using the CreateTargetGroup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateTargetGroupRequest method.
- // req, resp := client.CreateTargetGroupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
- func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) {
- op := &request.Operation{
- Name: opCreateTargetGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateTargetGroupInput{}
- }
- output = &CreateTargetGroupOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateTargetGroup API operation for Elastic Load Balancing.
- //
- // Creates a target group.
- //
- // To register targets with the target group, use RegisterTargets. To update
- // the health check settings for the target group, use ModifyTargetGroup. To
- // monitor the health of targets in the target group, use DescribeTargetHealth.
- //
- // To route traffic to the targets in a target group, specify the target group
- // in an action using CreateListener or CreateRule.
- //
- // To delete a target group, use DeleteTargetGroup.
- //
- // This operation is idempotent, which means that it completes at most one time.
- // If you attempt to create multiple target groups with the same settings, each
- // call succeeds.
- //
- // For more information, see Target Groups for Your Application Load Balancers
- // (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
- // in the Application Load Balancers Guide or Target Groups for Your Network
- // Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation CreateTargetGroup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeDuplicateTargetGroupNameException "DuplicateTargetGroupName"
- // A target group with the specified name already exists.
- //
- // * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups"
- // You've reached the limit on the number of target groups for your AWS account.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
- func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
- req, out := c.CreateTargetGroupRequest(input)
- return out, req.Send()
- }
- // CreateTargetGroupWithContext is the same as CreateTargetGroup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateTargetGroup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) CreateTargetGroupWithContext(ctx aws.Context, input *CreateTargetGroupInput, opts ...request.Option) (*CreateTargetGroupOutput, error) {
- req, out := c.CreateTargetGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteListener = "DeleteListener"
- // DeleteListenerRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteListener operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteListener for more information on using the DeleteListener
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteListenerRequest method.
- // req, resp := client.DeleteListenerRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener
- func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) {
- op := &request.Operation{
- Name: opDeleteListener,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteListenerInput{}
- }
- output = &DeleteListenerOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteListener API operation for Elastic Load Balancing.
- //
- // Deletes the specified listener.
- //
- // Alternatively, your listener is deleted when you delete the load balancer
- // to which it is attached, using DeleteLoadBalancer.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DeleteListener for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener
- func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) {
- req, out := c.DeleteListenerRequest(input)
- return out, req.Send()
- }
- // DeleteListenerWithContext is the same as DeleteListener with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteListener for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) {
- req, out := c.DeleteListenerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteLoadBalancer = "DeleteLoadBalancer"
- // DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteLoadBalancer operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteLoadBalancerRequest method.
- // req, resp := client.DeleteLoadBalancerRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer
- func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
- op := &request.Operation{
- Name: opDeleteLoadBalancer,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteLoadBalancerInput{}
- }
- output = &DeleteLoadBalancerOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteLoadBalancer API operation for Elastic Load Balancing.
- //
- // Deletes the specified Application Load Balancer or Network Load Balancer
- // and its attached listeners.
- //
- // You can't delete a load balancer if deletion protection is enabled. If the
- // load balancer does not exist or has already been deleted, the call succeeds.
- //
- // Deleting a load balancer does not affect its registered targets. For example,
- // your EC2 instances continue to run and are still registered to their target
- // groups. If you no longer need these EC2 instances, you can stop or terminate
- // them.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DeleteLoadBalancer for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // * ErrCodeResourceInUseException "ResourceInUse"
- // A specified resource is in use.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer
- func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
- req, out := c.DeleteLoadBalancerRequest(input)
- return out, req.Send()
- }
- // DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteLoadBalancer for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
- req, out := c.DeleteLoadBalancerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteRule = "DeleteRule"
- // DeleteRuleRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteRule operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteRule for more information on using the DeleteRule
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteRuleRequest method.
- // req, resp := client.DeleteRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule
- func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
- op := &request.Operation{
- Name: opDeleteRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteRuleInput{}
- }
- output = &DeleteRuleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteRule API operation for Elastic Load Balancing.
- //
- // Deletes the specified rule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DeleteRule for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule
- func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
- req, out := c.DeleteRuleRequest(input)
- return out, req.Send()
- }
- // DeleteRuleWithContext is the same as DeleteRule with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteRule for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) {
- req, out := c.DeleteRuleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteTargetGroup = "DeleteTargetGroup"
- // DeleteTargetGroupRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteTargetGroup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteTargetGroup for more information on using the DeleteTargetGroup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteTargetGroupRequest method.
- // req, resp := client.DeleteTargetGroupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup
- func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) {
- op := &request.Operation{
- Name: opDeleteTargetGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteTargetGroupInput{}
- }
- output = &DeleteTargetGroupOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteTargetGroup API operation for Elastic Load Balancing.
- //
- // Deletes the specified target group.
- //
- // You can delete a target group if it is not referenced by any actions. Deleting
- // a target group also deletes any associated health checks.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DeleteTargetGroup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceInUseException "ResourceInUse"
- // A specified resource is in use.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup
- func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) {
- req, out := c.DeleteTargetGroupRequest(input)
- return out, req.Send()
- }
- // DeleteTargetGroupWithContext is the same as DeleteTargetGroup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteTargetGroup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DeleteTargetGroupWithContext(ctx aws.Context, input *DeleteTargetGroupInput, opts ...request.Option) (*DeleteTargetGroupOutput, error) {
- req, out := c.DeleteTargetGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeregisterTargets = "DeregisterTargets"
- // DeregisterTargetsRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterTargets operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeregisterTargets for more information on using the DeregisterTargets
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeregisterTargetsRequest method.
- // req, resp := client.DeregisterTargetsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets
- func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) {
- op := &request.Operation{
- Name: opDeregisterTargets,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterTargetsInput{}
- }
- output = &DeregisterTargetsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeregisterTargets API operation for Elastic Load Balancing.
- //
- // Deregisters the specified targets from the specified target group. After
- // the targets are deregistered, they no longer receive traffic from the load
- // balancer.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DeregisterTargets for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeInvalidTargetException "InvalidTarget"
- // The specified target does not exist, is not in the same VPC as the target
- // group, or has an unsupported instance type.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets
- func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) {
- req, out := c.DeregisterTargetsRequest(input)
- return out, req.Send()
- }
- // DeregisterTargetsWithContext is the same as DeregisterTargets with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeregisterTargets for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DeregisterTargetsWithContext(ctx aws.Context, input *DeregisterTargetsInput, opts ...request.Option) (*DeregisterTargetsOutput, error) {
- req, out := c.DeregisterTargetsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeAccountLimits = "DescribeAccountLimits"
- // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeAccountLimits operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeAccountLimits for more information on using the DescribeAccountLimits
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeAccountLimitsRequest method.
- // req, resp := client.DescribeAccountLimitsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits
- func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) {
- op := &request.Operation{
- Name: opDescribeAccountLimits,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeAccountLimitsInput{}
- }
- output = &DescribeAccountLimitsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeAccountLimits API operation for Elastic Load Balancing.
- //
- // Describes the current Elastic Load Balancing resource limits for your AWS
- // account.
- //
- // For more information, see Limits for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
- // in the Application Load Balancer Guide or Limits for Your Network Load Balancers
- // (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeAccountLimits for usage and error information.
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits
- func (c *ELBV2) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) {
- req, out := c.DescribeAccountLimitsRequest(input)
- return out, req.Send()
- }
- // DescribeAccountLimitsWithContext is the same as DescribeAccountLimits with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeAccountLimits for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeAccountLimitsWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, opts ...request.Option) (*DescribeAccountLimitsOutput, error) {
- req, out := c.DescribeAccountLimitsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeListenerCertificates = "DescribeListenerCertificates"
- // DescribeListenerCertificatesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeListenerCertificates operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeListenerCertificates for more information on using the DescribeListenerCertificates
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeListenerCertificatesRequest method.
- // req, resp := client.DescribeListenerCertificatesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates
- func (c *ELBV2) DescribeListenerCertificatesRequest(input *DescribeListenerCertificatesInput) (req *request.Request, output *DescribeListenerCertificatesOutput) {
- op := &request.Operation{
- Name: opDescribeListenerCertificates,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeListenerCertificatesInput{}
- }
- output = &DescribeListenerCertificatesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeListenerCertificates API operation for Elastic Load Balancing.
- //
- // Describes the certificates for the specified secure listener.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeListenerCertificates for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates
- func (c *ELBV2) DescribeListenerCertificates(input *DescribeListenerCertificatesInput) (*DescribeListenerCertificatesOutput, error) {
- req, out := c.DescribeListenerCertificatesRequest(input)
- return out, req.Send()
- }
- // DescribeListenerCertificatesWithContext is the same as DescribeListenerCertificates with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeListenerCertificates for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeListenerCertificatesWithContext(ctx aws.Context, input *DescribeListenerCertificatesInput, opts ...request.Option) (*DescribeListenerCertificatesOutput, error) {
- req, out := c.DescribeListenerCertificatesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeListeners = "DescribeListeners"
- // DescribeListenersRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeListeners operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeListeners for more information on using the DescribeListeners
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeListenersRequest method.
- // req, resp := client.DescribeListenersRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners
- func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *request.Request, output *DescribeListenersOutput) {
- op := &request.Operation{
- Name: opDescribeListeners,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"NextMarker"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &DescribeListenersInput{}
- }
- output = &DescribeListenersOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeListeners API operation for Elastic Load Balancing.
- //
- // Describes the specified listeners or the listeners for the specified Application
- // Load Balancer or Network Load Balancer. You must specify either a load balancer
- // or one or more listeners.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeListeners for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners
- func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) {
- req, out := c.DescribeListenersRequest(input)
- return out, req.Send()
- }
- // DescribeListenersWithContext is the same as DescribeListeners with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeListeners for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeListenersWithContext(ctx aws.Context, input *DescribeListenersInput, opts ...request.Option) (*DescribeListenersOutput, error) {
- req, out := c.DescribeListenersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // DescribeListenersPages iterates over the pages of a DescribeListeners operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See DescribeListeners method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a DescribeListeners operation.
- // pageNum := 0
- // err := client.DescribeListenersPages(params,
- // func(page *DescribeListenersOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ELBV2) DescribeListenersPages(input *DescribeListenersInput, fn func(*DescribeListenersOutput, bool) bool) error {
- return c.DescribeListenersPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // DescribeListenersPagesWithContext same as DescribeListenersPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeListenersPagesWithContext(ctx aws.Context, input *DescribeListenersInput, fn func(*DescribeListenersOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeListenersInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeListenersRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*DescribeListenersOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes"
- // DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeLoadBalancerAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeLoadBalancerAttributes for more information on using the DescribeLoadBalancerAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeLoadBalancerAttributesRequest method.
- // req, resp := client.DescribeLoadBalancerAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes
- func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) {
- op := &request.Operation{
- Name: opDescribeLoadBalancerAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeLoadBalancerAttributesInput{}
- }
- output = &DescribeLoadBalancerAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeLoadBalancerAttributes API operation for Elastic Load Balancing.
- //
- // Describes the attributes for the specified Application Load Balancer or Network
- // Load Balancer.
- //
- // For more information, see Load Balancer Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes)
- // in the Application Load Balancers Guide or Load Balancer Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeLoadBalancerAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes
- func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) {
- req, out := c.DescribeLoadBalancerAttributesRequest(input)
- return out, req.Send()
- }
- // DescribeLoadBalancerAttributesWithContext is the same as DescribeLoadBalancerAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeLoadBalancerAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeLoadBalancerAttributesWithContext(ctx aws.Context, input *DescribeLoadBalancerAttributesInput, opts ...request.Option) (*DescribeLoadBalancerAttributesOutput, error) {
- req, out := c.DescribeLoadBalancerAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeLoadBalancers = "DescribeLoadBalancers"
- // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeLoadBalancers operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeLoadBalancers for more information on using the DescribeLoadBalancers
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeLoadBalancersRequest method.
- // req, resp := client.DescribeLoadBalancersRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers
- func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) {
- op := &request.Operation{
- Name: opDescribeLoadBalancers,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"NextMarker"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &DescribeLoadBalancersInput{}
- }
- output = &DescribeLoadBalancersOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeLoadBalancers API operation for Elastic Load Balancing.
- //
- // Describes the specified load balancers or all of your load balancers.
- //
- // To describe the listeners for a load balancer, use DescribeListeners. To
- // describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeLoadBalancers for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers
- func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) {
- req, out := c.DescribeLoadBalancersRequest(input)
- return out, req.Send()
- }
- // DescribeLoadBalancersWithContext is the same as DescribeLoadBalancers with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeLoadBalancers for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeLoadBalancersWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, opts ...request.Option) (*DescribeLoadBalancersOutput, error) {
- req, out := c.DescribeLoadBalancersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See DescribeLoadBalancers method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a DescribeLoadBalancers operation.
- // pageNum := 0
- // err := client.DescribeLoadBalancersPages(params,
- // func(page *DescribeLoadBalancersOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ELBV2) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(*DescribeLoadBalancersOutput, bool) bool) error {
- return c.DescribeLoadBalancersPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // DescribeLoadBalancersPagesWithContext same as DescribeLoadBalancersPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeLoadBalancersPagesWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, fn func(*DescribeLoadBalancersOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeLoadBalancersInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeLoadBalancersRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*DescribeLoadBalancersOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opDescribeRules = "DescribeRules"
- // DescribeRulesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeRules operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeRules for more information on using the DescribeRules
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeRulesRequest method.
- // req, resp := client.DescribeRulesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules
- func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) {
- op := &request.Operation{
- Name: opDescribeRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeRulesInput{}
- }
- output = &DescribeRulesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeRules API operation for Elastic Load Balancing.
- //
- // Describes the specified rules or the rules for the specified listener. You
- // must specify either a listener or one or more rules.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeRules for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules
- func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) {
- req, out := c.DescribeRulesRequest(input)
- return out, req.Send()
- }
- // DescribeRulesWithContext is the same as DescribeRules with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeRules for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeRulesWithContext(ctx aws.Context, input *DescribeRulesInput, opts ...request.Option) (*DescribeRulesOutput, error) {
- req, out := c.DescribeRulesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeSSLPolicies = "DescribeSSLPolicies"
- // DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeSSLPolicies operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeSSLPolicies for more information on using the DescribeSSLPolicies
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeSSLPoliciesRequest method.
- // req, resp := client.DescribeSSLPoliciesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies
- func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) {
- op := &request.Operation{
- Name: opDescribeSSLPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeSSLPoliciesInput{}
- }
- output = &DescribeSSLPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeSSLPolicies API operation for Elastic Load Balancing.
- //
- // Describes the specified policies or all policies used for SSL negotiation.
- //
- // For more information, see Security Policies (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
- // in the Application Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeSSLPolicies for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
- // The specified SSL policy does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies
- func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) {
- req, out := c.DescribeSSLPoliciesRequest(input)
- return out, req.Send()
- }
- // DescribeSSLPoliciesWithContext is the same as DescribeSSLPolicies with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeSSLPolicies for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeSSLPoliciesWithContext(ctx aws.Context, input *DescribeSSLPoliciesInput, opts ...request.Option) (*DescribeSSLPoliciesOutput, error) {
- req, out := c.DescribeSSLPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTags = "DescribeTags"
- // DescribeTagsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTags operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTags for more information on using the DescribeTags
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTagsRequest method.
- // req, resp := client.DescribeTagsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags
- func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
- op := &request.Operation{
- Name: opDescribeTags,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTagsInput{}
- }
- output = &DescribeTagsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTags API operation for Elastic Load Balancing.
- //
- // Describes the tags for the specified resources. You can describe the tags
- // for one or more Application Load Balancers, Network Load Balancers, and target
- // groups.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeTags for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags
- func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
- req, out := c.DescribeTagsRequest(input)
- return out, req.Send()
- }
- // DescribeTagsWithContext is the same as DescribeTags with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTags for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
- req, out := c.DescribeTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes"
- // DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTargetGroupAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTargetGroupAttributes for more information on using the DescribeTargetGroupAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTargetGroupAttributesRequest method.
- // req, resp := client.DescribeTargetGroupAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes
- func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) {
- op := &request.Operation{
- Name: opDescribeTargetGroupAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTargetGroupAttributesInput{}
- }
- output = &DescribeTargetGroupAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTargetGroupAttributes API operation for Elastic Load Balancing.
- //
- // Describes the attributes for the specified target group.
- //
- // For more information, see Target Group Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes)
- // in the Application Load Balancers Guide or Target Group Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes)
- // in the Network Load Balancers Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeTargetGroupAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes
- func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) {
- req, out := c.DescribeTargetGroupAttributesRequest(input)
- return out, req.Send()
- }
- // DescribeTargetGroupAttributesWithContext is the same as DescribeTargetGroupAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTargetGroupAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeTargetGroupAttributesWithContext(ctx aws.Context, input *DescribeTargetGroupAttributesInput, opts ...request.Option) (*DescribeTargetGroupAttributesOutput, error) {
- req, out := c.DescribeTargetGroupAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTargetGroups = "DescribeTargetGroups"
- // DescribeTargetGroupsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTargetGroups operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTargetGroups for more information on using the DescribeTargetGroups
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTargetGroupsRequest method.
- // req, resp := client.DescribeTargetGroupsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups
- func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (req *request.Request, output *DescribeTargetGroupsOutput) {
- op := &request.Operation{
- Name: opDescribeTargetGroups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"NextMarker"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &DescribeTargetGroupsInput{}
- }
- output = &DescribeTargetGroupsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTargetGroups API operation for Elastic Load Balancing.
- //
- // Describes the specified target groups or all of your target groups. By default,
- // all target groups are described. Alternatively, you can specify one of the
- // following to filter the results: the ARN of the load balancer, the names
- // of one or more target groups, or the ARNs of one or more target groups.
- //
- // To describe the targets for a target group, use DescribeTargetHealth. To
- // describe the attributes of a target group, use DescribeTargetGroupAttributes.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeTargetGroups for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups
- func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) {
- req, out := c.DescribeTargetGroupsRequest(input)
- return out, req.Send()
- }
- // DescribeTargetGroupsWithContext is the same as DescribeTargetGroups with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTargetGroups for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeTargetGroupsWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, opts ...request.Option) (*DescribeTargetGroupsOutput, error) {
- req, out := c.DescribeTargetGroupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // DescribeTargetGroupsPages iterates over the pages of a DescribeTargetGroups operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See DescribeTargetGroups method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a DescribeTargetGroups operation.
- // pageNum := 0
- // err := client.DescribeTargetGroupsPages(params,
- // func(page *DescribeTargetGroupsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ELBV2) DescribeTargetGroupsPages(input *DescribeTargetGroupsInput, fn func(*DescribeTargetGroupsOutput, bool) bool) error {
- return c.DescribeTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // DescribeTargetGroupsPagesWithContext same as DescribeTargetGroupsPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, fn func(*DescribeTargetGroupsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeTargetGroupsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeTargetGroupsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*DescribeTargetGroupsOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opDescribeTargetHealth = "DescribeTargetHealth"
- // DescribeTargetHealthRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTargetHealth operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTargetHealth for more information on using the DescribeTargetHealth
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTargetHealthRequest method.
- // req, resp := client.DescribeTargetHealthRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth
- func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) {
- op := &request.Operation{
- Name: opDescribeTargetHealth,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTargetHealthInput{}
- }
- output = &DescribeTargetHealthOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTargetHealth API operation for Elastic Load Balancing.
- //
- // Describes the health of the specified targets or all of your targets.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation DescribeTargetHealth for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInvalidTargetException "InvalidTarget"
- // The specified target does not exist, is not in the same VPC as the target
- // group, or has an unsupported instance type.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeHealthUnavailableException "HealthUnavailable"
- // The health of the specified targets could not be retrieved due to an internal
- // error.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth
- func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) {
- req, out := c.DescribeTargetHealthRequest(input)
- return out, req.Send()
- }
- // DescribeTargetHealthWithContext is the same as DescribeTargetHealth with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTargetHealth for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) DescribeTargetHealthWithContext(ctx aws.Context, input *DescribeTargetHealthInput, opts ...request.Option) (*DescribeTargetHealthOutput, error) {
- req, out := c.DescribeTargetHealthRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opModifyListener = "ModifyListener"
- // ModifyListenerRequest generates a "aws/request.Request" representing the
- // client's request for the ModifyListener operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ModifyListener for more information on using the ModifyListener
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ModifyListenerRequest method.
- // req, resp := client.ModifyListenerRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
- func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) {
- op := &request.Operation{
- Name: opModifyListener,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ModifyListenerInput{}
- }
- output = &ModifyListenerOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ModifyListener API operation for Elastic Load Balancing.
- //
- // Modifies the specified properties of the specified listener.
- //
- // Any properties that you do not specify retain their current values. However,
- // changing the protocol from HTTPS to HTTP removes the security policy and
- // SSL certificate properties. If you change the protocol from HTTP to HTTPS,
- // you must add the security policy and server certificate.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation ModifyListener for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeDuplicateListenerException "DuplicateListener"
- // A listener with the specified port already exists.
- //
- // * ErrCodeTooManyListenersException "TooManyListeners"
- // You've reached the limit on the number of listeners per load balancer.
- //
- // * ErrCodeTooManyCertificatesException "TooManyCertificates"
- // You've reached the limit on the number of certificates per load balancer.
- //
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
- // You've reached the limit on the number of load balancers per target group.
- //
- // * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
- // The specified configuration is not valid with this protocol.
- //
- // * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
- // The specified SSL policy does not exist.
- //
- // * ErrCodeCertificateNotFoundException "CertificateNotFound"
- // The specified certificate does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
- // You've reached the limit on the number of times a target can be registered
- // with a load balancer.
- //
- // * ErrCodeTooManyTargetsException "TooManyTargets"
- // You've reached the limit on the number of targets.
- //
- // * ErrCodeTooManyActionsException "TooManyActions"
- // You've reached the limit on the number of actions per rule.
- //
- // * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
- // The requested action is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
- func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
- req, out := c.ModifyListenerRequest(input)
- return out, req.Send()
- }
- // ModifyListenerWithContext is the same as ModifyListener with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ModifyListener for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) ModifyListenerWithContext(ctx aws.Context, input *ModifyListenerInput, opts ...request.Option) (*ModifyListenerOutput, error) {
- req, out := c.ModifyListenerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes"
- // ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the ModifyLoadBalancerAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ModifyLoadBalancerAttributes for more information on using the ModifyLoadBalancerAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ModifyLoadBalancerAttributesRequest method.
- // req, resp := client.ModifyLoadBalancerAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes
- func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) {
- op := &request.Operation{
- Name: opModifyLoadBalancerAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ModifyLoadBalancerAttributesInput{}
- }
- output = &ModifyLoadBalancerAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ModifyLoadBalancerAttributes API operation for Elastic Load Balancing.
- //
- // Modifies the specified attributes of the specified Application Load Balancer
- // or Network Load Balancer.
- //
- // If any of the specified attributes can't be modified as requested, the call
- // fails. Any existing attributes that you do not modify retain their current
- // values.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation ModifyLoadBalancerAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes
- func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) {
- req, out := c.ModifyLoadBalancerAttributesRequest(input)
- return out, req.Send()
- }
- // ModifyLoadBalancerAttributesWithContext is the same as ModifyLoadBalancerAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ModifyLoadBalancerAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) ModifyLoadBalancerAttributesWithContext(ctx aws.Context, input *ModifyLoadBalancerAttributesInput, opts ...request.Option) (*ModifyLoadBalancerAttributesOutput, error) {
- req, out := c.ModifyLoadBalancerAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opModifyRule = "ModifyRule"
- // ModifyRuleRequest generates a "aws/request.Request" representing the
- // client's request for the ModifyRule operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ModifyRule for more information on using the ModifyRule
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ModifyRuleRequest method.
- // req, resp := client.ModifyRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule
- func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) {
- op := &request.Operation{
- Name: opModifyRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ModifyRuleInput{}
- }
- output = &ModifyRuleOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ModifyRule API operation for Elastic Load Balancing.
- //
- // Modifies the specified rule.
- //
- // Any existing properties that you do not modify retain their current values.
- //
- // To modify the actions for the default rule, use ModifyListener.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation ModifyRule for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
- // You've reached the limit on the number of load balancers per target group.
- //
- // * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
- // The specified configuration is not valid with this protocol.
- //
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
- // You've reached the limit on the number of times a target can be registered
- // with a load balancer.
- //
- // * ErrCodeTooManyTargetsException "TooManyTargets"
- // You've reached the limit on the number of targets.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
- // The specified protocol is not supported.
- //
- // * ErrCodeTooManyActionsException "TooManyActions"
- // You've reached the limit on the number of actions per rule.
- //
- // * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
- // The requested action is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule
- func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) {
- req, out := c.ModifyRuleRequest(input)
- return out, req.Send()
- }
- // ModifyRuleWithContext is the same as ModifyRule with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ModifyRule for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) ModifyRuleWithContext(ctx aws.Context, input *ModifyRuleInput, opts ...request.Option) (*ModifyRuleOutput, error) {
- req, out := c.ModifyRuleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opModifyTargetGroup = "ModifyTargetGroup"
- // ModifyTargetGroupRequest generates a "aws/request.Request" representing the
- // client's request for the ModifyTargetGroup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ModifyTargetGroup for more information on using the ModifyTargetGroup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ModifyTargetGroupRequest method.
- // req, resp := client.ModifyTargetGroupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup
- func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) {
- op := &request.Operation{
- Name: opModifyTargetGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ModifyTargetGroupInput{}
- }
- output = &ModifyTargetGroupOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ModifyTargetGroup API operation for Elastic Load Balancing.
- //
- // Modifies the health checks used when evaluating the health state of the targets
- // in the specified target group.
- //
- // To monitor the health of the targets, use DescribeTargetHealth.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation ModifyTargetGroup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup
- func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) {
- req, out := c.ModifyTargetGroupRequest(input)
- return out, req.Send()
- }
- // ModifyTargetGroupWithContext is the same as ModifyTargetGroup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ModifyTargetGroup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) ModifyTargetGroupWithContext(ctx aws.Context, input *ModifyTargetGroupInput, opts ...request.Option) (*ModifyTargetGroupOutput, error) {
- req, out := c.ModifyTargetGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes"
- // ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the ModifyTargetGroupAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ModifyTargetGroupAttributes for more information on using the ModifyTargetGroupAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ModifyTargetGroupAttributesRequest method.
- // req, resp := client.ModifyTargetGroupAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes
- func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) {
- op := &request.Operation{
- Name: opModifyTargetGroupAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ModifyTargetGroupAttributesInput{}
- }
- output = &ModifyTargetGroupAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ModifyTargetGroupAttributes API operation for Elastic Load Balancing.
- //
- // Modifies the specified attributes of the specified target group.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation ModifyTargetGroupAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes
- func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) {
- req, out := c.ModifyTargetGroupAttributesRequest(input)
- return out, req.Send()
- }
- // ModifyTargetGroupAttributesWithContext is the same as ModifyTargetGroupAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ModifyTargetGroupAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) ModifyTargetGroupAttributesWithContext(ctx aws.Context, input *ModifyTargetGroupAttributesInput, opts ...request.Option) (*ModifyTargetGroupAttributesOutput, error) {
- req, out := c.ModifyTargetGroupAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRegisterTargets = "RegisterTargets"
- // RegisterTargetsRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterTargets operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RegisterTargets for more information on using the RegisterTargets
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RegisterTargetsRequest method.
- // req, resp := client.RegisterTargetsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets
- func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) {
- op := &request.Operation{
- Name: opRegisterTargets,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterTargetsInput{}
- }
- output = &RegisterTargetsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // RegisterTargets API operation for Elastic Load Balancing.
- //
- // Registers the specified targets with the specified target group.
- //
- // If the target is an EC2 instance, it must be in the running state when you
- // register it.
- //
- // By default, the load balancer routes requests to registered targets using
- // the protocol and port for the target group. Alternatively, you can override
- // the port for a target when you register it. You can register each EC2 instance
- // or IP address with the same target group multiple times using different ports.
- //
- // With a Network Load Balancer, you cannot register instances by instance ID
- // if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1,
- // G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these
- // types by IP address.
- //
- // To remove a target from a target group, use DeregisterTargets.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation RegisterTargets for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeTooManyTargetsException "TooManyTargets"
- // You've reached the limit on the number of targets.
- //
- // * ErrCodeInvalidTargetException "InvalidTarget"
- // The specified target does not exist, is not in the same VPC as the target
- // group, or has an unsupported instance type.
- //
- // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
- // You've reached the limit on the number of times a target can be registered
- // with a load balancer.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets
- func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) {
- req, out := c.RegisterTargetsRequest(input)
- return out, req.Send()
- }
- // RegisterTargetsWithContext is the same as RegisterTargets with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RegisterTargets for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) RegisterTargetsWithContext(ctx aws.Context, input *RegisterTargetsInput, opts ...request.Option) (*RegisterTargetsOutput, error) {
- req, out := c.RegisterTargetsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRemoveListenerCertificates = "RemoveListenerCertificates"
- // RemoveListenerCertificatesRequest generates a "aws/request.Request" representing the
- // client's request for the RemoveListenerCertificates operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RemoveListenerCertificates for more information on using the RemoveListenerCertificates
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RemoveListenerCertificatesRequest method.
- // req, resp := client.RemoveListenerCertificatesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates
- func (c *ELBV2) RemoveListenerCertificatesRequest(input *RemoveListenerCertificatesInput) (req *request.Request, output *RemoveListenerCertificatesOutput) {
- op := &request.Operation{
- Name: opRemoveListenerCertificates,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RemoveListenerCertificatesInput{}
- }
- output = &RemoveListenerCertificatesOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // RemoveListenerCertificates API operation for Elastic Load Balancing.
- //
- // Removes the specified certificate from the specified secure listener.
- //
- // You can't remove the default certificate for a listener. To replace the default
- // certificate, call ModifyListener.
- //
- // To list the certificates for your listener, use DescribeListenerCertificates.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation RemoveListenerCertificates for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates
- func (c *ELBV2) RemoveListenerCertificates(input *RemoveListenerCertificatesInput) (*RemoveListenerCertificatesOutput, error) {
- req, out := c.RemoveListenerCertificatesRequest(input)
- return out, req.Send()
- }
- // RemoveListenerCertificatesWithContext is the same as RemoveListenerCertificates with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RemoveListenerCertificates for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) RemoveListenerCertificatesWithContext(ctx aws.Context, input *RemoveListenerCertificatesInput, opts ...request.Option) (*RemoveListenerCertificatesOutput, error) {
- req, out := c.RemoveListenerCertificatesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRemoveTags = "RemoveTags"
- // RemoveTagsRequest generates a "aws/request.Request" representing the
- // client's request for the RemoveTags operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RemoveTags for more information on using the RemoveTags
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RemoveTagsRequest method.
- // req, resp := client.RemoveTagsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags
- func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
- op := &request.Operation{
- Name: opRemoveTags,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RemoveTagsInput{}
- }
- output = &RemoveTagsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // RemoveTags API operation for Elastic Load Balancing.
- //
- // Removes the specified tags from the specified Elastic Load Balancing resource.
- //
- // To list the current tags for your resources, use DescribeTags.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation RemoveTags for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
- // The specified target group does not exist.
- //
- // * ErrCodeListenerNotFoundException "ListenerNotFound"
- // The specified listener does not exist.
- //
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // * ErrCodeTooManyTagsException "TooManyTags"
- // You've reached the limit on the number of tags per load balancer.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags
- func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
- req, out := c.RemoveTagsRequest(input)
- return out, req.Send()
- }
- // RemoveTagsWithContext is the same as RemoveTags with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RemoveTags for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
- req, out := c.RemoveTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSetIpAddressType = "SetIpAddressType"
- // SetIpAddressTypeRequest generates a "aws/request.Request" representing the
- // client's request for the SetIpAddressType operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SetIpAddressType for more information on using the SetIpAddressType
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SetIpAddressTypeRequest method.
- // req, resp := client.SetIpAddressTypeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType
- func (c *ELBV2) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) {
- op := &request.Operation{
- Name: opSetIpAddressType,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetIpAddressTypeInput{}
- }
- output = &SetIpAddressTypeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SetIpAddressType API operation for Elastic Load Balancing.
- //
- // Sets the type of IP addresses used by the subnets of the specified Application
- // Load Balancer or Network Load Balancer.
- //
- // Network Load Balancers must use ipv4.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation SetIpAddressType for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeInvalidSubnetException "InvalidSubnet"
- // The specified subnet is out of available addresses.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType
- func (c *ELBV2) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) {
- req, out := c.SetIpAddressTypeRequest(input)
- return out, req.Send()
- }
- // SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SetIpAddressType for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) {
- req, out := c.SetIpAddressTypeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSetRulePriorities = "SetRulePriorities"
- // SetRulePrioritiesRequest generates a "aws/request.Request" representing the
- // client's request for the SetRulePriorities operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SetRulePriorities for more information on using the SetRulePriorities
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SetRulePrioritiesRequest method.
- // req, resp := client.SetRulePrioritiesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities
- func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) {
- op := &request.Operation{
- Name: opSetRulePriorities,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetRulePrioritiesInput{}
- }
- output = &SetRulePrioritiesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SetRulePriorities API operation for Elastic Load Balancing.
- //
- // Sets the priorities of the specified rules.
- //
- // You can reorder the rules as long as there are no priority conflicts in the
- // new order. Any existing rules that you do not specify retain their current
- // priority.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation SetRulePriorities for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeRuleNotFoundException "RuleNotFound"
- // The specified rule does not exist.
- //
- // * ErrCodePriorityInUseException "PriorityInUse"
- // The specified priority is in use.
- //
- // * ErrCodeOperationNotPermittedException "OperationNotPermitted"
- // This operation is not allowed.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities
- func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) {
- req, out := c.SetRulePrioritiesRequest(input)
- return out, req.Send()
- }
- // SetRulePrioritiesWithContext is the same as SetRulePriorities with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SetRulePriorities for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) SetRulePrioritiesWithContext(ctx aws.Context, input *SetRulePrioritiesInput, opts ...request.Option) (*SetRulePrioritiesOutput, error) {
- req, out := c.SetRulePrioritiesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSetSecurityGroups = "SetSecurityGroups"
- // SetSecurityGroupsRequest generates a "aws/request.Request" representing the
- // client's request for the SetSecurityGroups operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SetSecurityGroups for more information on using the SetSecurityGroups
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SetSecurityGroupsRequest method.
- // req, resp := client.SetSecurityGroupsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups
- func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) {
- op := &request.Operation{
- Name: opSetSecurityGroups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetSecurityGroupsInput{}
- }
- output = &SetSecurityGroupsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SetSecurityGroups API operation for Elastic Load Balancing.
- //
- // Associates the specified security groups with the specified Application Load
- // Balancer. The specified security groups override the previously associated
- // security groups.
- //
- // You can't specify a security group for a Network Load Balancer.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation SetSecurityGroups for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup"
- // The specified security group does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups
- func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) {
- req, out := c.SetSecurityGroupsRequest(input)
- return out, req.Send()
- }
- // SetSecurityGroupsWithContext is the same as SetSecurityGroups with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SetSecurityGroups for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) SetSecurityGroupsWithContext(ctx aws.Context, input *SetSecurityGroupsInput, opts ...request.Option) (*SetSecurityGroupsOutput, error) {
- req, out := c.SetSecurityGroupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSetSubnets = "SetSubnets"
- // SetSubnetsRequest generates a "aws/request.Request" representing the
- // client's request for the SetSubnets operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SetSubnets for more information on using the SetSubnets
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SetSubnetsRequest method.
- // req, resp := client.SetSubnetsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets
- func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) {
- op := &request.Operation{
- Name: opSetSubnets,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetSubnetsInput{}
- }
- output = &SetSubnetsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SetSubnets API operation for Elastic Load Balancing.
- //
- // Enables the Availability Zone for the specified public subnets for the specified
- // Application Load Balancer. The specified subnets replace the previously enabled
- // subnets.
- //
- // You can't change the subnets for a Network Load Balancer.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Elastic Load Balancing's
- // API operation SetSubnets for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
- // The specified load balancer does not exist.
- //
- // * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
- // The requested configuration is not valid.
- //
- // * ErrCodeSubnetNotFoundException "SubnetNotFound"
- // The specified subnet does not exist.
- //
- // * ErrCodeInvalidSubnetException "InvalidSubnet"
- // The specified subnet is out of available addresses.
- //
- // * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound"
- // The specified allocation ID does not exist.
- //
- // * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported"
- // The specified Availability Zone is not supported.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets
- func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) {
- req, out := c.SetSubnetsRequest(input)
- return out, req.Send()
- }
- // SetSubnetsWithContext is the same as SetSubnets with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SetSubnets for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, opts ...request.Option) (*SetSubnetsOutput, error) {
- req, out := c.SetSubnetsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // Information about an action.
- type Action struct {
- _ struct{} `type:"structure"`
- // [HTTPS listener] Information for using Amazon Cognito to authenticate users.
- // Specify only when Type is authenticate-cognito.
- AuthenticateCognitoConfig *AuthenticateCognitoActionConfig `type:"structure"`
- // [HTTPS listener] Information about an identity provider that is compliant
- // with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.
- AuthenticateOidcConfig *AuthenticateOidcActionConfig `type:"structure"`
- // [Application Load Balancer] Information for creating an action that returns
- // a custom HTTP response. Specify only when Type is fixed-response.
- FixedResponseConfig *FixedResponseActionConfig `type:"structure"`
- // The order for the action. This value is required for rules with multiple
- // actions. The action with the lowest value for order is performed first. The
- // final action to be performed must be a forward or a fixed-response action.
- Order *int64 `min:"1" type:"integer"`
- // [Application Load Balancer] Information for creating a redirect action. Specify
- // only when Type is redirect.
- RedirectConfig *RedirectActionConfig `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group. Specify only when Type
- // is forward.
- TargetGroupArn *string `type:"string"`
- // The type of action. Each rule must include exactly one of the following types
- // of actions: forward, fixed-response, or redirect.
- //
- // Type is a required field
- Type *string `type:"string" required:"true" enum:"ActionTypeEnum"`
- }
- // String returns the string representation
- func (s Action) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Action) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Action) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Action"}
- if s.Order != nil && *s.Order < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Order", 1))
- }
- if s.Type == nil {
- invalidParams.Add(request.NewErrParamRequired("Type"))
- }
- if s.AuthenticateCognitoConfig != nil {
- if err := s.AuthenticateCognitoConfig.Validate(); err != nil {
- invalidParams.AddNested("AuthenticateCognitoConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.AuthenticateOidcConfig != nil {
- if err := s.AuthenticateOidcConfig.Validate(); err != nil {
- invalidParams.AddNested("AuthenticateOidcConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.FixedResponseConfig != nil {
- if err := s.FixedResponseConfig.Validate(); err != nil {
- invalidParams.AddNested("FixedResponseConfig", err.(request.ErrInvalidParams))
- }
- }
- if s.RedirectConfig != nil {
- if err := s.RedirectConfig.Validate(); err != nil {
- invalidParams.AddNested("RedirectConfig", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAuthenticateCognitoConfig sets the AuthenticateCognitoConfig field's value.
- func (s *Action) SetAuthenticateCognitoConfig(v *AuthenticateCognitoActionConfig) *Action {
- s.AuthenticateCognitoConfig = v
- return s
- }
- // SetAuthenticateOidcConfig sets the AuthenticateOidcConfig field's value.
- func (s *Action) SetAuthenticateOidcConfig(v *AuthenticateOidcActionConfig) *Action {
- s.AuthenticateOidcConfig = v
- return s
- }
- // SetFixedResponseConfig sets the FixedResponseConfig field's value.
- func (s *Action) SetFixedResponseConfig(v *FixedResponseActionConfig) *Action {
- s.FixedResponseConfig = v
- return s
- }
- // SetOrder sets the Order field's value.
- func (s *Action) SetOrder(v int64) *Action {
- s.Order = &v
- return s
- }
- // SetRedirectConfig sets the RedirectConfig field's value.
- func (s *Action) SetRedirectConfig(v *RedirectActionConfig) *Action {
- s.RedirectConfig = v
- return s
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *Action) SetTargetGroupArn(v string) *Action {
- s.TargetGroupArn = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *Action) SetType(v string) *Action {
- s.Type = &v
- return s
- }
- type AddListenerCertificatesInput struct {
- _ struct{} `type:"structure"`
- // The certificate to add. You can specify one certificate per call. Set CertificateArn
- // to the certificate ARN but do not set IsDefault.
- //
- // Certificates is a required field
- Certificates []*Certificate `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s AddListenerCertificatesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddListenerCertificatesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AddListenerCertificatesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddListenerCertificatesInput"}
- if s.Certificates == nil {
- invalidParams.Add(request.NewErrParamRequired("Certificates"))
- }
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCertificates sets the Certificates field's value.
- func (s *AddListenerCertificatesInput) SetCertificates(v []*Certificate) *AddListenerCertificatesInput {
- s.Certificates = v
- return s
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *AddListenerCertificatesInput) SetListenerArn(v string) *AddListenerCertificatesInput {
- s.ListenerArn = &v
- return s
- }
- type AddListenerCertificatesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the certificates.
- Certificates []*Certificate `type:"list"`
- }
- // String returns the string representation
- func (s AddListenerCertificatesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddListenerCertificatesOutput) GoString() string {
- return s.String()
- }
- // SetCertificates sets the Certificates field's value.
- func (s *AddListenerCertificatesOutput) SetCertificates(v []*Certificate) *AddListenerCertificatesOutput {
- s.Certificates = v
- return s
- }
- type AddTagsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource.
- //
- // ResourceArns is a required field
- ResourceArns []*string `type:"list" required:"true"`
- // The tags. Each resource can have a maximum of 10 tags.
- //
- // Tags is a required field
- Tags []*Tag `min:"1" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s AddTagsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddTagsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AddTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
- if s.ResourceArns == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil && len(s.Tags) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArns sets the ResourceArns field's value.
- func (s *AddTagsInput) SetResourceArns(v []*string) *AddTagsInput {
- s.ResourceArns = v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput {
- s.Tags = v
- return s
- }
- type AddTagsOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s AddTagsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddTagsOutput) GoString() string {
- return s.String()
- }
- // Request parameters to use when integrating with Amazon Cognito to authenticate
- // users.
- type AuthenticateCognitoActionConfig struct {
- _ struct{} `type:"structure"`
- // The query parameters (up to 10) to include in the redirect request to the
- // authorization endpoint.
- AuthenticationRequestExtraParams map[string]*string `type:"map"`
- // The behavior if the user is not authenticated. The following are possible
- // values:
- //
- // * deny - Return an HTTP 401 Unauthorized error.
- //
- // * allow - Allow the request to be forwarded to the target.
- //
- // authenticate
- OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateCognitoActionConditionalBehaviorEnum"`
- // The set of user claims to be requested from the IdP. The default is openid.
- //
- // To verify which scope values your IdP supports and how to separate multiple
- // values, see the documentation for your IdP.
- Scope *string `type:"string"`
- // The name of the cookie used to maintain session information. The default
- // is AWSELBAuthSessionCookie.
- SessionCookieName *string `type:"string"`
- // The maximum duration of the authentication session, in seconds. The default
- // is 604800 seconds (7 days).
- SessionTimeout *int64 `type:"long"`
- // The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
- //
- // UserPoolArn is a required field
- UserPoolArn *string `type:"string" required:"true"`
- // The ID of the Amazon Cognito user pool client.
- //
- // UserPoolClientId is a required field
- UserPoolClientId *string `type:"string" required:"true"`
- // The domain prefix or fully-qualified domain name of the Amazon Cognito user
- // pool.
- //
- // UserPoolDomain is a required field
- UserPoolDomain *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s AuthenticateCognitoActionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AuthenticateCognitoActionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AuthenticateCognitoActionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AuthenticateCognitoActionConfig"}
- if s.UserPoolArn == nil {
- invalidParams.Add(request.NewErrParamRequired("UserPoolArn"))
- }
- if s.UserPoolClientId == nil {
- invalidParams.Add(request.NewErrParamRequired("UserPoolClientId"))
- }
- if s.UserPoolDomain == nil {
- invalidParams.Add(request.NewErrParamRequired("UserPoolDomain"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value.
- func (s *AuthenticateCognitoActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateCognitoActionConfig {
- s.AuthenticationRequestExtraParams = v
- return s
- }
- // SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value.
- func (s *AuthenticateCognitoActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateCognitoActionConfig {
- s.OnUnauthenticatedRequest = &v
- return s
- }
- // SetScope sets the Scope field's value.
- func (s *AuthenticateCognitoActionConfig) SetScope(v string) *AuthenticateCognitoActionConfig {
- s.Scope = &v
- return s
- }
- // SetSessionCookieName sets the SessionCookieName field's value.
- func (s *AuthenticateCognitoActionConfig) SetSessionCookieName(v string) *AuthenticateCognitoActionConfig {
- s.SessionCookieName = &v
- return s
- }
- // SetSessionTimeout sets the SessionTimeout field's value.
- func (s *AuthenticateCognitoActionConfig) SetSessionTimeout(v int64) *AuthenticateCognitoActionConfig {
- s.SessionTimeout = &v
- return s
- }
- // SetUserPoolArn sets the UserPoolArn field's value.
- func (s *AuthenticateCognitoActionConfig) SetUserPoolArn(v string) *AuthenticateCognitoActionConfig {
- s.UserPoolArn = &v
- return s
- }
- // SetUserPoolClientId sets the UserPoolClientId field's value.
- func (s *AuthenticateCognitoActionConfig) SetUserPoolClientId(v string) *AuthenticateCognitoActionConfig {
- s.UserPoolClientId = &v
- return s
- }
- // SetUserPoolDomain sets the UserPoolDomain field's value.
- func (s *AuthenticateCognitoActionConfig) SetUserPoolDomain(v string) *AuthenticateCognitoActionConfig {
- s.UserPoolDomain = &v
- return s
- }
- // Request parameters when using an identity provider (IdP) that is compliant
- // with OpenID Connect (OIDC) to authenticate users.
- type AuthenticateOidcActionConfig struct {
- _ struct{} `type:"structure"`
- // The query parameters (up to 10) to include in the redirect request to the
- // authorization endpoint.
- AuthenticationRequestExtraParams map[string]*string `type:"map"`
- // The authorization endpoint of the IdP. This must be a full URL, including
- // the HTTPS protocol, the domain, and the path.
- //
- // AuthorizationEndpoint is a required field
- AuthorizationEndpoint *string `type:"string" required:"true"`
- // The OAuth 2.0 client identifier.
- //
- // ClientId is a required field
- ClientId *string `type:"string" required:"true"`
- // The OAuth 2.0 client secret.
- //
- // ClientSecret is a required field
- ClientSecret *string `type:"string" required:"true"`
- // The OIDC issuer identifier of the IdP. This must be a full URL, including
- // the HTTPS protocol, the domain, and the path.
- //
- // Issuer is a required field
- Issuer *string `type:"string" required:"true"`
- // The behavior if the user is not authenticated. The following are possible
- // values:
- //
- // * deny - Return an HTTP 401 Unauthorized error.
- //
- // * allow - Allow the request to be forwarded to the target.
- //
- // authenticate
- OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateOidcActionConditionalBehaviorEnum"`
- // The set of user claims to be requested from the IdP. The default is openid.
- //
- // To verify which scope values your IdP supports and how to separate multiple
- // values, see the documentation for your IdP.
- Scope *string `type:"string"`
- // The name of the cookie used to maintain session information. The default
- // is AWSELBAuthSessionCookie.
- SessionCookieName *string `type:"string"`
- // The maximum duration of the authentication session, in seconds. The default
- // is 604800 seconds (7 days).
- SessionTimeout *int64 `type:"long"`
- // The token endpoint of the IdP. This must be a full URL, including the HTTPS
- // protocol, the domain, and the path.
- //
- // TokenEndpoint is a required field
- TokenEndpoint *string `type:"string" required:"true"`
- // The user info endpoint of the IdP. This must be a full URL, including the
- // HTTPS protocol, the domain, and the path.
- //
- // UserInfoEndpoint is a required field
- UserInfoEndpoint *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s AuthenticateOidcActionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AuthenticateOidcActionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AuthenticateOidcActionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AuthenticateOidcActionConfig"}
- if s.AuthorizationEndpoint == nil {
- invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint"))
- }
- if s.ClientId == nil {
- invalidParams.Add(request.NewErrParamRequired("ClientId"))
- }
- if s.ClientSecret == nil {
- invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
- }
- if s.Issuer == nil {
- invalidParams.Add(request.NewErrParamRequired("Issuer"))
- }
- if s.TokenEndpoint == nil {
- invalidParams.Add(request.NewErrParamRequired("TokenEndpoint"))
- }
- if s.UserInfoEndpoint == nil {
- invalidParams.Add(request.NewErrParamRequired("UserInfoEndpoint"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value.
- func (s *AuthenticateOidcActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateOidcActionConfig {
- s.AuthenticationRequestExtraParams = v
- return s
- }
- // SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value.
- func (s *AuthenticateOidcActionConfig) SetAuthorizationEndpoint(v string) *AuthenticateOidcActionConfig {
- s.AuthorizationEndpoint = &v
- return s
- }
- // SetClientId sets the ClientId field's value.
- func (s *AuthenticateOidcActionConfig) SetClientId(v string) *AuthenticateOidcActionConfig {
- s.ClientId = &v
- return s
- }
- // SetClientSecret sets the ClientSecret field's value.
- func (s *AuthenticateOidcActionConfig) SetClientSecret(v string) *AuthenticateOidcActionConfig {
- s.ClientSecret = &v
- return s
- }
- // SetIssuer sets the Issuer field's value.
- func (s *AuthenticateOidcActionConfig) SetIssuer(v string) *AuthenticateOidcActionConfig {
- s.Issuer = &v
- return s
- }
- // SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value.
- func (s *AuthenticateOidcActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateOidcActionConfig {
- s.OnUnauthenticatedRequest = &v
- return s
- }
- // SetScope sets the Scope field's value.
- func (s *AuthenticateOidcActionConfig) SetScope(v string) *AuthenticateOidcActionConfig {
- s.Scope = &v
- return s
- }
- // SetSessionCookieName sets the SessionCookieName field's value.
- func (s *AuthenticateOidcActionConfig) SetSessionCookieName(v string) *AuthenticateOidcActionConfig {
- s.SessionCookieName = &v
- return s
- }
- // SetSessionTimeout sets the SessionTimeout field's value.
- func (s *AuthenticateOidcActionConfig) SetSessionTimeout(v int64) *AuthenticateOidcActionConfig {
- s.SessionTimeout = &v
- return s
- }
- // SetTokenEndpoint sets the TokenEndpoint field's value.
- func (s *AuthenticateOidcActionConfig) SetTokenEndpoint(v string) *AuthenticateOidcActionConfig {
- s.TokenEndpoint = &v
- return s
- }
- // SetUserInfoEndpoint sets the UserInfoEndpoint field's value.
- func (s *AuthenticateOidcActionConfig) SetUserInfoEndpoint(v string) *AuthenticateOidcActionConfig {
- s.UserInfoEndpoint = &v
- return s
- }
- // Information about an Availability Zone.
- type AvailabilityZone struct {
- _ struct{} `type:"structure"`
- // [Network Load Balancers] The static IP address.
- LoadBalancerAddresses []*LoadBalancerAddress `type:"list"`
- // The ID of the subnet.
- SubnetId *string `type:"string"`
- // The name of the Availability Zone.
- ZoneName *string `type:"string"`
- }
- // String returns the string representation
- func (s AvailabilityZone) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AvailabilityZone) GoString() string {
- return s.String()
- }
- // SetLoadBalancerAddresses sets the LoadBalancerAddresses field's value.
- func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *AvailabilityZone {
- s.LoadBalancerAddresses = v
- return s
- }
- // SetSubnetId sets the SubnetId field's value.
- func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
- s.SubnetId = &v
- return s
- }
- // SetZoneName sets the ZoneName field's value.
- func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
- s.ZoneName = &v
- return s
- }
- // Information about an SSL server certificate.
- type Certificate struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the certificate.
- CertificateArn *string `type:"string"`
- // Indicates whether the certificate is the default certificate. Do not set
- // IsDefault when specifying a certificate as an input parameter.
- IsDefault *bool `type:"boolean"`
- }
- // String returns the string representation
- func (s Certificate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Certificate) GoString() string {
- return s.String()
- }
- // SetCertificateArn sets the CertificateArn field's value.
- func (s *Certificate) SetCertificateArn(v string) *Certificate {
- s.CertificateArn = &v
- return s
- }
- // SetIsDefault sets the IsDefault field's value.
- func (s *Certificate) SetIsDefault(v bool) *Certificate {
- s.IsDefault = &v
- return s
- }
- // Information about a cipher used in a policy.
- type Cipher struct {
- _ struct{} `type:"structure"`
- // The name of the cipher.
- Name *string `type:"string"`
- // The priority of the cipher.
- Priority *int64 `type:"integer"`
- }
- // String returns the string representation
- func (s Cipher) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Cipher) GoString() string {
- return s.String()
- }
- // SetName sets the Name field's value.
- func (s *Cipher) SetName(v string) *Cipher {
- s.Name = &v
- return s
- }
- // SetPriority sets the Priority field's value.
- func (s *Cipher) SetPriority(v int64) *Cipher {
- s.Priority = &v
- return s
- }
- type CreateListenerInput struct {
- _ struct{} `type:"structure"`
- // [HTTPS listeners] The default SSL server certificate. You must provide exactly
- // one certificate. Set CertificateArn to the certificate ARN but do not set
- // IsDefault.
- //
- // To create a certificate list, use AddListenerCertificates.
- Certificates []*Certificate `type:"list"`
- // The actions for the default rule. The rule must include one forward action
- // or one or more fixed-response actions.
- //
- // If the action type is forward, you specify a target group. The protocol of
- // the target group must be HTTP or HTTPS for an Application Load Balancer or
- // TCP for a Network Load Balancer.
- //
- // [HTTPS listener] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listener] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
- //
- // DefaultActions is a required field
- DefaultActions []*Action `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- // The port on which the load balancer is listening.
- //
- // Port is a required field
- Port *int64 `min:"1" type:"integer" required:"true"`
- // The protocol for connections from clients to the load balancer. For Application
- // Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load
- // Balancers, the supported protocol is TCP.
- //
- // Protocol is a required field
- Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
- // [HTTPS listeners] The security policy that defines which ciphers and protocols
- // are supported. The default is the current predefined security policy.
- SslPolicy *string `type:"string"`
- }
- // String returns the string representation
- func (s CreateListenerInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateListenerInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateListenerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"}
- if s.DefaultActions == nil {
- invalidParams.Add(request.NewErrParamRequired("DefaultActions"))
- }
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if s.Port == nil {
- invalidParams.Add(request.NewErrParamRequired("Port"))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if s.Protocol == nil {
- invalidParams.Add(request.NewErrParamRequired("Protocol"))
- }
- if s.DefaultActions != nil {
- for i, v := range s.DefaultActions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCertificates sets the Certificates field's value.
- func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput {
- s.Certificates = v
- return s
- }
- // SetDefaultActions sets the DefaultActions field's value.
- func (s *CreateListenerInput) SetDefaultActions(v []*Action) *CreateListenerInput {
- s.DefaultActions = v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *CreateListenerInput) SetLoadBalancerArn(v string) *CreateListenerInput {
- s.LoadBalancerArn = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *CreateListenerInput) SetPort(v int64) *CreateListenerInput {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput {
- s.Protocol = &v
- return s
- }
- // SetSslPolicy sets the SslPolicy field's value.
- func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput {
- s.SslPolicy = &v
- return s
- }
- type CreateListenerOutput struct {
- _ struct{} `type:"structure"`
- // Information about the listener.
- Listeners []*Listener `type:"list"`
- }
- // String returns the string representation
- func (s CreateListenerOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateListenerOutput) GoString() string {
- return s.String()
- }
- // SetListeners sets the Listeners field's value.
- func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput {
- s.Listeners = v
- return s
- }
- type CreateLoadBalancerInput struct {
- _ struct{} `type:"structure"`
- // [Application Load Balancers] The type of IP addresses used by the subnets
- // for your load balancer. The possible values are ipv4 (for IPv4 addresses)
- // and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must
- // use ipv4.
- IpAddressType *string `type:"string" enum:"IpAddressType"`
- // The name of the load balancer.
- //
- // This name must be unique per region per account, can have a maximum of 32
- // characters, must contain only alphanumeric characters or hyphens, must not
- // begin or end with a hyphen, and must not begin with "internal-".
- //
- // Name is a required field
- Name *string `type:"string" required:"true"`
- // The nodes of an Internet-facing load balancer have public IP addresses. The
- // DNS name of an Internet-facing load balancer is publicly resolvable to the
- // public IP addresses of the nodes. Therefore, Internet-facing load balancers
- // can route requests from clients over the internet.
- //
- // The nodes of an internal load balancer have only private IP addresses. The
- // DNS name of an internal load balancer is publicly resolvable to the private
- // IP addresses of the nodes. Therefore, internal load balancers can only route
- // requests from clients with access to the VPC for the load balancer.
- //
- // The default is an Internet-facing load balancer.
- Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
- // [Application Load Balancers] The IDs of the security groups for the load
- // balancer.
- SecurityGroups []*string `type:"list"`
- // The IDs of the public subnets. You can specify only one subnet per Availability
- // Zone. You must specify either subnets or subnet mappings.
- //
- // [Application Load Balancers] You must specify subnets from at least two Availability
- // Zones. You cannot specify Elastic IP addresses for your subnets.
- //
- // [Network Load Balancers] You can specify subnets from one or more Availability
- // Zones. You can specify one Elastic IP address per subnet.
- SubnetMappings []*SubnetMapping `type:"list"`
- // The IDs of the public subnets. You can specify only one subnet per Availability
- // Zone. You must specify either subnets or subnet mappings.
- //
- // [Application Load Balancers] You must specify subnets from at least two Availability
- // Zones.
- //
- // [Network Load Balancers] You can specify subnets from one or more Availability
- // Zones.
- Subnets []*string `type:"list"`
- // One or more tags to assign to the load balancer.
- Tags []*Tag `min:"1" type:"list"`
- // The type of load balancer. The default is application.
- Type *string `type:"string" enum:"LoadBalancerTypeEnum"`
- }
- // String returns the string representation
- func (s CreateLoadBalancerInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateLoadBalancerInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateLoadBalancerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Tags != nil && len(s.Tags) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIpAddressType sets the IpAddressType field's value.
- func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
- s.IpAddressType = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *CreateLoadBalancerInput) SetName(v string) *CreateLoadBalancerInput {
- s.Name = &v
- return s
- }
- // SetScheme sets the Scheme field's value.
- func (s *CreateLoadBalancerInput) SetScheme(v string) *CreateLoadBalancerInput {
- s.Scheme = &v
- return s
- }
- // SetSecurityGroups sets the SecurityGroups field's value.
- func (s *CreateLoadBalancerInput) SetSecurityGroups(v []*string) *CreateLoadBalancerInput {
- s.SecurityGroups = v
- return s
- }
- // SetSubnetMappings sets the SubnetMappings field's value.
- func (s *CreateLoadBalancerInput) SetSubnetMappings(v []*SubnetMapping) *CreateLoadBalancerInput {
- s.SubnetMappings = v
- return s
- }
- // SetSubnets sets the Subnets field's value.
- func (s *CreateLoadBalancerInput) SetSubnets(v []*string) *CreateLoadBalancerInput {
- s.Subnets = v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
- s.Tags = v
- return s
- }
- // SetType sets the Type field's value.
- func (s *CreateLoadBalancerInput) SetType(v string) *CreateLoadBalancerInput {
- s.Type = &v
- return s
- }
- type CreateLoadBalancerOutput struct {
- _ struct{} `type:"structure"`
- // Information about the load balancer.
- LoadBalancers []*LoadBalancer `type:"list"`
- }
- // String returns the string representation
- func (s CreateLoadBalancerOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateLoadBalancerOutput) GoString() string {
- return s.String()
- }
- // SetLoadBalancers sets the LoadBalancers field's value.
- func (s *CreateLoadBalancerOutput) SetLoadBalancers(v []*LoadBalancer) *CreateLoadBalancerOutput {
- s.LoadBalancers = v
- return s
- }
- type CreateRuleInput struct {
- _ struct{} `type:"structure"`
- // The actions. Each rule must include exactly one of the following types of
- // actions: forward, fixed-response, or redirect.
- //
- // If the action type is forward, you specify a target group. The protocol of
- // the target group must be HTTP or HTTPS for an Application Load Balancer or
- // TCP for a Network Load Balancer.
- //
- // [HTTPS listener] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listener] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
- //
- // Actions is a required field
- Actions []*Action `type:"list" required:"true"`
- // The conditions. Each condition specifies a field name and a single value.
- //
- // If the field name is host-header, you can specify a single host name (for
- // example, my.example.com). A host name is case insensitive, can be up to 128
- // characters in length, and can contain any of the following characters. You
- // can include up to three wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * - .
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- //
- // If the field name is path-pattern, you can specify a single path pattern.
- // A path pattern is case-sensitive, can be up to 128 characters in length,
- // and can contain any of the following characters. You can include up to three
- // wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * _ - . $ / ~ " ' @ : +
- //
- // * & (using &)
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- //
- // Conditions is a required field
- Conditions []*RuleCondition `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- // The rule priority. A listener can't have multiple rules with the same priority.
- //
- // Priority is a required field
- Priority *int64 `min:"1" type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s CreateRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"}
- if s.Actions == nil {
- invalidParams.Add(request.NewErrParamRequired("Actions"))
- }
- if s.Conditions == nil {
- invalidParams.Add(request.NewErrParamRequired("Conditions"))
- }
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if s.Priority == nil {
- invalidParams.Add(request.NewErrParamRequired("Priority"))
- }
- if s.Priority != nil && *s.Priority < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
- }
- if s.Actions != nil {
- for i, v := range s.Actions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetActions sets the Actions field's value.
- func (s *CreateRuleInput) SetActions(v []*Action) *CreateRuleInput {
- s.Actions = v
- return s
- }
- // SetConditions sets the Conditions field's value.
- func (s *CreateRuleInput) SetConditions(v []*RuleCondition) *CreateRuleInput {
- s.Conditions = v
- return s
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *CreateRuleInput) SetListenerArn(v string) *CreateRuleInput {
- s.ListenerArn = &v
- return s
- }
- // SetPriority sets the Priority field's value.
- func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput {
- s.Priority = &v
- return s
- }
- type CreateRuleOutput struct {
- _ struct{} `type:"structure"`
- // Information about the rule.
- Rules []*Rule `type:"list"`
- }
- // String returns the string representation
- func (s CreateRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateRuleOutput) GoString() string {
- return s.String()
- }
- // SetRules sets the Rules field's value.
- func (s *CreateRuleOutput) SetRules(v []*Rule) *CreateRuleOutput {
- s.Rules = v
- return s
- }
- type CreateTargetGroupInput struct {
- _ struct{} `type:"structure"`
- // Indicates whether health checks are enabled. If the target type is instance
- // or ip, the default is true. If the target type is lambda, the default is
- // false.
- HealthCheckEnabled *bool `type:"boolean"`
- // The approximate amount of time, in seconds, between health checks of an individual
- // target. For Application Load Balancers, the range is 5–300 seconds. For Network
- // Load Balancers, the supported values are 10 or 30 seconds. If the target
- // type is instance or ip, the default is 30 seconds. If the target type is
- // lambda, the default is 35 seconds.
- HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // [HTTP/HTTPS health checks] The ping path that is the destination on the targets
- // for health checks. The default is /.
- HealthCheckPath *string `min:"1" type:"string"`
- // The port the load balancer uses when performing health checks on targets.
- // The default is traffic-port, which is the port on which each target receives
- // traffic from the load balancer.
- HealthCheckPort *string `type:"string"`
- // The protocol the load balancer uses when performing health checks on targets.
- // The TCP protocol is supported only if the protocol of the target group is
- // TCP. For Application Load Balancers, the default is HTTP. For Network Load
- // Balancers, the default is TCP.
- HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
- // The amount of time, in seconds, during which no response from a target means
- // a failed health check. For Application Load Balancers, the range is 2–120
- // seconds and the default is 5 seconds if the target type is instance or ip
- // and 30 seconds if the target type is lambda. For Network Load Balancers,
- // this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP
- // health checks.
- HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
- // The number of consecutive health checks successes required before considering
- // an unhealthy target healthy. For Application Load Balancers, the default
- // is 5. For Network Load Balancers, the default is 3.
- HealthyThresholdCount *int64 `min:"2" type:"integer"`
- // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
- // response from a target.
- Matcher *Matcher `type:"structure"`
- // The name of the target group.
- //
- // This name must be unique per region per account, can have a maximum of 32
- // characters, must contain only alphanumeric characters or hyphens, and must
- // not begin or end with a hyphen.
- //
- // Name is a required field
- Name *string `type:"string" required:"true"`
- // The port on which the targets receive traffic. This port is used unless you
- // specify a port override when registering the target. If the target is a Lambda
- // function, this parameter does not apply.
- Port *int64 `min:"1" type:"integer"`
- // The protocol to use for routing traffic to the targets. For Application Load
- // Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers,
- // the supported protocol is TCP. If the target is a Lambda function, this parameter
- // does not apply.
- Protocol *string `type:"string" enum:"ProtocolEnum"`
- // The type of target that you must specify when registering targets with this
- // target group. You can't specify targets for a target group using more than
- // one target type.
- //
- // * instance - Targets are specified by instance ID. This is the default
- // value.
- //
- // * ip - Targets are specified by IP address. You can specify IP addresses
- // from the subnets of the virtual private cloud (VPC) for the target group,
- // the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and
- // the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable
- // IP addresses.
- //
- // * lambda - The target groups contains a single Lambda function.
- TargetType *string `type:"string" enum:"TargetTypeEnum"`
- // The number of consecutive health check failures required before considering
- // a target unhealthy. For Application Load Balancers, the default is 2. For
- // Network Load Balancers, this value must be the same as the healthy threshold
- // count.
- UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
- // The identifier of the virtual private cloud (VPC). If the target is a Lambda
- // function, this parameter does not apply.
- VpcId *string `type:"string"`
- }
- // String returns the string representation
- func (s CreateTargetGroupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTargetGroupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateTargetGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateTargetGroupInput"}
- if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
- invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
- }
- if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
- }
- if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
- invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
- }
- if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
- invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
- }
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
- invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
- }
- if s.Matcher != nil {
- if err := s.Matcher.Validate(); err != nil {
- invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckEnabled(v bool) *CreateTargetGroupInput {
- s.HealthCheckEnabled = &v
- return s
- }
- // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateTargetGroupInput {
- s.HealthCheckIntervalSeconds = &v
- return s
- }
- // SetHealthCheckPath sets the HealthCheckPath field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckPath(v string) *CreateTargetGroupInput {
- s.HealthCheckPath = &v
- return s
- }
- // SetHealthCheckPort sets the HealthCheckPort field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckPort(v string) *CreateTargetGroupInput {
- s.HealthCheckPort = &v
- return s
- }
- // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckProtocol(v string) *CreateTargetGroupInput {
- s.HealthCheckProtocol = &v
- return s
- }
- // SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
- func (s *CreateTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *CreateTargetGroupInput {
- s.HealthCheckTimeoutSeconds = &v
- return s
- }
- // SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
- func (s *CreateTargetGroupInput) SetHealthyThresholdCount(v int64) *CreateTargetGroupInput {
- s.HealthyThresholdCount = &v
- return s
- }
- // SetMatcher sets the Matcher field's value.
- func (s *CreateTargetGroupInput) SetMatcher(v *Matcher) *CreateTargetGroupInput {
- s.Matcher = v
- return s
- }
- // SetName sets the Name field's value.
- func (s *CreateTargetGroupInput) SetName(v string) *CreateTargetGroupInput {
- s.Name = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *CreateTargetGroupInput) SetPort(v int64) *CreateTargetGroupInput {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
- s.Protocol = &v
- return s
- }
- // SetTargetType sets the TargetType field's value.
- func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
- s.TargetType = &v
- return s
- }
- // SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
- func (s *CreateTargetGroupInput) SetUnhealthyThresholdCount(v int64) *CreateTargetGroupInput {
- s.UnhealthyThresholdCount = &v
- return s
- }
- // SetVpcId sets the VpcId field's value.
- func (s *CreateTargetGroupInput) SetVpcId(v string) *CreateTargetGroupInput {
- s.VpcId = &v
- return s
- }
- type CreateTargetGroupOutput struct {
- _ struct{} `type:"structure"`
- // Information about the target group.
- TargetGroups []*TargetGroup `type:"list"`
- }
- // String returns the string representation
- func (s CreateTargetGroupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTargetGroupOutput) GoString() string {
- return s.String()
- }
- // SetTargetGroups sets the TargetGroups field's value.
- func (s *CreateTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *CreateTargetGroupOutput {
- s.TargetGroups = v
- return s
- }
- type DeleteListenerInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteListenerInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteListenerInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteListenerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"}
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput {
- s.ListenerArn = &v
- return s
- }
- type DeleteListenerOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteListenerOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteListenerOutput) GoString() string {
- return s.String()
- }
- type DeleteLoadBalancerInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteLoadBalancerInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteLoadBalancerInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteLoadBalancerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *DeleteLoadBalancerInput) SetLoadBalancerArn(v string) *DeleteLoadBalancerInput {
- s.LoadBalancerArn = &v
- return s
- }
- type DeleteLoadBalancerOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteLoadBalancerOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteLoadBalancerOutput) GoString() string {
- return s.String()
- }
- type DeleteRuleInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the rule.
- //
- // RuleArn is a required field
- RuleArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
- if s.RuleArn == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRuleArn sets the RuleArn field's value.
- func (s *DeleteRuleInput) SetRuleArn(v string) *DeleteRuleInput {
- s.RuleArn = &v
- return s
- }
- type DeleteRuleOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteRuleOutput) GoString() string {
- return s.String()
- }
- type DeleteTargetGroupInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteTargetGroupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTargetGroupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteTargetGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteTargetGroupInput"}
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *DeleteTargetGroupInput) SetTargetGroupArn(v string) *DeleteTargetGroupInput {
- s.TargetGroupArn = &v
- return s
- }
- type DeleteTargetGroupOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteTargetGroupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTargetGroupOutput) GoString() string {
- return s.String()
- }
- type DeregisterTargetsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- // The targets. If you specified a port override when you registered a target,
- // you must specify both the target ID and the port when you deregister it.
- //
- // Targets is a required field
- Targets []*TargetDescription `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s DeregisterTargetsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterTargetsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeregisterTargetsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetsInput"}
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if s.Targets == nil {
- invalidParams.Add(request.NewErrParamRequired("Targets"))
- }
- if s.Targets != nil {
- for i, v := range s.Targets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *DeregisterTargetsInput) SetTargetGroupArn(v string) *DeregisterTargetsInput {
- s.TargetGroupArn = &v
- return s
- }
- // SetTargets sets the Targets field's value.
- func (s *DeregisterTargetsInput) SetTargets(v []*TargetDescription) *DeregisterTargetsInput {
- s.Targets = v
- return s
- }
- type DeregisterTargetsOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeregisterTargetsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterTargetsOutput) GoString() string {
- return s.String()
- }
- type DescribeAccountLimitsInput struct {
- _ struct{} `type:"structure"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DescribeAccountLimitsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeAccountLimitsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeAccountLimitsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeAccountLimitsInput) SetMarker(v string) *DescribeAccountLimitsInput {
- s.Marker = &v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeAccountLimitsInput) SetPageSize(v int64) *DescribeAccountLimitsInput {
- s.PageSize = &v
- return s
- }
- type DescribeAccountLimitsOutput struct {
- _ struct{} `type:"structure"`
- // Information about the limits.
- Limits []*Limit `type:"list"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeAccountLimitsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeAccountLimitsOutput) GoString() string {
- return s.String()
- }
- // SetLimits sets the Limits field's value.
- func (s *DescribeAccountLimitsOutput) SetLimits(v []*Limit) *DescribeAccountLimitsOutput {
- s.Limits = v
- return s
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeAccountLimitsOutput) SetNextMarker(v string) *DescribeAccountLimitsOutput {
- s.NextMarker = &v
- return s
- }
- type DescribeListenerCertificatesInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Names (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DescribeListenerCertificatesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeListenerCertificatesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeListenerCertificatesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeListenerCertificatesInput"}
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *DescribeListenerCertificatesInput) SetListenerArn(v string) *DescribeListenerCertificatesInput {
- s.ListenerArn = &v
- return s
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeListenerCertificatesInput) SetMarker(v string) *DescribeListenerCertificatesInput {
- s.Marker = &v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeListenerCertificatesInput) SetPageSize(v int64) *DescribeListenerCertificatesInput {
- s.PageSize = &v
- return s
- }
- type DescribeListenerCertificatesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the certificates.
- Certificates []*Certificate `type:"list"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeListenerCertificatesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeListenerCertificatesOutput) GoString() string {
- return s.String()
- }
- // SetCertificates sets the Certificates field's value.
- func (s *DescribeListenerCertificatesOutput) SetCertificates(v []*Certificate) *DescribeListenerCertificatesOutput {
- s.Certificates = v
- return s
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeListenerCertificatesOutput) SetNextMarker(v string) *DescribeListenerCertificatesOutput {
- s.NextMarker = &v
- return s
- }
- type DescribeListenersInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Names (ARN) of the listeners.
- ListenerArns []*string `type:"list"`
- // The Amazon Resource Name (ARN) of the load balancer.
- LoadBalancerArn *string `type:"string"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DescribeListenersInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeListenersInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeListenersInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeListenersInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetListenerArns sets the ListenerArns field's value.
- func (s *DescribeListenersInput) SetListenerArns(v []*string) *DescribeListenersInput {
- s.ListenerArns = v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *DescribeListenersInput) SetLoadBalancerArn(v string) *DescribeListenersInput {
- s.LoadBalancerArn = &v
- return s
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeListenersInput) SetMarker(v string) *DescribeListenersInput {
- s.Marker = &v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeListenersInput) SetPageSize(v int64) *DescribeListenersInput {
- s.PageSize = &v
- return s
- }
- type DescribeListenersOutput struct {
- _ struct{} `type:"structure"`
- // Information about the listeners.
- Listeners []*Listener `type:"list"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeListenersOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeListenersOutput) GoString() string {
- return s.String()
- }
- // SetListeners sets the Listeners field's value.
- func (s *DescribeListenersOutput) SetListeners(v []*Listener) *DescribeListenersOutput {
- s.Listeners = v
- return s
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeListenersOutput) SetNextMarker(v string) *DescribeListenersOutput {
- s.NextMarker = &v
- return s
- }
- type DescribeLoadBalancerAttributesInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeLoadBalancerAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLoadBalancerAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeLoadBalancerAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerAttributesInput"}
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *DescribeLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *DescribeLoadBalancerAttributesInput {
- s.LoadBalancerArn = &v
- return s
- }
- type DescribeLoadBalancerAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the load balancer attributes.
- Attributes []*LoadBalancerAttribute `type:"list"`
- }
- // String returns the string representation
- func (s DescribeLoadBalancerAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLoadBalancerAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *DescribeLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *DescribeLoadBalancerAttributesOutput {
- s.Attributes = v
- return s
- }
- type DescribeLoadBalancersInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Names (ARN) of the load balancers. You can specify up
- // to 20 load balancers in a single call.
- LoadBalancerArns []*string `type:"list"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The names of the load balancers.
- Names []*string `type:"list"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DescribeLoadBalancersInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLoadBalancersInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeLoadBalancersInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArns sets the LoadBalancerArns field's value.
- func (s *DescribeLoadBalancersInput) SetLoadBalancerArns(v []*string) *DescribeLoadBalancersInput {
- s.LoadBalancerArns = v
- return s
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeLoadBalancersInput) SetMarker(v string) *DescribeLoadBalancersInput {
- s.Marker = &v
- return s
- }
- // SetNames sets the Names field's value.
- func (s *DescribeLoadBalancersInput) SetNames(v []*string) *DescribeLoadBalancersInput {
- s.Names = v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeLoadBalancersInput) SetPageSize(v int64) *DescribeLoadBalancersInput {
- s.PageSize = &v
- return s
- }
- type DescribeLoadBalancersOutput struct {
- _ struct{} `type:"structure"`
- // Information about the load balancers.
- LoadBalancers []*LoadBalancer `type:"list"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeLoadBalancersOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLoadBalancersOutput) GoString() string {
- return s.String()
- }
- // SetLoadBalancers sets the LoadBalancers field's value.
- func (s *DescribeLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *DescribeLoadBalancersOutput {
- s.LoadBalancers = v
- return s
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeLoadBalancersOutput) SetNextMarker(v string) *DescribeLoadBalancersOutput {
- s.NextMarker = &v
- return s
- }
- type DescribeRulesInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the listener.
- ListenerArn *string `type:"string"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- // The Amazon Resource Names (ARN) of the rules.
- RuleArns []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeRulesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeRulesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeRulesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeRulesInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *DescribeRulesInput) SetListenerArn(v string) *DescribeRulesInput {
- s.ListenerArn = &v
- return s
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeRulesInput) SetMarker(v string) *DescribeRulesInput {
- s.Marker = &v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeRulesInput) SetPageSize(v int64) *DescribeRulesInput {
- s.PageSize = &v
- return s
- }
- // SetRuleArns sets the RuleArns field's value.
- func (s *DescribeRulesInput) SetRuleArns(v []*string) *DescribeRulesInput {
- s.RuleArns = v
- return s
- }
- type DescribeRulesOutput struct {
- _ struct{} `type:"structure"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- // Information about the rules.
- Rules []*Rule `type:"list"`
- }
- // String returns the string representation
- func (s DescribeRulesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeRulesOutput) GoString() string {
- return s.String()
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeRulesOutput) SetNextMarker(v string) *DescribeRulesOutput {
- s.NextMarker = &v
- return s
- }
- // SetRules sets the Rules field's value.
- func (s *DescribeRulesOutput) SetRules(v []*Rule) *DescribeRulesOutput {
- s.Rules = v
- return s
- }
- type DescribeSSLPoliciesInput struct {
- _ struct{} `type:"structure"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The names of the policies.
- Names []*string `type:"list"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DescribeSSLPoliciesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeSSLPoliciesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeSSLPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeSSLPoliciesInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeSSLPoliciesInput) SetMarker(v string) *DescribeSSLPoliciesInput {
- s.Marker = &v
- return s
- }
- // SetNames sets the Names field's value.
- func (s *DescribeSSLPoliciesInput) SetNames(v []*string) *DescribeSSLPoliciesInput {
- s.Names = v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeSSLPoliciesInput) SetPageSize(v int64) *DescribeSSLPoliciesInput {
- s.PageSize = &v
- return s
- }
- type DescribeSSLPoliciesOutput struct {
- _ struct{} `type:"structure"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- // Information about the policies.
- SslPolicies []*SslPolicy `type:"list"`
- }
- // String returns the string representation
- func (s DescribeSSLPoliciesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeSSLPoliciesOutput) GoString() string {
- return s.String()
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeSSLPoliciesOutput) SetNextMarker(v string) *DescribeSSLPoliciesOutput {
- s.NextMarker = &v
- return s
- }
- // SetSslPolicies sets the SslPolicies field's value.
- func (s *DescribeSSLPoliciesOutput) SetSslPolicies(v []*SslPolicy) *DescribeSSLPoliciesOutput {
- s.SslPolicies = v
- return s
- }
- type DescribeTagsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Names (ARN) of the resources.
- //
- // ResourceArns is a required field
- ResourceArns []*string `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTagsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTagsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
- if s.ResourceArns == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArns sets the ResourceArns field's value.
- func (s *DescribeTagsInput) SetResourceArns(v []*string) *DescribeTagsInput {
- s.ResourceArns = v
- return s
- }
- type DescribeTagsOutput struct {
- _ struct{} `type:"structure"`
- // Information about the tags.
- TagDescriptions []*TagDescription `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTagsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTagsOutput) GoString() string {
- return s.String()
- }
- // SetTagDescriptions sets the TagDescriptions field's value.
- func (s *DescribeTagsOutput) SetTagDescriptions(v []*TagDescription) *DescribeTagsOutput {
- s.TagDescriptions = v
- return s
- }
- type DescribeTargetGroupAttributesInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTargetGroupAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetGroupAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTargetGroupAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupAttributesInput"}
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *DescribeTargetGroupAttributesInput) SetTargetGroupArn(v string) *DescribeTargetGroupAttributesInput {
- s.TargetGroupArn = &v
- return s
- }
- type DescribeTargetGroupAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the target group attributes
- Attributes []*TargetGroupAttribute `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTargetGroupAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetGroupAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *DescribeTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *DescribeTargetGroupAttributesOutput {
- s.Attributes = v
- return s
- }
- type DescribeTargetGroupsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the load balancer.
- LoadBalancerArn *string `type:"string"`
- // The marker for the next set of results. (You received this marker from a
- // previous call.)
- Marker *string `type:"string"`
- // The names of the target groups.
- Names []*string `type:"list"`
- // The maximum number of results to return with this call.
- PageSize *int64 `min:"1" type:"integer"`
- // The Amazon Resource Names (ARN) of the target groups.
- TargetGroupArns []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTargetGroupsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetGroupsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTargetGroupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupsInput"}
- if s.PageSize != nil && *s.PageSize < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *DescribeTargetGroupsInput) SetLoadBalancerArn(v string) *DescribeTargetGroupsInput {
- s.LoadBalancerArn = &v
- return s
- }
- // SetMarker sets the Marker field's value.
- func (s *DescribeTargetGroupsInput) SetMarker(v string) *DescribeTargetGroupsInput {
- s.Marker = &v
- return s
- }
- // SetNames sets the Names field's value.
- func (s *DescribeTargetGroupsInput) SetNames(v []*string) *DescribeTargetGroupsInput {
- s.Names = v
- return s
- }
- // SetPageSize sets the PageSize field's value.
- func (s *DescribeTargetGroupsInput) SetPageSize(v int64) *DescribeTargetGroupsInput {
- s.PageSize = &v
- return s
- }
- // SetTargetGroupArns sets the TargetGroupArns field's value.
- func (s *DescribeTargetGroupsInput) SetTargetGroupArns(v []*string) *DescribeTargetGroupsInput {
- s.TargetGroupArns = v
- return s
- }
- type DescribeTargetGroupsOutput struct {
- _ struct{} `type:"structure"`
- // The marker to use when requesting the next set of results. If there are no
- // additional results, the string is empty.
- NextMarker *string `type:"string"`
- // Information about the target groups.
- TargetGroups []*TargetGroup `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTargetGroupsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetGroupsOutput) GoString() string {
- return s.String()
- }
- // SetNextMarker sets the NextMarker field's value.
- func (s *DescribeTargetGroupsOutput) SetNextMarker(v string) *DescribeTargetGroupsOutput {
- s.NextMarker = &v
- return s
- }
- // SetTargetGroups sets the TargetGroups field's value.
- func (s *DescribeTargetGroupsOutput) SetTargetGroups(v []*TargetGroup) *DescribeTargetGroupsOutput {
- s.TargetGroups = v
- return s
- }
- type DescribeTargetHealthInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- // The targets.
- Targets []*TargetDescription `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTargetHealthInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetHealthInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTargetHealthInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTargetHealthInput"}
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if s.Targets != nil {
- for i, v := range s.Targets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *DescribeTargetHealthInput) SetTargetGroupArn(v string) *DescribeTargetHealthInput {
- s.TargetGroupArn = &v
- return s
- }
- // SetTargets sets the Targets field's value.
- func (s *DescribeTargetHealthInput) SetTargets(v []*TargetDescription) *DescribeTargetHealthInput {
- s.Targets = v
- return s
- }
- type DescribeTargetHealthOutput struct {
- _ struct{} `type:"structure"`
- // Information about the health of the targets.
- TargetHealthDescriptions []*TargetHealthDescription `type:"list"`
- }
- // String returns the string representation
- func (s DescribeTargetHealthOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTargetHealthOutput) GoString() string {
- return s.String()
- }
- // SetTargetHealthDescriptions sets the TargetHealthDescriptions field's value.
- func (s *DescribeTargetHealthOutput) SetTargetHealthDescriptions(v []*TargetHealthDescription) *DescribeTargetHealthOutput {
- s.TargetHealthDescriptions = v
- return s
- }
- // Information about an action that returns a custom HTTP response.
- type FixedResponseActionConfig struct {
- _ struct{} `type:"structure"`
- // The content type.
- //
- // Valid Values: text/plain | text/css | text/html | application/javascript
- // | application/json
- ContentType *string `type:"string"`
- // The message.
- MessageBody *string `type:"string"`
- // The HTTP response code (2XX, 4XX, or 5XX).
- //
- // StatusCode is a required field
- StatusCode *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s FixedResponseActionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s FixedResponseActionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *FixedResponseActionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "FixedResponseActionConfig"}
- if s.StatusCode == nil {
- invalidParams.Add(request.NewErrParamRequired("StatusCode"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetContentType sets the ContentType field's value.
- func (s *FixedResponseActionConfig) SetContentType(v string) *FixedResponseActionConfig {
- s.ContentType = &v
- return s
- }
- // SetMessageBody sets the MessageBody field's value.
- func (s *FixedResponseActionConfig) SetMessageBody(v string) *FixedResponseActionConfig {
- s.MessageBody = &v
- return s
- }
- // SetStatusCode sets the StatusCode field's value.
- func (s *FixedResponseActionConfig) SetStatusCode(v string) *FixedResponseActionConfig {
- s.StatusCode = &v
- return s
- }
- // Information about an Elastic Load Balancing resource limit for your AWS account.
- type Limit struct {
- _ struct{} `type:"structure"`
- // The maximum value of the limit.
- Max *string `type:"string"`
- // The name of the limit. The possible values are:
- //
- // * application-load-balancers
- //
- // * listeners-per-application-load-balancer
- //
- // * listeners-per-network-load-balancer
- //
- // * network-load-balancers
- //
- // * rules-per-application-load-balancer
- //
- // * target-groups
- //
- // * targets-per-application-load-balancer
- //
- // * targets-per-availability-zone-per-network-load-balancer
- //
- // * targets-per-network-load-balancer
- Name *string `type:"string"`
- }
- // String returns the string representation
- func (s Limit) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Limit) GoString() string {
- return s.String()
- }
- // SetMax sets the Max field's value.
- func (s *Limit) SetMax(v string) *Limit {
- s.Max = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Limit) SetName(v string) *Limit {
- s.Name = &v
- return s
- }
- // Information about a listener.
- type Listener struct {
- _ struct{} `type:"structure"`
- // The SSL server certificate. You must provide a certificate if the protocol
- // is HTTPS.
- Certificates []*Certificate `type:"list"`
- // The default actions for the listener.
- DefaultActions []*Action `type:"list"`
- // The Amazon Resource Name (ARN) of the listener.
- ListenerArn *string `type:"string"`
- // The Amazon Resource Name (ARN) of the load balancer.
- LoadBalancerArn *string `type:"string"`
- // The port on which the load balancer is listening.
- Port *int64 `min:"1" type:"integer"`
- // The protocol for connections from clients to the load balancer.
- Protocol *string `type:"string" enum:"ProtocolEnum"`
- // The security policy that defines which ciphers and protocols are supported.
- // The default is the current predefined security policy.
- SslPolicy *string `type:"string"`
- }
- // String returns the string representation
- func (s Listener) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Listener) GoString() string {
- return s.String()
- }
- // SetCertificates sets the Certificates field's value.
- func (s *Listener) SetCertificates(v []*Certificate) *Listener {
- s.Certificates = v
- return s
- }
- // SetDefaultActions sets the DefaultActions field's value.
- func (s *Listener) SetDefaultActions(v []*Action) *Listener {
- s.DefaultActions = v
- return s
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *Listener) SetListenerArn(v string) *Listener {
- s.ListenerArn = &v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *Listener) SetLoadBalancerArn(v string) *Listener {
- s.LoadBalancerArn = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *Listener) SetPort(v int64) *Listener {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *Listener) SetProtocol(v string) *Listener {
- s.Protocol = &v
- return s
- }
- // SetSslPolicy sets the SslPolicy field's value.
- func (s *Listener) SetSslPolicy(v string) *Listener {
- s.SslPolicy = &v
- return s
- }
- // Information about a load balancer.
- type LoadBalancer struct {
- _ struct{} `type:"structure"`
- // The Availability Zones for the load balancer.
- AvailabilityZones []*AvailabilityZone `type:"list"`
- // The ID of the Amazon Route 53 hosted zone associated with the load balancer.
- CanonicalHostedZoneId *string `type:"string"`
- // The date and time the load balancer was created.
- CreatedTime *time.Time `type:"timestamp"`
- // The public DNS name of the load balancer.
- DNSName *string `type:"string"`
- // The type of IP addresses used by the subnets for your load balancer. The
- // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
- // IPv6 addresses).
- IpAddressType *string `type:"string" enum:"IpAddressType"`
- // The Amazon Resource Name (ARN) of the load balancer.
- LoadBalancerArn *string `type:"string"`
- // The name of the load balancer.
- LoadBalancerName *string `type:"string"`
- // The nodes of an Internet-facing load balancer have public IP addresses. The
- // DNS name of an Internet-facing load balancer is publicly resolvable to the
- // public IP addresses of the nodes. Therefore, Internet-facing load balancers
- // can route requests from clients over the internet.
- //
- // The nodes of an internal load balancer have only private IP addresses. The
- // DNS name of an internal load balancer is publicly resolvable to the private
- // IP addresses of the nodes. Therefore, internal load balancers can only route
- // requests from clients with access to the VPC for the load balancer.
- Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
- // The IDs of the security groups for the load balancer.
- SecurityGroups []*string `type:"list"`
- // The state of the load balancer.
- State *LoadBalancerState `type:"structure"`
- // The type of load balancer.
- Type *string `type:"string" enum:"LoadBalancerTypeEnum"`
- // The ID of the VPC for the load balancer.
- VpcId *string `type:"string"`
- }
- // String returns the string representation
- func (s LoadBalancer) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoadBalancer) GoString() string {
- return s.String()
- }
- // SetAvailabilityZones sets the AvailabilityZones field's value.
- func (s *LoadBalancer) SetAvailabilityZones(v []*AvailabilityZone) *LoadBalancer {
- s.AvailabilityZones = v
- return s
- }
- // SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
- func (s *LoadBalancer) SetCanonicalHostedZoneId(v string) *LoadBalancer {
- s.CanonicalHostedZoneId = &v
- return s
- }
- // SetCreatedTime sets the CreatedTime field's value.
- func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer {
- s.CreatedTime = &v
- return s
- }
- // SetDNSName sets the DNSName field's value.
- func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
- s.DNSName = &v
- return s
- }
- // SetIpAddressType sets the IpAddressType field's value.
- func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
- s.IpAddressType = &v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *LoadBalancer) SetLoadBalancerArn(v string) *LoadBalancer {
- s.LoadBalancerArn = &v
- return s
- }
- // SetLoadBalancerName sets the LoadBalancerName field's value.
- func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer {
- s.LoadBalancerName = &v
- return s
- }
- // SetScheme sets the Scheme field's value.
- func (s *LoadBalancer) SetScheme(v string) *LoadBalancer {
- s.Scheme = &v
- return s
- }
- // SetSecurityGroups sets the SecurityGroups field's value.
- func (s *LoadBalancer) SetSecurityGroups(v []*string) *LoadBalancer {
- s.SecurityGroups = v
- return s
- }
- // SetState sets the State field's value.
- func (s *LoadBalancer) SetState(v *LoadBalancerState) *LoadBalancer {
- s.State = v
- return s
- }
- // SetType sets the Type field's value.
- func (s *LoadBalancer) SetType(v string) *LoadBalancer {
- s.Type = &v
- return s
- }
- // SetVpcId sets the VpcId field's value.
- func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer {
- s.VpcId = &v
- return s
- }
- // Information about a static IP address for a load balancer.
- type LoadBalancerAddress struct {
- _ struct{} `type:"structure"`
- // [Network Load Balancers] The allocation ID of the Elastic IP address.
- AllocationId *string `type:"string"`
- // The static IP address.
- IpAddress *string `type:"string"`
- }
- // String returns the string representation
- func (s LoadBalancerAddress) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoadBalancerAddress) GoString() string {
- return s.String()
- }
- // SetAllocationId sets the AllocationId field's value.
- func (s *LoadBalancerAddress) SetAllocationId(v string) *LoadBalancerAddress {
- s.AllocationId = &v
- return s
- }
- // SetIpAddress sets the IpAddress field's value.
- func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress {
- s.IpAddress = &v
- return s
- }
- // Information about a load balancer attribute.
- type LoadBalancerAttribute struct {
- _ struct{} `type:"structure"`
- // The name of the attribute.
- //
- // The following attributes are supported by both Application Load Balancers
- // and Network Load Balancers:
- //
- // * deletion_protection.enabled - Indicates whether deletion protection
- // is enabled. The value is true or false. The default is false.
- //
- // The following attributes are supported by only Application Load Balancers:
- //
- // * access_logs.s3.enabled - Indicates whether access logs are enabled.
- // The value is true or false. The default is false.
- //
- // * access_logs.s3.bucket - The name of the S3 bucket for the access logs.
- // This attribute is required if access logs are enabled. The bucket must
- // exist in the same region as the load balancer and have a bucket policy
- // that grants Elastic Load Balancing permissions to write to the bucket.
- //
- // * access_logs.s3.prefix - The prefix for the location in the S3 bucket
- // for the access logs.
- //
- // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
- // valid range is 1-4000 seconds. The default is 60 seconds.
- //
- // * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value
- // is true or false. The default is true.
- //
- // The following attributes are supported by only Network Load Balancers:
- //
- // * load_balancing.cross_zone.enabled - Indicates whether cross-zone load
- // balancing is enabled. The value is true or false. The default is false.
- Key *string `type:"string"`
- // The value of the attribute.
- Value *string `type:"string"`
- }
- // String returns the string representation
- func (s LoadBalancerAttribute) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoadBalancerAttribute) GoString() string {
- return s.String()
- }
- // SetKey sets the Key field's value.
- func (s *LoadBalancerAttribute) SetKey(v string) *LoadBalancerAttribute {
- s.Key = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *LoadBalancerAttribute) SetValue(v string) *LoadBalancerAttribute {
- s.Value = &v
- return s
- }
- // Information about the state of the load balancer.
- type LoadBalancerState struct {
- _ struct{} `type:"structure"`
- // The state code. The initial state of the load balancer is provisioning. After
- // the load balancer is fully set up and ready to route traffic, its state is
- // active. If the load balancer could not be set up, its state is failed.
- Code *string `type:"string" enum:"LoadBalancerStateEnum"`
- // A description of the state.
- Reason *string `type:"string"`
- }
- // String returns the string representation
- func (s LoadBalancerState) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoadBalancerState) GoString() string {
- return s.String()
- }
- // SetCode sets the Code field's value.
- func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
- s.Code = &v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
- s.Reason = &v
- return s
- }
- // Information to use when checking for a successful response from a target.
- type Matcher struct {
- _ struct{} `type:"structure"`
- // The HTTP codes.
- //
- // For Application Load Balancers, you can specify values between 200 and 499,
- // and the default value is 200. You can specify multiple values (for example,
- // "200,202") or a range of values (for example, "200-299").
- //
- // For Network Load Balancers, this is 200–399.
- //
- // HttpCode is a required field
- HttpCode *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Matcher) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Matcher) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Matcher) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Matcher"}
- if s.HttpCode == nil {
- invalidParams.Add(request.NewErrParamRequired("HttpCode"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHttpCode sets the HttpCode field's value.
- func (s *Matcher) SetHttpCode(v string) *Matcher {
- s.HttpCode = &v
- return s
- }
- type ModifyListenerInput struct {
- _ struct{} `type:"structure"`
- // [HTTPS listeners] The default SSL server certificate. You must provide exactly
- // one certificate. Set CertificateArn to the certificate ARN but do not set
- // IsDefault.
- //
- // To create a certificate list, use AddListenerCertificates.
- Certificates []*Certificate `type:"list"`
- // The actions for the default rule. The rule must include one forward action
- // or one or more fixed-response actions.
- //
- // If the action type is forward, you specify a target group. The protocol of
- // the target group must be HTTP or HTTPS for an Application Load Balancer or
- // TCP for a Network Load Balancer.
- //
- // [HTTPS listener] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listener] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
- DefaultActions []*Action `type:"list"`
- // The Amazon Resource Name (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- // The port for connections from clients to the load balancer.
- Port *int64 `min:"1" type:"integer"`
- // The protocol for connections from clients to the load balancer. Application
- // Load Balancers support HTTP and HTTPS and Network Load Balancers support
- // TCP.
- Protocol *string `type:"string" enum:"ProtocolEnum"`
- // [HTTPS listeners] The security policy that defines which protocols and ciphers
- // are supported. For more information, see Security Policies (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
- // in the Application Load Balancers Guide.
- SslPolicy *string `type:"string"`
- }
- // String returns the string representation
- func (s ModifyListenerInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyListenerInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ModifyListenerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyListenerInput"}
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if s.DefaultActions != nil {
- for i, v := range s.DefaultActions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCertificates sets the Certificates field's value.
- func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput {
- s.Certificates = v
- return s
- }
- // SetDefaultActions sets the DefaultActions field's value.
- func (s *ModifyListenerInput) SetDefaultActions(v []*Action) *ModifyListenerInput {
- s.DefaultActions = v
- return s
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *ModifyListenerInput) SetListenerArn(v string) *ModifyListenerInput {
- s.ListenerArn = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *ModifyListenerInput) SetPort(v int64) *ModifyListenerInput {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *ModifyListenerInput) SetProtocol(v string) *ModifyListenerInput {
- s.Protocol = &v
- return s
- }
- // SetSslPolicy sets the SslPolicy field's value.
- func (s *ModifyListenerInput) SetSslPolicy(v string) *ModifyListenerInput {
- s.SslPolicy = &v
- return s
- }
- type ModifyListenerOutput struct {
- _ struct{} `type:"structure"`
- // Information about the modified listener.
- Listeners []*Listener `type:"list"`
- }
- // String returns the string representation
- func (s ModifyListenerOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyListenerOutput) GoString() string {
- return s.String()
- }
- // SetListeners sets the Listeners field's value.
- func (s *ModifyListenerOutput) SetListeners(v []*Listener) *ModifyListenerOutput {
- s.Listeners = v
- return s
- }
- type ModifyLoadBalancerAttributesInput struct {
- _ struct{} `type:"structure"`
- // The load balancer attributes.
- //
- // Attributes is a required field
- Attributes []*LoadBalancerAttribute `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ModifyLoadBalancerAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyLoadBalancerAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ModifyLoadBalancerAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyLoadBalancerAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ModifyLoadBalancerAttributesInput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesInput {
- s.Attributes = v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *ModifyLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *ModifyLoadBalancerAttributesInput {
- s.LoadBalancerArn = &v
- return s
- }
- type ModifyLoadBalancerAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the load balancer attributes.
- Attributes []*LoadBalancerAttribute `type:"list"`
- }
- // String returns the string representation
- func (s ModifyLoadBalancerAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyLoadBalancerAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ModifyLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesOutput {
- s.Attributes = v
- return s
- }
- type ModifyRuleInput struct {
- _ struct{} `type:"structure"`
- // The actions.
- //
- // If the action type is forward, you specify a target group. The protocol of
- // the target group must be HTTP or HTTPS for an Application Load Balancer or
- // TCP for a Network Load Balancer.
- //
- // [HTTPS listener] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listener] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
- Actions []*Action `type:"list"`
- // The conditions. Each condition specifies a field name and a single value.
- //
- // If the field name is host-header, you can specify a single host name (for
- // example, my.example.com). A host name is case insensitive, can be up to 128
- // characters in length, and can contain any of the following characters. You
- // can include up to three wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * - .
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- //
- // If the field name is path-pattern, you can specify a single path pattern.
- // A path pattern is case-sensitive, can be up to 128 characters in length,
- // and can contain any of the following characters. You can include up to three
- // wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * _ - . $ / ~ " ' @ : +
- //
- // * & (using &)
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- Conditions []*RuleCondition `type:"list"`
- // The Amazon Resource Name (ARN) of the rule.
- //
- // RuleArn is a required field
- RuleArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ModifyRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ModifyRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyRuleInput"}
- if s.RuleArn == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleArn"))
- }
- if s.Actions != nil {
- for i, v := range s.Actions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetActions sets the Actions field's value.
- func (s *ModifyRuleInput) SetActions(v []*Action) *ModifyRuleInput {
- s.Actions = v
- return s
- }
- // SetConditions sets the Conditions field's value.
- func (s *ModifyRuleInput) SetConditions(v []*RuleCondition) *ModifyRuleInput {
- s.Conditions = v
- return s
- }
- // SetRuleArn sets the RuleArn field's value.
- func (s *ModifyRuleInput) SetRuleArn(v string) *ModifyRuleInput {
- s.RuleArn = &v
- return s
- }
- type ModifyRuleOutput struct {
- _ struct{} `type:"structure"`
- // Information about the modified rule.
- Rules []*Rule `type:"list"`
- }
- // String returns the string representation
- func (s ModifyRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyRuleOutput) GoString() string {
- return s.String()
- }
- // SetRules sets the Rules field's value.
- func (s *ModifyRuleOutput) SetRules(v []*Rule) *ModifyRuleOutput {
- s.Rules = v
- return s
- }
- type ModifyTargetGroupAttributesInput struct {
- _ struct{} `type:"structure"`
- // The attributes.
- //
- // Attributes is a required field
- Attributes []*TargetGroupAttribute `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ModifyTargetGroupAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyTargetGroupAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ModifyTargetGroupAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ModifyTargetGroupAttributesInput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesInput {
- s.Attributes = v
- return s
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *ModifyTargetGroupAttributesInput) SetTargetGroupArn(v string) *ModifyTargetGroupAttributesInput {
- s.TargetGroupArn = &v
- return s
- }
- type ModifyTargetGroupAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the attributes.
- Attributes []*TargetGroupAttribute `type:"list"`
- }
- // String returns the string representation
- func (s ModifyTargetGroupAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyTargetGroupAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ModifyTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesOutput {
- s.Attributes = v
- return s
- }
- type ModifyTargetGroupInput struct {
- _ struct{} `type:"structure"`
- // Indicates whether health checks are enabled.
- HealthCheckEnabled *bool `type:"boolean"`
- // The approximate amount of time, in seconds, between health checks of an individual
- // target. For Application Load Balancers, the range is 5–300 seconds. For Network
- // Load Balancers, the supported values are 10 or 30 seconds.
- //
- // If the protocol of the target group is TCP, you can't modify this setting.
- HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // [HTTP/HTTPS health checks] The ping path that is the destination for the
- // health check request.
- HealthCheckPath *string `min:"1" type:"string"`
- // The port the load balancer uses when performing health checks on targets.
- HealthCheckPort *string `type:"string"`
- // The protocol the load balancer uses when performing health checks on targets.
- // The TCP protocol is supported only if the protocol of the target group is
- // TCP.
- //
- // If the protocol of the target group is TCP, you can't modify this setting.
- HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
- // [HTTP/HTTPS health checks] The amount of time, in seconds, during which no
- // response means a failed health check.
- //
- // If the protocol of the target group is TCP, you can't modify this setting.
- HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
- // The number of consecutive health checks successes required before considering
- // an unhealthy target healthy.
- HealthyThresholdCount *int64 `min:"2" type:"integer"`
- // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
- // response from a target.
- //
- // If the protocol of the target group is TCP, you can't modify this setting.
- Matcher *Matcher `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- // The number of consecutive health check failures required before considering
- // the target unhealthy. For Network Load Balancers, this value must be the
- // same as the healthy threshold count.
- UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
- }
- // String returns the string representation
- func (s ModifyTargetGroupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyTargetGroupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ModifyTargetGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupInput"}
- if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
- invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
- }
- if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
- }
- if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
- invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
- }
- if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
- invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
- }
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
- invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
- }
- if s.Matcher != nil {
- if err := s.Matcher.Validate(); err != nil {
- invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckEnabled(v bool) *ModifyTargetGroupInput {
- s.HealthCheckEnabled = &v
- return s
- }
- // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *ModifyTargetGroupInput {
- s.HealthCheckIntervalSeconds = &v
- return s
- }
- // SetHealthCheckPath sets the HealthCheckPath field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckPath(v string) *ModifyTargetGroupInput {
- s.HealthCheckPath = &v
- return s
- }
- // SetHealthCheckPort sets the HealthCheckPort field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckPort(v string) *ModifyTargetGroupInput {
- s.HealthCheckPort = &v
- return s
- }
- // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckProtocol(v string) *ModifyTargetGroupInput {
- s.HealthCheckProtocol = &v
- return s
- }
- // SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
- func (s *ModifyTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *ModifyTargetGroupInput {
- s.HealthCheckTimeoutSeconds = &v
- return s
- }
- // SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
- func (s *ModifyTargetGroupInput) SetHealthyThresholdCount(v int64) *ModifyTargetGroupInput {
- s.HealthyThresholdCount = &v
- return s
- }
- // SetMatcher sets the Matcher field's value.
- func (s *ModifyTargetGroupInput) SetMatcher(v *Matcher) *ModifyTargetGroupInput {
- s.Matcher = v
- return s
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *ModifyTargetGroupInput) SetTargetGroupArn(v string) *ModifyTargetGroupInput {
- s.TargetGroupArn = &v
- return s
- }
- // SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
- func (s *ModifyTargetGroupInput) SetUnhealthyThresholdCount(v int64) *ModifyTargetGroupInput {
- s.UnhealthyThresholdCount = &v
- return s
- }
- type ModifyTargetGroupOutput struct {
- _ struct{} `type:"structure"`
- // Information about the modified target group.
- TargetGroups []*TargetGroup `type:"list"`
- }
- // String returns the string representation
- func (s ModifyTargetGroupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ModifyTargetGroupOutput) GoString() string {
- return s.String()
- }
- // SetTargetGroups sets the TargetGroups field's value.
- func (s *ModifyTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *ModifyTargetGroupOutput {
- s.TargetGroups = v
- return s
- }
- // Information about a redirect action.
- //
- // A URI consists of the following components: protocol://hostname:port/path?query.
- // You must modify at least one of the following components to avoid a redirect
- // loop: protocol, hostname, port, or path. Any components that you do not modify
- // retain their original values.
- //
- // You can reuse URI components using the following reserved keywords:
- //
- // * #{protocol}
- //
- // * #{host}
- //
- // * #{port}
- //
- // * #{path} (the leading "/" is removed)
- //
- // * #{query}
- //
- // For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}",
- // or the query to "#{query}&value=xyz".
- type RedirectActionConfig struct {
- _ struct{} `type:"structure"`
- // The hostname. This component is not percent-encoded. The hostname can contain
- // #{host}.
- Host *string `min:"1" type:"string"`
- // The absolute path, starting with the leading "/". This component is not percent-encoded.
- // The path can contain #{host}, #{path}, and #{port}.
- Path *string `min:"1" type:"string"`
- // The port. You can specify a value from 1 to 65535 or #{port}.
- Port *string `type:"string"`
- // The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect
- // HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS
- // to HTTP.
- Protocol *string `type:"string"`
- // The query parameters, URL-encoded when necessary, but not percent-encoded.
- // Do not include the leading "?", as it is automatically added. You can specify
- // any of the reserved keywords.
- Query *string `type:"string"`
- // The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary
- // (HTTP 302).
- //
- // StatusCode is a required field
- StatusCode *string `type:"string" required:"true" enum:"RedirectActionStatusCodeEnum"`
- }
- // String returns the string representation
- func (s RedirectActionConfig) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RedirectActionConfig) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RedirectActionConfig) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RedirectActionConfig"}
- if s.Host != nil && len(*s.Host) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Host", 1))
- }
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.StatusCode == nil {
- invalidParams.Add(request.NewErrParamRequired("StatusCode"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHost sets the Host field's value.
- func (s *RedirectActionConfig) SetHost(v string) *RedirectActionConfig {
- s.Host = &v
- return s
- }
- // SetPath sets the Path field's value.
- func (s *RedirectActionConfig) SetPath(v string) *RedirectActionConfig {
- s.Path = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *RedirectActionConfig) SetPort(v string) *RedirectActionConfig {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *RedirectActionConfig) SetProtocol(v string) *RedirectActionConfig {
- s.Protocol = &v
- return s
- }
- // SetQuery sets the Query field's value.
- func (s *RedirectActionConfig) SetQuery(v string) *RedirectActionConfig {
- s.Query = &v
- return s
- }
- // SetStatusCode sets the StatusCode field's value.
- func (s *RedirectActionConfig) SetStatusCode(v string) *RedirectActionConfig {
- s.StatusCode = &v
- return s
- }
- type RegisterTargetsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the target group.
- //
- // TargetGroupArn is a required field
- TargetGroupArn *string `type:"string" required:"true"`
- // The targets.
- //
- // To register a target by instance ID, specify the instance ID. To register
- // a target by IP address, specify the IP address. To register a Lambda function,
- // specify the ARN of the Lambda function.
- //
- // Targets is a required field
- Targets []*TargetDescription `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s RegisterTargetsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterTargetsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RegisterTargetsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RegisterTargetsInput"}
- if s.TargetGroupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
- }
- if s.Targets == nil {
- invalidParams.Add(request.NewErrParamRequired("Targets"))
- }
- if s.Targets != nil {
- for i, v := range s.Targets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *RegisterTargetsInput) SetTargetGroupArn(v string) *RegisterTargetsInput {
- s.TargetGroupArn = &v
- return s
- }
- // SetTargets sets the Targets field's value.
- func (s *RegisterTargetsInput) SetTargets(v []*TargetDescription) *RegisterTargetsInput {
- s.Targets = v
- return s
- }
- type RegisterTargetsOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s RegisterTargetsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterTargetsOutput) GoString() string {
- return s.String()
- }
- type RemoveListenerCertificatesInput struct {
- _ struct{} `type:"structure"`
- // The certificate to remove. You can specify one certificate per call. Set
- // CertificateArn to the certificate ARN but do not set IsDefault.
- //
- // Certificates is a required field
- Certificates []*Certificate `type:"list" required:"true"`
- // The Amazon Resource Name (ARN) of the listener.
- //
- // ListenerArn is a required field
- ListenerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s RemoveListenerCertificatesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemoveListenerCertificatesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RemoveListenerCertificatesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveListenerCertificatesInput"}
- if s.Certificates == nil {
- invalidParams.Add(request.NewErrParamRequired("Certificates"))
- }
- if s.ListenerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCertificates sets the Certificates field's value.
- func (s *RemoveListenerCertificatesInput) SetCertificates(v []*Certificate) *RemoveListenerCertificatesInput {
- s.Certificates = v
- return s
- }
- // SetListenerArn sets the ListenerArn field's value.
- func (s *RemoveListenerCertificatesInput) SetListenerArn(v string) *RemoveListenerCertificatesInput {
- s.ListenerArn = &v
- return s
- }
- type RemoveListenerCertificatesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s RemoveListenerCertificatesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemoveListenerCertificatesOutput) GoString() string {
- return s.String()
- }
- type RemoveTagsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource.
- //
- // ResourceArns is a required field
- ResourceArns []*string `type:"list" required:"true"`
- // The tag keys for the tags to remove.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s RemoveTagsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemoveTagsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RemoveTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
- if s.ResourceArns == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArns sets the ResourceArns field's value.
- func (s *RemoveTagsInput) SetResourceArns(v []*string) *RemoveTagsInput {
- s.ResourceArns = v
- return s
- }
- // SetTagKeys sets the TagKeys field's value.
- func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
- s.TagKeys = v
- return s
- }
- type RemoveTagsOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s RemoveTagsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemoveTagsOutput) GoString() string {
- return s.String()
- }
- // Information about a rule.
- type Rule struct {
- _ struct{} `type:"structure"`
- // The actions.
- Actions []*Action `type:"list"`
- // The conditions.
- Conditions []*RuleCondition `type:"list"`
- // Indicates whether this is the default rule.
- IsDefault *bool `type:"boolean"`
- // The priority.
- Priority *string `type:"string"`
- // The Amazon Resource Name (ARN) of the rule.
- RuleArn *string `type:"string"`
- }
- // String returns the string representation
- func (s Rule) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Rule) GoString() string {
- return s.String()
- }
- // SetActions sets the Actions field's value.
- func (s *Rule) SetActions(v []*Action) *Rule {
- s.Actions = v
- return s
- }
- // SetConditions sets the Conditions field's value.
- func (s *Rule) SetConditions(v []*RuleCondition) *Rule {
- s.Conditions = v
- return s
- }
- // SetIsDefault sets the IsDefault field's value.
- func (s *Rule) SetIsDefault(v bool) *Rule {
- s.IsDefault = &v
- return s
- }
- // SetPriority sets the Priority field's value.
- func (s *Rule) SetPriority(v string) *Rule {
- s.Priority = &v
- return s
- }
- // SetRuleArn sets the RuleArn field's value.
- func (s *Rule) SetRuleArn(v string) *Rule {
- s.RuleArn = &v
- return s
- }
- // Information about a condition for a rule.
- type RuleCondition struct {
- _ struct{} `type:"structure"`
- // The name of the field. The possible values are host-header and path-pattern.
- Field *string `type:"string"`
- // The condition value.
- //
- // If the field name is host-header, you can specify a single host name (for
- // example, my.example.com). A host name is case insensitive, can be up to 128
- // characters in length, and can contain any of the following characters. You
- // can include up to three wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * - .
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- //
- // If the field name is path-pattern, you can specify a single path pattern
- // (for example, /img/*). A path pattern is case-sensitive, can be up to 128
- // characters in length, and can contain any of the following characters. You
- // can include up to three wildcard characters.
- //
- // * A-Z, a-z, 0-9
- //
- // * _ - . $ / ~ " ' @ : +
- //
- // * & (using &)
- //
- // * * (matches 0 or more characters)
- //
- // * ? (matches exactly 1 character)
- Values []*string `type:"list"`
- }
- // String returns the string representation
- func (s RuleCondition) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RuleCondition) GoString() string {
- return s.String()
- }
- // SetField sets the Field field's value.
- func (s *RuleCondition) SetField(v string) *RuleCondition {
- s.Field = &v
- return s
- }
- // SetValues sets the Values field's value.
- func (s *RuleCondition) SetValues(v []*string) *RuleCondition {
- s.Values = v
- return s
- }
- // Information about the priorities for the rules for a listener.
- type RulePriorityPair struct {
- _ struct{} `type:"structure"`
- // The rule priority.
- Priority *int64 `min:"1" type:"integer"`
- // The Amazon Resource Name (ARN) of the rule.
- RuleArn *string `type:"string"`
- }
- // String returns the string representation
- func (s RulePriorityPair) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RulePriorityPair) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RulePriorityPair) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RulePriorityPair"}
- if s.Priority != nil && *s.Priority < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPriority sets the Priority field's value.
- func (s *RulePriorityPair) SetPriority(v int64) *RulePriorityPair {
- s.Priority = &v
- return s
- }
- // SetRuleArn sets the RuleArn field's value.
- func (s *RulePriorityPair) SetRuleArn(v string) *RulePriorityPair {
- s.RuleArn = &v
- return s
- }
- type SetIpAddressTypeInput struct {
- _ struct{} `type:"structure"`
- // The IP address type. The possible values are ipv4 (for IPv4 addresses) and
- // dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use
- // ipv4.
- //
- // IpAddressType is a required field
- IpAddressType *string `type:"string" required:"true" enum:"IpAddressType"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SetIpAddressTypeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetIpAddressTypeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetIpAddressTypeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
- if s.IpAddressType == nil {
- invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
- }
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIpAddressType sets the IpAddressType field's value.
- func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
- s.IpAddressType = &v
- return s
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *SetIpAddressTypeInput) SetLoadBalancerArn(v string) *SetIpAddressTypeInput {
- s.LoadBalancerArn = &v
- return s
- }
- type SetIpAddressTypeOutput struct {
- _ struct{} `type:"structure"`
- // The IP address type.
- IpAddressType *string `type:"string" enum:"IpAddressType"`
- }
- // String returns the string representation
- func (s SetIpAddressTypeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetIpAddressTypeOutput) GoString() string {
- return s.String()
- }
- // SetIpAddressType sets the IpAddressType field's value.
- func (s *SetIpAddressTypeOutput) SetIpAddressType(v string) *SetIpAddressTypeOutput {
- s.IpAddressType = &v
- return s
- }
- type SetRulePrioritiesInput struct {
- _ struct{} `type:"structure"`
- // The rule priorities.
- //
- // RulePriorities is a required field
- RulePriorities []*RulePriorityPair `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s SetRulePrioritiesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetRulePrioritiesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetRulePrioritiesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetRulePrioritiesInput"}
- if s.RulePriorities == nil {
- invalidParams.Add(request.NewErrParamRequired("RulePriorities"))
- }
- if s.RulePriorities != nil {
- for i, v := range s.RulePriorities {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RulePriorities", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRulePriorities sets the RulePriorities field's value.
- func (s *SetRulePrioritiesInput) SetRulePriorities(v []*RulePriorityPair) *SetRulePrioritiesInput {
- s.RulePriorities = v
- return s
- }
- type SetRulePrioritiesOutput struct {
- _ struct{} `type:"structure"`
- // Information about the rules.
- Rules []*Rule `type:"list"`
- }
- // String returns the string representation
- func (s SetRulePrioritiesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetRulePrioritiesOutput) GoString() string {
- return s.String()
- }
- // SetRules sets the Rules field's value.
- func (s *SetRulePrioritiesOutput) SetRules(v []*Rule) *SetRulePrioritiesOutput {
- s.Rules = v
- return s
- }
- type SetSecurityGroupsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- // The IDs of the security groups.
- //
- // SecurityGroups is a required field
- SecurityGroups []*string `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s SetSecurityGroupsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSecurityGroupsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetSecurityGroupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetSecurityGroupsInput"}
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if s.SecurityGroups == nil {
- invalidParams.Add(request.NewErrParamRequired("SecurityGroups"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *SetSecurityGroupsInput) SetLoadBalancerArn(v string) *SetSecurityGroupsInput {
- s.LoadBalancerArn = &v
- return s
- }
- // SetSecurityGroups sets the SecurityGroups field's value.
- func (s *SetSecurityGroupsInput) SetSecurityGroups(v []*string) *SetSecurityGroupsInput {
- s.SecurityGroups = v
- return s
- }
- type SetSecurityGroupsOutput struct {
- _ struct{} `type:"structure"`
- // The IDs of the security groups associated with the load balancer.
- SecurityGroupIds []*string `type:"list"`
- }
- // String returns the string representation
- func (s SetSecurityGroupsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSecurityGroupsOutput) GoString() string {
- return s.String()
- }
- // SetSecurityGroupIds sets the SecurityGroupIds field's value.
- func (s *SetSecurityGroupsOutput) SetSecurityGroupIds(v []*string) *SetSecurityGroupsOutput {
- s.SecurityGroupIds = v
- return s
- }
- type SetSubnetsInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the load balancer.
- //
- // LoadBalancerArn is a required field
- LoadBalancerArn *string `type:"string" required:"true"`
- // The IDs of the public subnets. You must specify subnets from at least two
- // Availability Zones. You can specify only one subnet per Availability Zone.
- // You must specify either subnets or subnet mappings.
- //
- // You cannot specify Elastic IP addresses for your subnets.
- SubnetMappings []*SubnetMapping `type:"list"`
- // The IDs of the public subnets. You must specify subnets from at least two
- // Availability Zones. You can specify only one subnet per Availability Zone.
- // You must specify either subnets or subnet mappings.
- Subnets []*string `type:"list"`
- }
- // String returns the string representation
- func (s SetSubnetsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSubnetsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetSubnetsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetSubnetsInput"}
- if s.LoadBalancerArn == nil {
- invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLoadBalancerArn sets the LoadBalancerArn field's value.
- func (s *SetSubnetsInput) SetLoadBalancerArn(v string) *SetSubnetsInput {
- s.LoadBalancerArn = &v
- return s
- }
- // SetSubnetMappings sets the SubnetMappings field's value.
- func (s *SetSubnetsInput) SetSubnetMappings(v []*SubnetMapping) *SetSubnetsInput {
- s.SubnetMappings = v
- return s
- }
- // SetSubnets sets the Subnets field's value.
- func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput {
- s.Subnets = v
- return s
- }
- type SetSubnetsOutput struct {
- _ struct{} `type:"structure"`
- // Information about the subnet and Availability Zone.
- AvailabilityZones []*AvailabilityZone `type:"list"`
- }
- // String returns the string representation
- func (s SetSubnetsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSubnetsOutput) GoString() string {
- return s.String()
- }
- // SetAvailabilityZones sets the AvailabilityZones field's value.
- func (s *SetSubnetsOutput) SetAvailabilityZones(v []*AvailabilityZone) *SetSubnetsOutput {
- s.AvailabilityZones = v
- return s
- }
- // Information about a policy used for SSL negotiation.
- type SslPolicy struct {
- _ struct{} `type:"structure"`
- // The ciphers.
- Ciphers []*Cipher `type:"list"`
- // The name of the policy.
- Name *string `type:"string"`
- // The protocols.
- SslProtocols []*string `type:"list"`
- }
- // String returns the string representation
- func (s SslPolicy) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SslPolicy) GoString() string {
- return s.String()
- }
- // SetCiphers sets the Ciphers field's value.
- func (s *SslPolicy) SetCiphers(v []*Cipher) *SslPolicy {
- s.Ciphers = v
- return s
- }
- // SetName sets the Name field's value.
- func (s *SslPolicy) SetName(v string) *SslPolicy {
- s.Name = &v
- return s
- }
- // SetSslProtocols sets the SslProtocols field's value.
- func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy {
- s.SslProtocols = v
- return s
- }
- // Information about a subnet mapping.
- type SubnetMapping struct {
- _ struct{} `type:"structure"`
- // [Network Load Balancers] The allocation ID of the Elastic IP address.
- AllocationId *string `type:"string"`
- // The ID of the subnet.
- SubnetId *string `type:"string"`
- }
- // String returns the string representation
- func (s SubnetMapping) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubnetMapping) GoString() string {
- return s.String()
- }
- // SetAllocationId sets the AllocationId field's value.
- func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping {
- s.AllocationId = &v
- return s
- }
- // SetSubnetId sets the SubnetId field's value.
- func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping {
- s.SubnetId = &v
- return s
- }
- // Information about a tag.
- type Tag struct {
- _ struct{} `type:"structure"`
- // The key of the tag.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
- // The value of the tag.
- Value *string `type:"string"`
- }
- // String returns the string representation
- func (s Tag) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tag) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetKey sets the Key field's value.
- func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
- }
- // The tags associated with a resource.
- type TagDescription struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource.
- ResourceArn *string `type:"string"`
- // Information about the tags.
- Tags []*Tag `min:"1" type:"list"`
- }
- // String returns the string representation
- func (s TagDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagDescription) GoString() string {
- return s.String()
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *TagDescription) SetResourceArn(v string) *TagDescription {
- s.ResourceArn = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *TagDescription) SetTags(v []*Tag) *TagDescription {
- s.Tags = v
- return s
- }
- // Information about a target.
- type TargetDescription struct {
- _ struct{} `type:"structure"`
- // An Availability Zone or all. This determines whether the target receives
- // traffic from the load balancer nodes in the specified Availability Zone or
- // from all enabled Availability Zones for the load balancer.
- //
- // This parameter is not supported if the target type of the target group is
- // instance.
- //
- // If the target type is ip and the IP address is in a subnet of the VPC for
- // the target group, the Availability Zone is automatically detected and this
- // parameter is optional. If the IP address is outside the VPC, this parameter
- // is required.
- //
- // With an Application Load Balancer, if the target type is ip and the IP address
- // is outside the VPC for the target group, the only supported value is all.
- //
- // If the target type is lambda, this parameter is optional and the only supported
- // value is all.
- AvailabilityZone *string `type:"string"`
- // The ID of the target. If the target type of the target group is instance,
- // specify an instance ID. If the target type is ip, specify an IP address.
- // If the target type is lambda, specify the ARN of the Lambda function.
- //
- // Id is a required field
- Id *string `type:"string" required:"true"`
- // The port on which the target is listening.
- Port *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s TargetDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TargetDescription) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TargetDescription) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TargetDescription"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAvailabilityZone sets the AvailabilityZone field's value.
- func (s *TargetDescription) SetAvailabilityZone(v string) *TargetDescription {
- s.AvailabilityZone = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *TargetDescription) SetId(v string) *TargetDescription {
- s.Id = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *TargetDescription) SetPort(v int64) *TargetDescription {
- s.Port = &v
- return s
- }
- // Information about a target group.
- type TargetGroup struct {
- _ struct{} `type:"structure"`
- // Indicates whether health checks are enabled.
- HealthCheckEnabled *bool `type:"boolean"`
- // The approximate amount of time, in seconds, between health checks of an individual
- // target.
- HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // The destination for the health check request.
- HealthCheckPath *string `min:"1" type:"string"`
- // The port to use to connect with the target.
- HealthCheckPort *string `type:"string"`
- // The protocol to use to connect with the target.
- HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
- // The amount of time, in seconds, during which no response means a failed health
- // check.
- HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
- // The number of consecutive health checks successes required before considering
- // an unhealthy target healthy.
- HealthyThresholdCount *int64 `min:"2" type:"integer"`
- // The Amazon Resource Names (ARN) of the load balancers that route traffic
- // to this target group.
- LoadBalancerArns []*string `type:"list"`
- // The HTTP codes to use when checking for a successful response from a target.
- Matcher *Matcher `type:"structure"`
- // The port on which the targets are listening.
- Port *int64 `min:"1" type:"integer"`
- // The protocol to use for routing traffic to the targets.
- Protocol *string `type:"string" enum:"ProtocolEnum"`
- // The Amazon Resource Name (ARN) of the target group.
- TargetGroupArn *string `type:"string"`
- // The name of the target group.
- TargetGroupName *string `type:"string"`
- // The type of target that you must specify when registering targets with this
- // target group. The possible values are instance (targets are specified by
- // instance ID) or ip (targets are specified by IP address).
- TargetType *string `type:"string" enum:"TargetTypeEnum"`
- // The number of consecutive health check failures required before considering
- // the target unhealthy.
- UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
- // The ID of the VPC for the targets.
- VpcId *string `type:"string"`
- }
- // String returns the string representation
- func (s TargetGroup) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TargetGroup) GoString() string {
- return s.String()
- }
- // SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
- func (s *TargetGroup) SetHealthCheckEnabled(v bool) *TargetGroup {
- s.HealthCheckEnabled = &v
- return s
- }
- // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
- func (s *TargetGroup) SetHealthCheckIntervalSeconds(v int64) *TargetGroup {
- s.HealthCheckIntervalSeconds = &v
- return s
- }
- // SetHealthCheckPath sets the HealthCheckPath field's value.
- func (s *TargetGroup) SetHealthCheckPath(v string) *TargetGroup {
- s.HealthCheckPath = &v
- return s
- }
- // SetHealthCheckPort sets the HealthCheckPort field's value.
- func (s *TargetGroup) SetHealthCheckPort(v string) *TargetGroup {
- s.HealthCheckPort = &v
- return s
- }
- // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
- func (s *TargetGroup) SetHealthCheckProtocol(v string) *TargetGroup {
- s.HealthCheckProtocol = &v
- return s
- }
- // SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
- func (s *TargetGroup) SetHealthCheckTimeoutSeconds(v int64) *TargetGroup {
- s.HealthCheckTimeoutSeconds = &v
- return s
- }
- // SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
- func (s *TargetGroup) SetHealthyThresholdCount(v int64) *TargetGroup {
- s.HealthyThresholdCount = &v
- return s
- }
- // SetLoadBalancerArns sets the LoadBalancerArns field's value.
- func (s *TargetGroup) SetLoadBalancerArns(v []*string) *TargetGroup {
- s.LoadBalancerArns = v
- return s
- }
- // SetMatcher sets the Matcher field's value.
- func (s *TargetGroup) SetMatcher(v *Matcher) *TargetGroup {
- s.Matcher = v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *TargetGroup) SetPort(v int64) *TargetGroup {
- s.Port = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *TargetGroup) SetProtocol(v string) *TargetGroup {
- s.Protocol = &v
- return s
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *TargetGroup) SetTargetGroupArn(v string) *TargetGroup {
- s.TargetGroupArn = &v
- return s
- }
- // SetTargetGroupName sets the TargetGroupName field's value.
- func (s *TargetGroup) SetTargetGroupName(v string) *TargetGroup {
- s.TargetGroupName = &v
- return s
- }
- // SetTargetType sets the TargetType field's value.
- func (s *TargetGroup) SetTargetType(v string) *TargetGroup {
- s.TargetType = &v
- return s
- }
- // SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
- func (s *TargetGroup) SetUnhealthyThresholdCount(v int64) *TargetGroup {
- s.UnhealthyThresholdCount = &v
- return s
- }
- // SetVpcId sets the VpcId field's value.
- func (s *TargetGroup) SetVpcId(v string) *TargetGroup {
- s.VpcId = &v
- return s
- }
- // Information about a target group attribute.
- type TargetGroupAttribute struct {
- _ struct{} `type:"structure"`
- // The name of the attribute.
- //
- // The following attribute is supported by both Application Load Balancers and
- // Network Load Balancers:
- //
- // * deregistration_delay.timeout_seconds - The amount of time, in seconds,
- // for Elastic Load Balancing to wait before changing the state of a deregistering
- // target from draining to unused. The range is 0-3600 seconds. The default
- // value is 300 seconds. If the target is a Lambda function, this attribute
- // is not supported.
- //
- // The following attributes are supported by Application Load Balancers if the
- // target is not a Lambda function:
- //
- // * slow_start.duration_seconds - The time period, in seconds, during which
- // a newly registered target receives a linearly increasing share of the
- // traffic to the target group. After this time period ends, the target receives
- // its full share of traffic. The range is 30-900 seconds (15 minutes). Slow
- // start mode is disabled by default.
- //
- // * stickiness.enabled - Indicates whether sticky sessions are enabled.
- // The value is true or false. The default is false.
- //
- // * stickiness.type - The type of sticky sessions. The possible value is
- // lb_cookie.
- //
- // * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
- // during which requests from a client should be routed to the same target.
- // After this time period expires, the load balancer-generated cookie is
- // considered stale. The range is 1 second to 1 week (604800 seconds). The
- // default value is 1 day (86400 seconds).
- //
- // The following attribute is supported only if the target is a Lambda function.
- //
- // * lambda.multi_value_headers.enabled - Indicates whether the request and
- // response headers exchanged between the load balancer and the Lambda function
- // include arrays of values or strings. The value is true or false. The default
- // is false. If the value is false and the request contains a duplicate header
- // field name or query parameter key, the load balancer uses the last value
- // sent by the client.
- //
- // The following attribute is supported only by Network Load Balancers:
- //
- // * proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version
- // 2 is enabled. The value is true or false. The default is false.
- Key *string `type:"string"`
- // The value of the attribute.
- Value *string `type:"string"`
- }
- // String returns the string representation
- func (s TargetGroupAttribute) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TargetGroupAttribute) GoString() string {
- return s.String()
- }
- // SetKey sets the Key field's value.
- func (s *TargetGroupAttribute) SetKey(v string) *TargetGroupAttribute {
- s.Key = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *TargetGroupAttribute) SetValue(v string) *TargetGroupAttribute {
- s.Value = &v
- return s
- }
- // Information about the current health of a target.
- type TargetHealth struct {
- _ struct{} `type:"structure"`
- // A description of the target health that provides additional details. If the
- // state is healthy, a description is not provided.
- Description *string `type:"string"`
- // The reason code.
- //
- // If the target state is healthy, a reason code is not provided.
- //
- // If the target state is initial, the reason code can be one of the following
- // values:
- //
- // * Elb.RegistrationInProgress - The target is in the process of being registered
- // with the load balancer.
- //
- // * Elb.InitialHealthChecking - The load balancer is still sending the target
- // the minimum number of health checks required to determine its health status.
- //
- // If the target state is unhealthy, the reason code can be one of the following
- // values:
- //
- // * Target.ResponseCodeMismatch - The health checks did not return an expected
- // HTTP code.
- //
- // * Target.Timeout - The health check requests timed out.
- //
- // * Target.FailedHealthChecks - The health checks failed because the connection
- // to the target timed out, the target response was malformed, or the target
- // failed the health check for an unknown reason.
- //
- // * Elb.InternalError - The health checks failed due to an internal error.
- //
- // If the target state is unused, the reason code can be one of the following
- // values:
- //
- // * Target.NotRegistered - The target is not registered with the target
- // group.
- //
- // * Target.NotInUse - The target group is not used by any load balancer
- // or the target is in an Availability Zone that is not enabled for its load
- // balancer.
- //
- // * Target.IpUnusable - The target IP address is reserved for use by a load
- // balancer.
- //
- // * Target.InvalidState - The target is in the stopped or terminated state.
- //
- // If the target state is draining, the reason code can be the following value:
- //
- // * Target.DeregistrationInProgress - The target is in the process of being
- // deregistered and the deregistration delay period has not expired.
- //
- // If the target state is unavailable, the reason code can be the following
- // value:
- //
- // * Target.HealthCheckDisabled - Health checks are disabled for the target
- // group.
- Reason *string `type:"string" enum:"TargetHealthReasonEnum"`
- // The state of the target.
- State *string `type:"string" enum:"TargetHealthStateEnum"`
- }
- // String returns the string representation
- func (s TargetHealth) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TargetHealth) GoString() string {
- return s.String()
- }
- // SetDescription sets the Description field's value.
- func (s *TargetHealth) SetDescription(v string) *TargetHealth {
- s.Description = &v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *TargetHealth) SetReason(v string) *TargetHealth {
- s.Reason = &v
- return s
- }
- // SetState sets the State field's value.
- func (s *TargetHealth) SetState(v string) *TargetHealth {
- s.State = &v
- return s
- }
- // Information about the health of a target.
- type TargetHealthDescription struct {
- _ struct{} `type:"structure"`
- // The port to use to connect with the target.
- HealthCheckPort *string `type:"string"`
- // The description of the target.
- Target *TargetDescription `type:"structure"`
- // The health information for the target.
- TargetHealth *TargetHealth `type:"structure"`
- }
- // String returns the string representation
- func (s TargetHealthDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TargetHealthDescription) GoString() string {
- return s.String()
- }
- // SetHealthCheckPort sets the HealthCheckPort field's value.
- func (s *TargetHealthDescription) SetHealthCheckPort(v string) *TargetHealthDescription {
- s.HealthCheckPort = &v
- return s
- }
- // SetTarget sets the Target field's value.
- func (s *TargetHealthDescription) SetTarget(v *TargetDescription) *TargetHealthDescription {
- s.Target = v
- return s
- }
- // SetTargetHealth sets the TargetHealth field's value.
- func (s *TargetHealthDescription) SetTargetHealth(v *TargetHealth) *TargetHealthDescription {
- s.TargetHealth = v
- return s
- }
- const (
- // ActionTypeEnumForward is a ActionTypeEnum enum value
- ActionTypeEnumForward = "forward"
- // ActionTypeEnumAuthenticateOidc is a ActionTypeEnum enum value
- ActionTypeEnumAuthenticateOidc = "authenticate-oidc"
- // ActionTypeEnumAuthenticateCognito is a ActionTypeEnum enum value
- ActionTypeEnumAuthenticateCognito = "authenticate-cognito"
- // ActionTypeEnumRedirect is a ActionTypeEnum enum value
- ActionTypeEnumRedirect = "redirect"
- // ActionTypeEnumFixedResponse is a ActionTypeEnum enum value
- ActionTypeEnumFixedResponse = "fixed-response"
- )
- const (
- // AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
- AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
- // AuthenticateCognitoActionConditionalBehaviorEnumAllow is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
- AuthenticateCognitoActionConditionalBehaviorEnumAllow = "allow"
- // AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
- AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
- )
- const (
- // AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
- AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
- // AuthenticateOidcActionConditionalBehaviorEnumAllow is a AuthenticateOidcActionConditionalBehaviorEnum enum value
- AuthenticateOidcActionConditionalBehaviorEnumAllow = "allow"
- // AuthenticateOidcActionConditionalBehaviorEnumAuthenticate is a AuthenticateOidcActionConditionalBehaviorEnum enum value
- AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
- )
- const (
- // IpAddressTypeIpv4 is a IpAddressType enum value
- IpAddressTypeIpv4 = "ipv4"
- // IpAddressTypeDualstack is a IpAddressType enum value
- IpAddressTypeDualstack = "dualstack"
- )
- const (
- // LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
- LoadBalancerSchemeEnumInternetFacing = "internet-facing"
- // LoadBalancerSchemeEnumInternal is a LoadBalancerSchemeEnum enum value
- LoadBalancerSchemeEnumInternal = "internal"
- )
- const (
- // LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
- LoadBalancerStateEnumActive = "active"
- // LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value
- LoadBalancerStateEnumProvisioning = "provisioning"
- // LoadBalancerStateEnumActiveImpaired is a LoadBalancerStateEnum enum value
- LoadBalancerStateEnumActiveImpaired = "active_impaired"
- // LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value
- LoadBalancerStateEnumFailed = "failed"
- )
- const (
- // LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
- LoadBalancerTypeEnumApplication = "application"
- // LoadBalancerTypeEnumNetwork is a LoadBalancerTypeEnum enum value
- LoadBalancerTypeEnumNetwork = "network"
- )
- const (
- // ProtocolEnumHttp is a ProtocolEnum enum value
- ProtocolEnumHttp = "HTTP"
- // ProtocolEnumHttps is a ProtocolEnum enum value
- ProtocolEnumHttps = "HTTPS"
- // ProtocolEnumTcp is a ProtocolEnum enum value
- ProtocolEnumTcp = "TCP"
- )
- const (
- // RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
- RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
- // RedirectActionStatusCodeEnumHttp302 is a RedirectActionStatusCodeEnum enum value
- RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
- )
- const (
- // TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
- // TargetHealthReasonEnumElbInitialHealthChecking is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking"
- // TargetHealthReasonEnumTargetResponseCodeMismatch is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch"
- // TargetHealthReasonEnumTargetTimeout is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetTimeout = "Target.Timeout"
- // TargetHealthReasonEnumTargetFailedHealthChecks is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks"
- // TargetHealthReasonEnumTargetNotRegistered is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered"
- // TargetHealthReasonEnumTargetNotInUse is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse"
- // TargetHealthReasonEnumTargetDeregistrationInProgress is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress"
- // TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState"
- // TargetHealthReasonEnumTargetIpUnusable is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetIpUnusable = "Target.IpUnusable"
- // TargetHealthReasonEnumTargetHealthCheckDisabled is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumTargetHealthCheckDisabled = "Target.HealthCheckDisabled"
- // TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value
- TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
- )
- const (
- // TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
- TargetHealthStateEnumInitial = "initial"
- // TargetHealthStateEnumHealthy is a TargetHealthStateEnum enum value
- TargetHealthStateEnumHealthy = "healthy"
- // TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value
- TargetHealthStateEnumUnhealthy = "unhealthy"
- // TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value
- TargetHealthStateEnumUnused = "unused"
- // TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value
- TargetHealthStateEnumDraining = "draining"
- // TargetHealthStateEnumUnavailable is a TargetHealthStateEnum enum value
- TargetHealthStateEnumUnavailable = "unavailable"
- )
- const (
- // TargetTypeEnumInstance is a TargetTypeEnum enum value
- TargetTypeEnumInstance = "instance"
- // TargetTypeEnumIp is a TargetTypeEnum enum value
- TargetTypeEnumIp = "ip"
- // TargetTypeEnumLambda is a TargetTypeEnum enum value
- TargetTypeEnumLambda = "lambda"
- )
|