api.go 326 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package directconnect
  3. import (
  4. "fmt"
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
  11. )
  12. const opAllocateConnectionOnInterconnect = "AllocateConnectionOnInterconnect"
  13. // AllocateConnectionOnInterconnectRequest generates a "aws/request.Request" representing the
  14. // client's request for the AllocateConnectionOnInterconnect operation. The "output" return
  15. // value will be populated with the request's response once the request completes
  16. // successfully.
  17. //
  18. // Use "Send" method on the returned Request to send the API call to the service.
  19. // the "output" return value is not valid until after Send returns without error.
  20. //
  21. // See AllocateConnectionOnInterconnect for more information on using the AllocateConnectionOnInterconnect
  22. // API call, and error handling.
  23. //
  24. // This method is useful when you want to inject custom logic or configuration
  25. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26. //
  27. //
  28. // // Example sending a request using the AllocateConnectionOnInterconnectRequest method.
  29. // req, resp := client.AllocateConnectionOnInterconnectRequest(params)
  30. //
  31. // err := req.Send()
  32. // if err == nil { // resp is now filled
  33. // fmt.Println(resp)
  34. // }
  35. //
  36. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateConnectionOnInterconnect
  37. //
  38. // Deprecated: AllocateConnectionOnInterconnect has been deprecated
  39. func (c *DirectConnect) AllocateConnectionOnInterconnectRequest(input *AllocateConnectionOnInterconnectInput) (req *request.Request, output *Connection) {
  40. if c.Client.Config.Logger != nil {
  41. c.Client.Config.Logger.Log("This operation, AllocateConnectionOnInterconnect, has been deprecated")
  42. }
  43. op := &request.Operation{
  44. Name: opAllocateConnectionOnInterconnect,
  45. HTTPMethod: "POST",
  46. HTTPPath: "/",
  47. }
  48. if input == nil {
  49. input = &AllocateConnectionOnInterconnectInput{}
  50. }
  51. output = &Connection{}
  52. req = c.newRequest(op, input, output)
  53. return
  54. }
  55. // AllocateConnectionOnInterconnect API operation for AWS Direct Connect.
  56. //
  57. // Deprecated. Use AllocateHostedConnection instead.
  58. //
  59. // Creates a hosted connection on an interconnect.
  60. //
  61. // Allocates a VLAN number and a specified amount of bandwidth for use by a
  62. // hosted connection on the specified interconnect.
  63. //
  64. // Intended for use by AWS Direct Connect partners only.
  65. //
  66. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  67. // with awserr.Error's Code and Message methods to get detailed information about
  68. // the error.
  69. //
  70. // See the AWS API reference guide for AWS Direct Connect's
  71. // API operation AllocateConnectionOnInterconnect for usage and error information.
  72. //
  73. // Returned Error Codes:
  74. // * ErrCodeServerException "DirectConnectServerException"
  75. // A server-side error occurred.
  76. //
  77. // * ErrCodeClientException "DirectConnectClientException"
  78. // One or more parameters are not valid.
  79. //
  80. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateConnectionOnInterconnect
  81. //
  82. // Deprecated: AllocateConnectionOnInterconnect has been deprecated
  83. func (c *DirectConnect) AllocateConnectionOnInterconnect(input *AllocateConnectionOnInterconnectInput) (*Connection, error) {
  84. req, out := c.AllocateConnectionOnInterconnectRequest(input)
  85. return out, req.Send()
  86. }
  87. // AllocateConnectionOnInterconnectWithContext is the same as AllocateConnectionOnInterconnect with the addition of
  88. // the ability to pass a context and additional request options.
  89. //
  90. // See AllocateConnectionOnInterconnect for details on how to use this API operation.
  91. //
  92. // The context must be non-nil and will be used for request cancellation. If
  93. // the context is nil a panic will occur. In the future the SDK may create
  94. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  95. // for more information on using Contexts.
  96. //
  97. // Deprecated: AllocateConnectionOnInterconnectWithContext has been deprecated
  98. func (c *DirectConnect) AllocateConnectionOnInterconnectWithContext(ctx aws.Context, input *AllocateConnectionOnInterconnectInput, opts ...request.Option) (*Connection, error) {
  99. req, out := c.AllocateConnectionOnInterconnectRequest(input)
  100. req.SetContext(ctx)
  101. req.ApplyOptions(opts...)
  102. return out, req.Send()
  103. }
  104. const opAllocateHostedConnection = "AllocateHostedConnection"
  105. // AllocateHostedConnectionRequest generates a "aws/request.Request" representing the
  106. // client's request for the AllocateHostedConnection operation. The "output" return
  107. // value will be populated with the request's response once the request completes
  108. // successfully.
  109. //
  110. // Use "Send" method on the returned Request to send the API call to the service.
  111. // the "output" return value is not valid until after Send returns without error.
  112. //
  113. // See AllocateHostedConnection for more information on using the AllocateHostedConnection
  114. // API call, and error handling.
  115. //
  116. // This method is useful when you want to inject custom logic or configuration
  117. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  118. //
  119. //
  120. // // Example sending a request using the AllocateHostedConnectionRequest method.
  121. // req, resp := client.AllocateHostedConnectionRequest(params)
  122. //
  123. // err := req.Send()
  124. // if err == nil { // resp is now filled
  125. // fmt.Println(resp)
  126. // }
  127. //
  128. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateHostedConnection
  129. func (c *DirectConnect) AllocateHostedConnectionRequest(input *AllocateHostedConnectionInput) (req *request.Request, output *Connection) {
  130. op := &request.Operation{
  131. Name: opAllocateHostedConnection,
  132. HTTPMethod: "POST",
  133. HTTPPath: "/",
  134. }
  135. if input == nil {
  136. input = &AllocateHostedConnectionInput{}
  137. }
  138. output = &Connection{}
  139. req = c.newRequest(op, input, output)
  140. return
  141. }
  142. // AllocateHostedConnection API operation for AWS Direct Connect.
  143. //
  144. // Creates a hosted connection on the specified interconnect or a link aggregation
  145. // group (LAG).
  146. //
  147. // Allocates a VLAN number and a specified amount of bandwidth for use by a
  148. // hosted connection on the specified interconnect or LAG.
  149. //
  150. // Intended for use by AWS Direct Connect partners only.
  151. //
  152. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  153. // with awserr.Error's Code and Message methods to get detailed information about
  154. // the error.
  155. //
  156. // See the AWS API reference guide for AWS Direct Connect's
  157. // API operation AllocateHostedConnection for usage and error information.
  158. //
  159. // Returned Error Codes:
  160. // * ErrCodeServerException "DirectConnectServerException"
  161. // A server-side error occurred.
  162. //
  163. // * ErrCodeClientException "DirectConnectClientException"
  164. // One or more parameters are not valid.
  165. //
  166. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateHostedConnection
  167. func (c *DirectConnect) AllocateHostedConnection(input *AllocateHostedConnectionInput) (*Connection, error) {
  168. req, out := c.AllocateHostedConnectionRequest(input)
  169. return out, req.Send()
  170. }
  171. // AllocateHostedConnectionWithContext is the same as AllocateHostedConnection with the addition of
  172. // the ability to pass a context and additional request options.
  173. //
  174. // See AllocateHostedConnection for details on how to use this API operation.
  175. //
  176. // The context must be non-nil and will be used for request cancellation. If
  177. // the context is nil a panic will occur. In the future the SDK may create
  178. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  179. // for more information on using Contexts.
  180. func (c *DirectConnect) AllocateHostedConnectionWithContext(ctx aws.Context, input *AllocateHostedConnectionInput, opts ...request.Option) (*Connection, error) {
  181. req, out := c.AllocateHostedConnectionRequest(input)
  182. req.SetContext(ctx)
  183. req.ApplyOptions(opts...)
  184. return out, req.Send()
  185. }
  186. const opAllocatePrivateVirtualInterface = "AllocatePrivateVirtualInterface"
  187. // AllocatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  188. // client's request for the AllocatePrivateVirtualInterface operation. The "output" return
  189. // value will be populated with the request's response once the request completes
  190. // successfully.
  191. //
  192. // Use "Send" method on the returned Request to send the API call to the service.
  193. // the "output" return value is not valid until after Send returns without error.
  194. //
  195. // See AllocatePrivateVirtualInterface for more information on using the AllocatePrivateVirtualInterface
  196. // API call, and error handling.
  197. //
  198. // This method is useful when you want to inject custom logic or configuration
  199. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  200. //
  201. //
  202. // // Example sending a request using the AllocatePrivateVirtualInterfaceRequest method.
  203. // req, resp := client.AllocatePrivateVirtualInterfaceRequest(params)
  204. //
  205. // err := req.Send()
  206. // if err == nil { // resp is now filled
  207. // fmt.Println(resp)
  208. // }
  209. //
  210. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePrivateVirtualInterface
  211. func (c *DirectConnect) AllocatePrivateVirtualInterfaceRequest(input *AllocatePrivateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  212. op := &request.Operation{
  213. Name: opAllocatePrivateVirtualInterface,
  214. HTTPMethod: "POST",
  215. HTTPPath: "/",
  216. }
  217. if input == nil {
  218. input = &AllocatePrivateVirtualInterfaceInput{}
  219. }
  220. output = &VirtualInterface{}
  221. req = c.newRequest(op, input, output)
  222. return
  223. }
  224. // AllocatePrivateVirtualInterface API operation for AWS Direct Connect.
  225. //
  226. // Provisions a private virtual interface to be owned by the specified AWS account.
  227. //
  228. // Virtual interfaces created using this action must be confirmed by the owner
  229. // using ConfirmPrivateVirtualInterface. Until then, the virtual interface is
  230. // in the Confirming state and is not available to handle traffic.
  231. //
  232. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  233. // with awserr.Error's Code and Message methods to get detailed information about
  234. // the error.
  235. //
  236. // See the AWS API reference guide for AWS Direct Connect's
  237. // API operation AllocatePrivateVirtualInterface for usage and error information.
  238. //
  239. // Returned Error Codes:
  240. // * ErrCodeServerException "DirectConnectServerException"
  241. // A server-side error occurred.
  242. //
  243. // * ErrCodeClientException "DirectConnectClientException"
  244. // One or more parameters are not valid.
  245. //
  246. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePrivateVirtualInterface
  247. func (c *DirectConnect) AllocatePrivateVirtualInterface(input *AllocatePrivateVirtualInterfaceInput) (*VirtualInterface, error) {
  248. req, out := c.AllocatePrivateVirtualInterfaceRequest(input)
  249. return out, req.Send()
  250. }
  251. // AllocatePrivateVirtualInterfaceWithContext is the same as AllocatePrivateVirtualInterface with the addition of
  252. // the ability to pass a context and additional request options.
  253. //
  254. // See AllocatePrivateVirtualInterface for details on how to use this API operation.
  255. //
  256. // The context must be non-nil and will be used for request cancellation. If
  257. // the context is nil a panic will occur. In the future the SDK may create
  258. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  259. // for more information on using Contexts.
  260. func (c *DirectConnect) AllocatePrivateVirtualInterfaceWithContext(ctx aws.Context, input *AllocatePrivateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  261. req, out := c.AllocatePrivateVirtualInterfaceRequest(input)
  262. req.SetContext(ctx)
  263. req.ApplyOptions(opts...)
  264. return out, req.Send()
  265. }
  266. const opAllocatePublicVirtualInterface = "AllocatePublicVirtualInterface"
  267. // AllocatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
  268. // client's request for the AllocatePublicVirtualInterface operation. The "output" return
  269. // value will be populated with the request's response once the request completes
  270. // successfully.
  271. //
  272. // Use "Send" method on the returned Request to send the API call to the service.
  273. // the "output" return value is not valid until after Send returns without error.
  274. //
  275. // See AllocatePublicVirtualInterface for more information on using the AllocatePublicVirtualInterface
  276. // API call, and error handling.
  277. //
  278. // This method is useful when you want to inject custom logic or configuration
  279. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  280. //
  281. //
  282. // // Example sending a request using the AllocatePublicVirtualInterfaceRequest method.
  283. // req, resp := client.AllocatePublicVirtualInterfaceRequest(params)
  284. //
  285. // err := req.Send()
  286. // if err == nil { // resp is now filled
  287. // fmt.Println(resp)
  288. // }
  289. //
  290. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePublicVirtualInterface
  291. func (c *DirectConnect) AllocatePublicVirtualInterfaceRequest(input *AllocatePublicVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  292. op := &request.Operation{
  293. Name: opAllocatePublicVirtualInterface,
  294. HTTPMethod: "POST",
  295. HTTPPath: "/",
  296. }
  297. if input == nil {
  298. input = &AllocatePublicVirtualInterfaceInput{}
  299. }
  300. output = &VirtualInterface{}
  301. req = c.newRequest(op, input, output)
  302. return
  303. }
  304. // AllocatePublicVirtualInterface API operation for AWS Direct Connect.
  305. //
  306. // Provisions a public virtual interface to be owned by the specified AWS account.
  307. //
  308. // The owner of a connection calls this function to provision a public virtual
  309. // interface to be owned by the specified AWS account.
  310. //
  311. // Virtual interfaces created using this function must be confirmed by the owner
  312. // using ConfirmPublicVirtualInterface. Until this step has been completed,
  313. // the virtual interface is in the confirming state and is not available to
  314. // handle traffic.
  315. //
  316. // When creating an IPv6 public virtual interface, omit the Amazon address and
  317. // customer address. IPv6 addresses are automatically assigned from the Amazon
  318. // pool of IPv6 addresses; you cannot specify custom IPv6 addresses.
  319. //
  320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  321. // with awserr.Error's Code and Message methods to get detailed information about
  322. // the error.
  323. //
  324. // See the AWS API reference guide for AWS Direct Connect's
  325. // API operation AllocatePublicVirtualInterface for usage and error information.
  326. //
  327. // Returned Error Codes:
  328. // * ErrCodeServerException "DirectConnectServerException"
  329. // A server-side error occurred.
  330. //
  331. // * ErrCodeClientException "DirectConnectClientException"
  332. // One or more parameters are not valid.
  333. //
  334. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePublicVirtualInterface
  335. func (c *DirectConnect) AllocatePublicVirtualInterface(input *AllocatePublicVirtualInterfaceInput) (*VirtualInterface, error) {
  336. req, out := c.AllocatePublicVirtualInterfaceRequest(input)
  337. return out, req.Send()
  338. }
  339. // AllocatePublicVirtualInterfaceWithContext is the same as AllocatePublicVirtualInterface with the addition of
  340. // the ability to pass a context and additional request options.
  341. //
  342. // See AllocatePublicVirtualInterface for details on how to use this API operation.
  343. //
  344. // The context must be non-nil and will be used for request cancellation. If
  345. // the context is nil a panic will occur. In the future the SDK may create
  346. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  347. // for more information on using Contexts.
  348. func (c *DirectConnect) AllocatePublicVirtualInterfaceWithContext(ctx aws.Context, input *AllocatePublicVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  349. req, out := c.AllocatePublicVirtualInterfaceRequest(input)
  350. req.SetContext(ctx)
  351. req.ApplyOptions(opts...)
  352. return out, req.Send()
  353. }
  354. const opAssociateConnectionWithLag = "AssociateConnectionWithLag"
  355. // AssociateConnectionWithLagRequest generates a "aws/request.Request" representing the
  356. // client's request for the AssociateConnectionWithLag operation. The "output" return
  357. // value will be populated with the request's response once the request completes
  358. // successfully.
  359. //
  360. // Use "Send" method on the returned Request to send the API call to the service.
  361. // the "output" return value is not valid until after Send returns without error.
  362. //
  363. // See AssociateConnectionWithLag for more information on using the AssociateConnectionWithLag
  364. // API call, and error handling.
  365. //
  366. // This method is useful when you want to inject custom logic or configuration
  367. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  368. //
  369. //
  370. // // Example sending a request using the AssociateConnectionWithLagRequest method.
  371. // req, resp := client.AssociateConnectionWithLagRequest(params)
  372. //
  373. // err := req.Send()
  374. // if err == nil { // resp is now filled
  375. // fmt.Println(resp)
  376. // }
  377. //
  378. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateConnectionWithLag
  379. func (c *DirectConnect) AssociateConnectionWithLagRequest(input *AssociateConnectionWithLagInput) (req *request.Request, output *Connection) {
  380. op := &request.Operation{
  381. Name: opAssociateConnectionWithLag,
  382. HTTPMethod: "POST",
  383. HTTPPath: "/",
  384. }
  385. if input == nil {
  386. input = &AssociateConnectionWithLagInput{}
  387. }
  388. output = &Connection{}
  389. req = c.newRequest(op, input, output)
  390. return
  391. }
  392. // AssociateConnectionWithLag API operation for AWS Direct Connect.
  393. //
  394. // Associates an existing connection with a link aggregation group (LAG). The
  395. // connection is interrupted and re-established as a member of the LAG (connectivity
  396. // to AWS is interrupted). The connection must be hosted on the same AWS Direct
  397. // Connect endpoint as the LAG, and its bandwidth must match the bandwidth for
  398. // the LAG. You can re-associate a connection that's currently associated with
  399. // a different LAG; however, if removing the connection would cause the original
  400. // LAG to fall below its setting for minimum number of operational connections,
  401. // the request fails.
  402. //
  403. // Any virtual interfaces that are directly associated with the connection are
  404. // automatically re-associated with the LAG. If the connection was originally
  405. // associated with a different LAG, the virtual interfaces remain associated
  406. // with the original LAG.
  407. //
  408. // For interconnects, any hosted connections are automatically re-associated
  409. // with the LAG. If the interconnect was originally associated with a different
  410. // LAG, the hosted connections remain associated with the original LAG.
  411. //
  412. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  413. // with awserr.Error's Code and Message methods to get detailed information about
  414. // the error.
  415. //
  416. // See the AWS API reference guide for AWS Direct Connect's
  417. // API operation AssociateConnectionWithLag for usage and error information.
  418. //
  419. // Returned Error Codes:
  420. // * ErrCodeServerException "DirectConnectServerException"
  421. // A server-side error occurred.
  422. //
  423. // * ErrCodeClientException "DirectConnectClientException"
  424. // One or more parameters are not valid.
  425. //
  426. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateConnectionWithLag
  427. func (c *DirectConnect) AssociateConnectionWithLag(input *AssociateConnectionWithLagInput) (*Connection, error) {
  428. req, out := c.AssociateConnectionWithLagRequest(input)
  429. return out, req.Send()
  430. }
  431. // AssociateConnectionWithLagWithContext is the same as AssociateConnectionWithLag with the addition of
  432. // the ability to pass a context and additional request options.
  433. //
  434. // See AssociateConnectionWithLag for details on how to use this API operation.
  435. //
  436. // The context must be non-nil and will be used for request cancellation. If
  437. // the context is nil a panic will occur. In the future the SDK may create
  438. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  439. // for more information on using Contexts.
  440. func (c *DirectConnect) AssociateConnectionWithLagWithContext(ctx aws.Context, input *AssociateConnectionWithLagInput, opts ...request.Option) (*Connection, error) {
  441. req, out := c.AssociateConnectionWithLagRequest(input)
  442. req.SetContext(ctx)
  443. req.ApplyOptions(opts...)
  444. return out, req.Send()
  445. }
  446. const opAssociateHostedConnection = "AssociateHostedConnection"
  447. // AssociateHostedConnectionRequest generates a "aws/request.Request" representing the
  448. // client's request for the AssociateHostedConnection operation. The "output" return
  449. // value will be populated with the request's response once the request completes
  450. // successfully.
  451. //
  452. // Use "Send" method on the returned Request to send the API call to the service.
  453. // the "output" return value is not valid until after Send returns without error.
  454. //
  455. // See AssociateHostedConnection for more information on using the AssociateHostedConnection
  456. // API call, and error handling.
  457. //
  458. // This method is useful when you want to inject custom logic or configuration
  459. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  460. //
  461. //
  462. // // Example sending a request using the AssociateHostedConnectionRequest method.
  463. // req, resp := client.AssociateHostedConnectionRequest(params)
  464. //
  465. // err := req.Send()
  466. // if err == nil { // resp is now filled
  467. // fmt.Println(resp)
  468. // }
  469. //
  470. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateHostedConnection
  471. func (c *DirectConnect) AssociateHostedConnectionRequest(input *AssociateHostedConnectionInput) (req *request.Request, output *Connection) {
  472. op := &request.Operation{
  473. Name: opAssociateHostedConnection,
  474. HTTPMethod: "POST",
  475. HTTPPath: "/",
  476. }
  477. if input == nil {
  478. input = &AssociateHostedConnectionInput{}
  479. }
  480. output = &Connection{}
  481. req = c.newRequest(op, input, output)
  482. return
  483. }
  484. // AssociateHostedConnection API operation for AWS Direct Connect.
  485. //
  486. // Associates a hosted connection and its virtual interfaces with a link aggregation
  487. // group (LAG) or interconnect. If the target interconnect or LAG has an existing
  488. // hosted connection with a conflicting VLAN number or IP address, the operation
  489. // fails. This action temporarily interrupts the hosted connection's connectivity
  490. // to AWS as it is being migrated.
  491. //
  492. // Intended for use by AWS Direct Connect partners only.
  493. //
  494. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  495. // with awserr.Error's Code and Message methods to get detailed information about
  496. // the error.
  497. //
  498. // See the AWS API reference guide for AWS Direct Connect's
  499. // API operation AssociateHostedConnection for usage and error information.
  500. //
  501. // Returned Error Codes:
  502. // * ErrCodeServerException "DirectConnectServerException"
  503. // A server-side error occurred.
  504. //
  505. // * ErrCodeClientException "DirectConnectClientException"
  506. // One or more parameters are not valid.
  507. //
  508. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateHostedConnection
  509. func (c *DirectConnect) AssociateHostedConnection(input *AssociateHostedConnectionInput) (*Connection, error) {
  510. req, out := c.AssociateHostedConnectionRequest(input)
  511. return out, req.Send()
  512. }
  513. // AssociateHostedConnectionWithContext is the same as AssociateHostedConnection with the addition of
  514. // the ability to pass a context and additional request options.
  515. //
  516. // See AssociateHostedConnection for details on how to use this API operation.
  517. //
  518. // The context must be non-nil and will be used for request cancellation. If
  519. // the context is nil a panic will occur. In the future the SDK may create
  520. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  521. // for more information on using Contexts.
  522. func (c *DirectConnect) AssociateHostedConnectionWithContext(ctx aws.Context, input *AssociateHostedConnectionInput, opts ...request.Option) (*Connection, error) {
  523. req, out := c.AssociateHostedConnectionRequest(input)
  524. req.SetContext(ctx)
  525. req.ApplyOptions(opts...)
  526. return out, req.Send()
  527. }
  528. const opAssociateVirtualInterface = "AssociateVirtualInterface"
  529. // AssociateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  530. // client's request for the AssociateVirtualInterface operation. The "output" return
  531. // value will be populated with the request's response once the request completes
  532. // successfully.
  533. //
  534. // Use "Send" method on the returned Request to send the API call to the service.
  535. // the "output" return value is not valid until after Send returns without error.
  536. //
  537. // See AssociateVirtualInterface for more information on using the AssociateVirtualInterface
  538. // API call, and error handling.
  539. //
  540. // This method is useful when you want to inject custom logic or configuration
  541. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  542. //
  543. //
  544. // // Example sending a request using the AssociateVirtualInterfaceRequest method.
  545. // req, resp := client.AssociateVirtualInterfaceRequest(params)
  546. //
  547. // err := req.Send()
  548. // if err == nil { // resp is now filled
  549. // fmt.Println(resp)
  550. // }
  551. //
  552. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateVirtualInterface
  553. func (c *DirectConnect) AssociateVirtualInterfaceRequest(input *AssociateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  554. op := &request.Operation{
  555. Name: opAssociateVirtualInterface,
  556. HTTPMethod: "POST",
  557. HTTPPath: "/",
  558. }
  559. if input == nil {
  560. input = &AssociateVirtualInterfaceInput{}
  561. }
  562. output = &VirtualInterface{}
  563. req = c.newRequest(op, input, output)
  564. return
  565. }
  566. // AssociateVirtualInterface API operation for AWS Direct Connect.
  567. //
  568. // Associates a virtual interface with a specified link aggregation group (LAG)
  569. // or connection. Connectivity to AWS is temporarily interrupted as the virtual
  570. // interface is being migrated. If the target connection or LAG has an associated
  571. // virtual interface with a conflicting VLAN number or a conflicting IP address,
  572. // the operation fails.
  573. //
  574. // Virtual interfaces associated with a hosted connection cannot be associated
  575. // with a LAG; hosted connections must be migrated along with their virtual
  576. // interfaces using AssociateHostedConnection.
  577. //
  578. // To reassociate a virtual interface to a new connection or LAG, the requester
  579. // must own either the virtual interface itself or the connection to which the
  580. // virtual interface is currently associated. Additionally, the requester must
  581. // own the connection or LAG for the association.
  582. //
  583. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  584. // with awserr.Error's Code and Message methods to get detailed information about
  585. // the error.
  586. //
  587. // See the AWS API reference guide for AWS Direct Connect's
  588. // API operation AssociateVirtualInterface for usage and error information.
  589. //
  590. // Returned Error Codes:
  591. // * ErrCodeServerException "DirectConnectServerException"
  592. // A server-side error occurred.
  593. //
  594. // * ErrCodeClientException "DirectConnectClientException"
  595. // One or more parameters are not valid.
  596. //
  597. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateVirtualInterface
  598. func (c *DirectConnect) AssociateVirtualInterface(input *AssociateVirtualInterfaceInput) (*VirtualInterface, error) {
  599. req, out := c.AssociateVirtualInterfaceRequest(input)
  600. return out, req.Send()
  601. }
  602. // AssociateVirtualInterfaceWithContext is the same as AssociateVirtualInterface with the addition of
  603. // the ability to pass a context and additional request options.
  604. //
  605. // See AssociateVirtualInterface for details on how to use this API operation.
  606. //
  607. // The context must be non-nil and will be used for request cancellation. If
  608. // the context is nil a panic will occur. In the future the SDK may create
  609. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  610. // for more information on using Contexts.
  611. func (c *DirectConnect) AssociateVirtualInterfaceWithContext(ctx aws.Context, input *AssociateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  612. req, out := c.AssociateVirtualInterfaceRequest(input)
  613. req.SetContext(ctx)
  614. req.ApplyOptions(opts...)
  615. return out, req.Send()
  616. }
  617. const opConfirmConnection = "ConfirmConnection"
  618. // ConfirmConnectionRequest generates a "aws/request.Request" representing the
  619. // client's request for the ConfirmConnection operation. The "output" return
  620. // value will be populated with the request's response once the request completes
  621. // successfully.
  622. //
  623. // Use "Send" method on the returned Request to send the API call to the service.
  624. // the "output" return value is not valid until after Send returns without error.
  625. //
  626. // See ConfirmConnection for more information on using the ConfirmConnection
  627. // API call, and error handling.
  628. //
  629. // This method is useful when you want to inject custom logic or configuration
  630. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  631. //
  632. //
  633. // // Example sending a request using the ConfirmConnectionRequest method.
  634. // req, resp := client.ConfirmConnectionRequest(params)
  635. //
  636. // err := req.Send()
  637. // if err == nil { // resp is now filled
  638. // fmt.Println(resp)
  639. // }
  640. //
  641. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmConnection
  642. func (c *DirectConnect) ConfirmConnectionRequest(input *ConfirmConnectionInput) (req *request.Request, output *ConfirmConnectionOutput) {
  643. op := &request.Operation{
  644. Name: opConfirmConnection,
  645. HTTPMethod: "POST",
  646. HTTPPath: "/",
  647. }
  648. if input == nil {
  649. input = &ConfirmConnectionInput{}
  650. }
  651. output = &ConfirmConnectionOutput{}
  652. req = c.newRequest(op, input, output)
  653. return
  654. }
  655. // ConfirmConnection API operation for AWS Direct Connect.
  656. //
  657. // Confirms the creation of the specified hosted connection on an interconnect.
  658. //
  659. // Upon creation, the hosted connection is initially in the Ordering state,
  660. // and remains in this state until the owner confirms creation of the hosted
  661. // connection.
  662. //
  663. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  664. // with awserr.Error's Code and Message methods to get detailed information about
  665. // the error.
  666. //
  667. // See the AWS API reference guide for AWS Direct Connect's
  668. // API operation ConfirmConnection for usage and error information.
  669. //
  670. // Returned Error Codes:
  671. // * ErrCodeServerException "DirectConnectServerException"
  672. // A server-side error occurred.
  673. //
  674. // * ErrCodeClientException "DirectConnectClientException"
  675. // One or more parameters are not valid.
  676. //
  677. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmConnection
  678. func (c *DirectConnect) ConfirmConnection(input *ConfirmConnectionInput) (*ConfirmConnectionOutput, error) {
  679. req, out := c.ConfirmConnectionRequest(input)
  680. return out, req.Send()
  681. }
  682. // ConfirmConnectionWithContext is the same as ConfirmConnection with the addition of
  683. // the ability to pass a context and additional request options.
  684. //
  685. // See ConfirmConnection for details on how to use this API operation.
  686. //
  687. // The context must be non-nil and will be used for request cancellation. If
  688. // the context is nil a panic will occur. In the future the SDK may create
  689. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  690. // for more information on using Contexts.
  691. func (c *DirectConnect) ConfirmConnectionWithContext(ctx aws.Context, input *ConfirmConnectionInput, opts ...request.Option) (*ConfirmConnectionOutput, error) {
  692. req, out := c.ConfirmConnectionRequest(input)
  693. req.SetContext(ctx)
  694. req.ApplyOptions(opts...)
  695. return out, req.Send()
  696. }
  697. const opConfirmPrivateVirtualInterface = "ConfirmPrivateVirtualInterface"
  698. // ConfirmPrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  699. // client's request for the ConfirmPrivateVirtualInterface operation. The "output" return
  700. // value will be populated with the request's response once the request completes
  701. // successfully.
  702. //
  703. // Use "Send" method on the returned Request to send the API call to the service.
  704. // the "output" return value is not valid until after Send returns without error.
  705. //
  706. // See ConfirmPrivateVirtualInterface for more information on using the ConfirmPrivateVirtualInterface
  707. // API call, and error handling.
  708. //
  709. // This method is useful when you want to inject custom logic or configuration
  710. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  711. //
  712. //
  713. // // Example sending a request using the ConfirmPrivateVirtualInterfaceRequest method.
  714. // req, resp := client.ConfirmPrivateVirtualInterfaceRequest(params)
  715. //
  716. // err := req.Send()
  717. // if err == nil { // resp is now filled
  718. // fmt.Println(resp)
  719. // }
  720. //
  721. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPrivateVirtualInterface
  722. func (c *DirectConnect) ConfirmPrivateVirtualInterfaceRequest(input *ConfirmPrivateVirtualInterfaceInput) (req *request.Request, output *ConfirmPrivateVirtualInterfaceOutput) {
  723. op := &request.Operation{
  724. Name: opConfirmPrivateVirtualInterface,
  725. HTTPMethod: "POST",
  726. HTTPPath: "/",
  727. }
  728. if input == nil {
  729. input = &ConfirmPrivateVirtualInterfaceInput{}
  730. }
  731. output = &ConfirmPrivateVirtualInterfaceOutput{}
  732. req = c.newRequest(op, input, output)
  733. return
  734. }
  735. // ConfirmPrivateVirtualInterface API operation for AWS Direct Connect.
  736. //
  737. // Accepts ownership of a private virtual interface created by another AWS account.
  738. //
  739. // After the virtual interface owner makes this call, the virtual interface
  740. // is created and attached to the specified virtual private gateway or Direct
  741. // Connect gateway, and is made available to handle traffic.
  742. //
  743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  744. // with awserr.Error's Code and Message methods to get detailed information about
  745. // the error.
  746. //
  747. // See the AWS API reference guide for AWS Direct Connect's
  748. // API operation ConfirmPrivateVirtualInterface for usage and error information.
  749. //
  750. // Returned Error Codes:
  751. // * ErrCodeServerException "DirectConnectServerException"
  752. // A server-side error occurred.
  753. //
  754. // * ErrCodeClientException "DirectConnectClientException"
  755. // One or more parameters are not valid.
  756. //
  757. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPrivateVirtualInterface
  758. func (c *DirectConnect) ConfirmPrivateVirtualInterface(input *ConfirmPrivateVirtualInterfaceInput) (*ConfirmPrivateVirtualInterfaceOutput, error) {
  759. req, out := c.ConfirmPrivateVirtualInterfaceRequest(input)
  760. return out, req.Send()
  761. }
  762. // ConfirmPrivateVirtualInterfaceWithContext is the same as ConfirmPrivateVirtualInterface with the addition of
  763. // the ability to pass a context and additional request options.
  764. //
  765. // See ConfirmPrivateVirtualInterface for details on how to use this API operation.
  766. //
  767. // The context must be non-nil and will be used for request cancellation. If
  768. // the context is nil a panic will occur. In the future the SDK may create
  769. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  770. // for more information on using Contexts.
  771. func (c *DirectConnect) ConfirmPrivateVirtualInterfaceWithContext(ctx aws.Context, input *ConfirmPrivateVirtualInterfaceInput, opts ...request.Option) (*ConfirmPrivateVirtualInterfaceOutput, error) {
  772. req, out := c.ConfirmPrivateVirtualInterfaceRequest(input)
  773. req.SetContext(ctx)
  774. req.ApplyOptions(opts...)
  775. return out, req.Send()
  776. }
  777. const opConfirmPublicVirtualInterface = "ConfirmPublicVirtualInterface"
  778. // ConfirmPublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
  779. // client's request for the ConfirmPublicVirtualInterface operation. The "output" return
  780. // value will be populated with the request's response once the request completes
  781. // successfully.
  782. //
  783. // Use "Send" method on the returned Request to send the API call to the service.
  784. // the "output" return value is not valid until after Send returns without error.
  785. //
  786. // See ConfirmPublicVirtualInterface for more information on using the ConfirmPublicVirtualInterface
  787. // API call, and error handling.
  788. //
  789. // This method is useful when you want to inject custom logic or configuration
  790. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  791. //
  792. //
  793. // // Example sending a request using the ConfirmPublicVirtualInterfaceRequest method.
  794. // req, resp := client.ConfirmPublicVirtualInterfaceRequest(params)
  795. //
  796. // err := req.Send()
  797. // if err == nil { // resp is now filled
  798. // fmt.Println(resp)
  799. // }
  800. //
  801. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPublicVirtualInterface
  802. func (c *DirectConnect) ConfirmPublicVirtualInterfaceRequest(input *ConfirmPublicVirtualInterfaceInput) (req *request.Request, output *ConfirmPublicVirtualInterfaceOutput) {
  803. op := &request.Operation{
  804. Name: opConfirmPublicVirtualInterface,
  805. HTTPMethod: "POST",
  806. HTTPPath: "/",
  807. }
  808. if input == nil {
  809. input = &ConfirmPublicVirtualInterfaceInput{}
  810. }
  811. output = &ConfirmPublicVirtualInterfaceOutput{}
  812. req = c.newRequest(op, input, output)
  813. return
  814. }
  815. // ConfirmPublicVirtualInterface API operation for AWS Direct Connect.
  816. //
  817. // Accepts ownership of a public virtual interface created by another AWS account.
  818. //
  819. // After the virtual interface owner makes this call, the specified virtual
  820. // interface is created and made available to handle traffic.
  821. //
  822. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  823. // with awserr.Error's Code and Message methods to get detailed information about
  824. // the error.
  825. //
  826. // See the AWS API reference guide for AWS Direct Connect's
  827. // API operation ConfirmPublicVirtualInterface for usage and error information.
  828. //
  829. // Returned Error Codes:
  830. // * ErrCodeServerException "DirectConnectServerException"
  831. // A server-side error occurred.
  832. //
  833. // * ErrCodeClientException "DirectConnectClientException"
  834. // One or more parameters are not valid.
  835. //
  836. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPublicVirtualInterface
  837. func (c *DirectConnect) ConfirmPublicVirtualInterface(input *ConfirmPublicVirtualInterfaceInput) (*ConfirmPublicVirtualInterfaceOutput, error) {
  838. req, out := c.ConfirmPublicVirtualInterfaceRequest(input)
  839. return out, req.Send()
  840. }
  841. // ConfirmPublicVirtualInterfaceWithContext is the same as ConfirmPublicVirtualInterface with the addition of
  842. // the ability to pass a context and additional request options.
  843. //
  844. // See ConfirmPublicVirtualInterface for details on how to use this API operation.
  845. //
  846. // The context must be non-nil and will be used for request cancellation. If
  847. // the context is nil a panic will occur. In the future the SDK may create
  848. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  849. // for more information on using Contexts.
  850. func (c *DirectConnect) ConfirmPublicVirtualInterfaceWithContext(ctx aws.Context, input *ConfirmPublicVirtualInterfaceInput, opts ...request.Option) (*ConfirmPublicVirtualInterfaceOutput, error) {
  851. req, out := c.ConfirmPublicVirtualInterfaceRequest(input)
  852. req.SetContext(ctx)
  853. req.ApplyOptions(opts...)
  854. return out, req.Send()
  855. }
  856. const opCreateBGPPeer = "CreateBGPPeer"
  857. // CreateBGPPeerRequest generates a "aws/request.Request" representing the
  858. // client's request for the CreateBGPPeer operation. The "output" return
  859. // value will be populated with the request's response once the request completes
  860. // successfully.
  861. //
  862. // Use "Send" method on the returned Request to send the API call to the service.
  863. // the "output" return value is not valid until after Send returns without error.
  864. //
  865. // See CreateBGPPeer for more information on using the CreateBGPPeer
  866. // API call, and error handling.
  867. //
  868. // This method is useful when you want to inject custom logic or configuration
  869. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  870. //
  871. //
  872. // // Example sending a request using the CreateBGPPeerRequest method.
  873. // req, resp := client.CreateBGPPeerRequest(params)
  874. //
  875. // err := req.Send()
  876. // if err == nil { // resp is now filled
  877. // fmt.Println(resp)
  878. // }
  879. //
  880. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateBGPPeer
  881. func (c *DirectConnect) CreateBGPPeerRequest(input *CreateBGPPeerInput) (req *request.Request, output *CreateBGPPeerOutput) {
  882. op := &request.Operation{
  883. Name: opCreateBGPPeer,
  884. HTTPMethod: "POST",
  885. HTTPPath: "/",
  886. }
  887. if input == nil {
  888. input = &CreateBGPPeerInput{}
  889. }
  890. output = &CreateBGPPeerOutput{}
  891. req = c.newRequest(op, input, output)
  892. return
  893. }
  894. // CreateBGPPeer API operation for AWS Direct Connect.
  895. //
  896. // Creates a BGP peer on the specified virtual interface.
  897. //
  898. // You must create a BGP peer for the corresponding address family (IPv4/IPv6)
  899. // in order to access AWS resources that also use that address family.
  900. //
  901. // If logical redundancy is not supported by the connection, interconnect, or
  902. // LAG, the BGP peer cannot be in the same address family as an existing BGP
  903. // peer on the virtual interface.
  904. //
  905. // When creating a IPv6 BGP peer, omit the Amazon address and customer address.
  906. // IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses;
  907. // you cannot specify custom IPv6 addresses.
  908. //
  909. // For a public virtual interface, the Autonomous System Number (ASN) must be
  910. // private or already whitelisted for the virtual interface.
  911. //
  912. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  913. // with awserr.Error's Code and Message methods to get detailed information about
  914. // the error.
  915. //
  916. // See the AWS API reference guide for AWS Direct Connect's
  917. // API operation CreateBGPPeer for usage and error information.
  918. //
  919. // Returned Error Codes:
  920. // * ErrCodeServerException "DirectConnectServerException"
  921. // A server-side error occurred.
  922. //
  923. // * ErrCodeClientException "DirectConnectClientException"
  924. // One or more parameters are not valid.
  925. //
  926. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateBGPPeer
  927. func (c *DirectConnect) CreateBGPPeer(input *CreateBGPPeerInput) (*CreateBGPPeerOutput, error) {
  928. req, out := c.CreateBGPPeerRequest(input)
  929. return out, req.Send()
  930. }
  931. // CreateBGPPeerWithContext is the same as CreateBGPPeer with the addition of
  932. // the ability to pass a context and additional request options.
  933. //
  934. // See CreateBGPPeer for details on how to use this API operation.
  935. //
  936. // The context must be non-nil and will be used for request cancellation. If
  937. // the context is nil a panic will occur. In the future the SDK may create
  938. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  939. // for more information on using Contexts.
  940. func (c *DirectConnect) CreateBGPPeerWithContext(ctx aws.Context, input *CreateBGPPeerInput, opts ...request.Option) (*CreateBGPPeerOutput, error) {
  941. req, out := c.CreateBGPPeerRequest(input)
  942. req.SetContext(ctx)
  943. req.ApplyOptions(opts...)
  944. return out, req.Send()
  945. }
  946. const opCreateConnection = "CreateConnection"
  947. // CreateConnectionRequest generates a "aws/request.Request" representing the
  948. // client's request for the CreateConnection operation. The "output" return
  949. // value will be populated with the request's response once the request completes
  950. // successfully.
  951. //
  952. // Use "Send" method on the returned Request to send the API call to the service.
  953. // the "output" return value is not valid until after Send returns without error.
  954. //
  955. // See CreateConnection for more information on using the CreateConnection
  956. // API call, and error handling.
  957. //
  958. // This method is useful when you want to inject custom logic or configuration
  959. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  960. //
  961. //
  962. // // Example sending a request using the CreateConnectionRequest method.
  963. // req, resp := client.CreateConnectionRequest(params)
  964. //
  965. // err := req.Send()
  966. // if err == nil { // resp is now filled
  967. // fmt.Println(resp)
  968. // }
  969. //
  970. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateConnection
  971. func (c *DirectConnect) CreateConnectionRequest(input *CreateConnectionInput) (req *request.Request, output *Connection) {
  972. op := &request.Operation{
  973. Name: opCreateConnection,
  974. HTTPMethod: "POST",
  975. HTTPPath: "/",
  976. }
  977. if input == nil {
  978. input = &CreateConnectionInput{}
  979. }
  980. output = &Connection{}
  981. req = c.newRequest(op, input, output)
  982. return
  983. }
  984. // CreateConnection API operation for AWS Direct Connect.
  985. //
  986. // Creates a connection between a customer network and a specific AWS Direct
  987. // Connect location.
  988. //
  989. // A connection links your internal network to an AWS Direct Connect location
  990. // over a standard Ethernet fiber-optic cable. One end of the cable is connected
  991. // to your router, the other to an AWS Direct Connect router.
  992. //
  993. // To find the locations for your Region, use DescribeLocations.
  994. //
  995. // You can automatically add the new connection to a link aggregation group
  996. // (LAG) by specifying a LAG ID in the request. This ensures that the new connection
  997. // is allocated on the same AWS Direct Connect endpoint that hosts the specified
  998. // LAG. If there are no available ports on the endpoint, the request fails and
  999. // no connection is created.
  1000. //
  1001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1002. // with awserr.Error's Code and Message methods to get detailed information about
  1003. // the error.
  1004. //
  1005. // See the AWS API reference guide for AWS Direct Connect's
  1006. // API operation CreateConnection for usage and error information.
  1007. //
  1008. // Returned Error Codes:
  1009. // * ErrCodeServerException "DirectConnectServerException"
  1010. // A server-side error occurred.
  1011. //
  1012. // * ErrCodeClientException "DirectConnectClientException"
  1013. // One or more parameters are not valid.
  1014. //
  1015. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateConnection
  1016. func (c *DirectConnect) CreateConnection(input *CreateConnectionInput) (*Connection, error) {
  1017. req, out := c.CreateConnectionRequest(input)
  1018. return out, req.Send()
  1019. }
  1020. // CreateConnectionWithContext is the same as CreateConnection with the addition of
  1021. // the ability to pass a context and additional request options.
  1022. //
  1023. // See CreateConnection for details on how to use this API operation.
  1024. //
  1025. // The context must be non-nil and will be used for request cancellation. If
  1026. // the context is nil a panic will occur. In the future the SDK may create
  1027. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1028. // for more information on using Contexts.
  1029. func (c *DirectConnect) CreateConnectionWithContext(ctx aws.Context, input *CreateConnectionInput, opts ...request.Option) (*Connection, error) {
  1030. req, out := c.CreateConnectionRequest(input)
  1031. req.SetContext(ctx)
  1032. req.ApplyOptions(opts...)
  1033. return out, req.Send()
  1034. }
  1035. const opCreateDirectConnectGateway = "CreateDirectConnectGateway"
  1036. // CreateDirectConnectGatewayRequest generates a "aws/request.Request" representing the
  1037. // client's request for the CreateDirectConnectGateway operation. The "output" return
  1038. // value will be populated with the request's response once the request completes
  1039. // successfully.
  1040. //
  1041. // Use "Send" method on the returned Request to send the API call to the service.
  1042. // the "output" return value is not valid until after Send returns without error.
  1043. //
  1044. // See CreateDirectConnectGateway for more information on using the CreateDirectConnectGateway
  1045. // API call, and error handling.
  1046. //
  1047. // This method is useful when you want to inject custom logic or configuration
  1048. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1049. //
  1050. //
  1051. // // Example sending a request using the CreateDirectConnectGatewayRequest method.
  1052. // req, resp := client.CreateDirectConnectGatewayRequest(params)
  1053. //
  1054. // err := req.Send()
  1055. // if err == nil { // resp is now filled
  1056. // fmt.Println(resp)
  1057. // }
  1058. //
  1059. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGateway
  1060. func (c *DirectConnect) CreateDirectConnectGatewayRequest(input *CreateDirectConnectGatewayInput) (req *request.Request, output *CreateDirectConnectGatewayOutput) {
  1061. op := &request.Operation{
  1062. Name: opCreateDirectConnectGateway,
  1063. HTTPMethod: "POST",
  1064. HTTPPath: "/",
  1065. }
  1066. if input == nil {
  1067. input = &CreateDirectConnectGatewayInput{}
  1068. }
  1069. output = &CreateDirectConnectGatewayOutput{}
  1070. req = c.newRequest(op, input, output)
  1071. return
  1072. }
  1073. // CreateDirectConnectGateway API operation for AWS Direct Connect.
  1074. //
  1075. // Creates a Direct Connect gateway, which is an intermediate object that enables
  1076. // you to connect a set of virtual interfaces and virtual private gateways.
  1077. // A Direct Connect gateway is global and visible in any AWS Region after it
  1078. // is created. The virtual interfaces and virtual private gateways that are
  1079. // connected through a Direct Connect gateway can be in different AWS Regions.
  1080. // This enables you to connect to a VPC in any Region, regardless of the Region
  1081. // in which the virtual interfaces are located, and pass traffic between them.
  1082. //
  1083. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1084. // with awserr.Error's Code and Message methods to get detailed information about
  1085. // the error.
  1086. //
  1087. // See the AWS API reference guide for AWS Direct Connect's
  1088. // API operation CreateDirectConnectGateway for usage and error information.
  1089. //
  1090. // Returned Error Codes:
  1091. // * ErrCodeServerException "DirectConnectServerException"
  1092. // A server-side error occurred.
  1093. //
  1094. // * ErrCodeClientException "DirectConnectClientException"
  1095. // One or more parameters are not valid.
  1096. //
  1097. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGateway
  1098. func (c *DirectConnect) CreateDirectConnectGateway(input *CreateDirectConnectGatewayInput) (*CreateDirectConnectGatewayOutput, error) {
  1099. req, out := c.CreateDirectConnectGatewayRequest(input)
  1100. return out, req.Send()
  1101. }
  1102. // CreateDirectConnectGatewayWithContext is the same as CreateDirectConnectGateway with the addition of
  1103. // the ability to pass a context and additional request options.
  1104. //
  1105. // See CreateDirectConnectGateway for details on how to use this API operation.
  1106. //
  1107. // The context must be non-nil and will be used for request cancellation. If
  1108. // the context is nil a panic will occur. In the future the SDK may create
  1109. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1110. // for more information on using Contexts.
  1111. func (c *DirectConnect) CreateDirectConnectGatewayWithContext(ctx aws.Context, input *CreateDirectConnectGatewayInput, opts ...request.Option) (*CreateDirectConnectGatewayOutput, error) {
  1112. req, out := c.CreateDirectConnectGatewayRequest(input)
  1113. req.SetContext(ctx)
  1114. req.ApplyOptions(opts...)
  1115. return out, req.Send()
  1116. }
  1117. const opCreateDirectConnectGatewayAssociation = "CreateDirectConnectGatewayAssociation"
  1118. // CreateDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the
  1119. // client's request for the CreateDirectConnectGatewayAssociation operation. The "output" return
  1120. // value will be populated with the request's response once the request completes
  1121. // successfully.
  1122. //
  1123. // Use "Send" method on the returned Request to send the API call to the service.
  1124. // the "output" return value is not valid until after Send returns without error.
  1125. //
  1126. // See CreateDirectConnectGatewayAssociation for more information on using the CreateDirectConnectGatewayAssociation
  1127. // API call, and error handling.
  1128. //
  1129. // This method is useful when you want to inject custom logic or configuration
  1130. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1131. //
  1132. //
  1133. // // Example sending a request using the CreateDirectConnectGatewayAssociationRequest method.
  1134. // req, resp := client.CreateDirectConnectGatewayAssociationRequest(params)
  1135. //
  1136. // err := req.Send()
  1137. // if err == nil { // resp is now filled
  1138. // fmt.Println(resp)
  1139. // }
  1140. //
  1141. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociation
  1142. func (c *DirectConnect) CreateDirectConnectGatewayAssociationRequest(input *CreateDirectConnectGatewayAssociationInput) (req *request.Request, output *CreateDirectConnectGatewayAssociationOutput) {
  1143. op := &request.Operation{
  1144. Name: opCreateDirectConnectGatewayAssociation,
  1145. HTTPMethod: "POST",
  1146. HTTPPath: "/",
  1147. }
  1148. if input == nil {
  1149. input = &CreateDirectConnectGatewayAssociationInput{}
  1150. }
  1151. output = &CreateDirectConnectGatewayAssociationOutput{}
  1152. req = c.newRequest(op, input, output)
  1153. return
  1154. }
  1155. // CreateDirectConnectGatewayAssociation API operation for AWS Direct Connect.
  1156. //
  1157. // Creates an association between a Direct Connect gateway and a virtual private
  1158. // gateway. The virtual private gateway must be attached to a VPC and must not
  1159. // be associated with another Direct Connect gateway.
  1160. //
  1161. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1162. // with awserr.Error's Code and Message methods to get detailed information about
  1163. // the error.
  1164. //
  1165. // See the AWS API reference guide for AWS Direct Connect's
  1166. // API operation CreateDirectConnectGatewayAssociation for usage and error information.
  1167. //
  1168. // Returned Error Codes:
  1169. // * ErrCodeServerException "DirectConnectServerException"
  1170. // A server-side error occurred.
  1171. //
  1172. // * ErrCodeClientException "DirectConnectClientException"
  1173. // One or more parameters are not valid.
  1174. //
  1175. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociation
  1176. func (c *DirectConnect) CreateDirectConnectGatewayAssociation(input *CreateDirectConnectGatewayAssociationInput) (*CreateDirectConnectGatewayAssociationOutput, error) {
  1177. req, out := c.CreateDirectConnectGatewayAssociationRequest(input)
  1178. return out, req.Send()
  1179. }
  1180. // CreateDirectConnectGatewayAssociationWithContext is the same as CreateDirectConnectGatewayAssociation with the addition of
  1181. // the ability to pass a context and additional request options.
  1182. //
  1183. // See CreateDirectConnectGatewayAssociation for details on how to use this API operation.
  1184. //
  1185. // The context must be non-nil and will be used for request cancellation. If
  1186. // the context is nil a panic will occur. In the future the SDK may create
  1187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1188. // for more information on using Contexts.
  1189. func (c *DirectConnect) CreateDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *CreateDirectConnectGatewayAssociationInput, opts ...request.Option) (*CreateDirectConnectGatewayAssociationOutput, error) {
  1190. req, out := c.CreateDirectConnectGatewayAssociationRequest(input)
  1191. req.SetContext(ctx)
  1192. req.ApplyOptions(opts...)
  1193. return out, req.Send()
  1194. }
  1195. const opCreateInterconnect = "CreateInterconnect"
  1196. // CreateInterconnectRequest generates a "aws/request.Request" representing the
  1197. // client's request for the CreateInterconnect operation. The "output" return
  1198. // value will be populated with the request's response once the request completes
  1199. // successfully.
  1200. //
  1201. // Use "Send" method on the returned Request to send the API call to the service.
  1202. // the "output" return value is not valid until after Send returns without error.
  1203. //
  1204. // See CreateInterconnect for more information on using the CreateInterconnect
  1205. // API call, and error handling.
  1206. //
  1207. // This method is useful when you want to inject custom logic or configuration
  1208. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1209. //
  1210. //
  1211. // // Example sending a request using the CreateInterconnectRequest method.
  1212. // req, resp := client.CreateInterconnectRequest(params)
  1213. //
  1214. // err := req.Send()
  1215. // if err == nil { // resp is now filled
  1216. // fmt.Println(resp)
  1217. // }
  1218. //
  1219. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateInterconnect
  1220. func (c *DirectConnect) CreateInterconnectRequest(input *CreateInterconnectInput) (req *request.Request, output *Interconnect) {
  1221. op := &request.Operation{
  1222. Name: opCreateInterconnect,
  1223. HTTPMethod: "POST",
  1224. HTTPPath: "/",
  1225. }
  1226. if input == nil {
  1227. input = &CreateInterconnectInput{}
  1228. }
  1229. output = &Interconnect{}
  1230. req = c.newRequest(op, input, output)
  1231. return
  1232. }
  1233. // CreateInterconnect API operation for AWS Direct Connect.
  1234. //
  1235. // Creates an interconnect between an AWS Direct Connect partner's network and
  1236. // a specific AWS Direct Connect location.
  1237. //
  1238. // An interconnect is a connection which is capable of hosting other connections.
  1239. // The partner can use an interconnect to provide sub-1Gbps AWS Direct Connect
  1240. // service to tier 2 customers who do not have their own connections. Like a
  1241. // standard connection, an interconnect links the partner's network to an AWS
  1242. // Direct Connect location over a standard Ethernet fiber-optic cable. One end
  1243. // is connected to the partner's router, the other to an AWS Direct Connect
  1244. // router.
  1245. //
  1246. // You can automatically add the new interconnect to a link aggregation group
  1247. // (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect
  1248. // is allocated on the same AWS Direct Connect endpoint that hosts the specified
  1249. // LAG. If there are no available ports on the endpoint, the request fails and
  1250. // no interconnect is created.
  1251. //
  1252. // For each end customer, the AWS Direct Connect partner provisions a connection
  1253. // on their interconnect by calling AllocateConnectionOnInterconnect. The end
  1254. // customer can then connect to AWS resources by creating a virtual interface
  1255. // on their connection, using the VLAN assigned to them by the partner.
  1256. //
  1257. // Intended for use by AWS Direct Connect partners only.
  1258. //
  1259. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1260. // with awserr.Error's Code and Message methods to get detailed information about
  1261. // the error.
  1262. //
  1263. // See the AWS API reference guide for AWS Direct Connect's
  1264. // API operation CreateInterconnect for usage and error information.
  1265. //
  1266. // Returned Error Codes:
  1267. // * ErrCodeServerException "DirectConnectServerException"
  1268. // A server-side error occurred.
  1269. //
  1270. // * ErrCodeClientException "DirectConnectClientException"
  1271. // One or more parameters are not valid.
  1272. //
  1273. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateInterconnect
  1274. func (c *DirectConnect) CreateInterconnect(input *CreateInterconnectInput) (*Interconnect, error) {
  1275. req, out := c.CreateInterconnectRequest(input)
  1276. return out, req.Send()
  1277. }
  1278. // CreateInterconnectWithContext is the same as CreateInterconnect with the addition of
  1279. // the ability to pass a context and additional request options.
  1280. //
  1281. // See CreateInterconnect for details on how to use this API operation.
  1282. //
  1283. // The context must be non-nil and will be used for request cancellation. If
  1284. // the context is nil a panic will occur. In the future the SDK may create
  1285. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1286. // for more information on using Contexts.
  1287. func (c *DirectConnect) CreateInterconnectWithContext(ctx aws.Context, input *CreateInterconnectInput, opts ...request.Option) (*Interconnect, error) {
  1288. req, out := c.CreateInterconnectRequest(input)
  1289. req.SetContext(ctx)
  1290. req.ApplyOptions(opts...)
  1291. return out, req.Send()
  1292. }
  1293. const opCreateLag = "CreateLag"
  1294. // CreateLagRequest generates a "aws/request.Request" representing the
  1295. // client's request for the CreateLag operation. The "output" return
  1296. // value will be populated with the request's response once the request completes
  1297. // successfully.
  1298. //
  1299. // Use "Send" method on the returned Request to send the API call to the service.
  1300. // the "output" return value is not valid until after Send returns without error.
  1301. //
  1302. // See CreateLag for more information on using the CreateLag
  1303. // API call, and error handling.
  1304. //
  1305. // This method is useful when you want to inject custom logic or configuration
  1306. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1307. //
  1308. //
  1309. // // Example sending a request using the CreateLagRequest method.
  1310. // req, resp := client.CreateLagRequest(params)
  1311. //
  1312. // err := req.Send()
  1313. // if err == nil { // resp is now filled
  1314. // fmt.Println(resp)
  1315. // }
  1316. //
  1317. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateLag
  1318. func (c *DirectConnect) CreateLagRequest(input *CreateLagInput) (req *request.Request, output *Lag) {
  1319. op := &request.Operation{
  1320. Name: opCreateLag,
  1321. HTTPMethod: "POST",
  1322. HTTPPath: "/",
  1323. }
  1324. if input == nil {
  1325. input = &CreateLagInput{}
  1326. }
  1327. output = &Lag{}
  1328. req = c.newRequest(op, input, output)
  1329. return
  1330. }
  1331. // CreateLag API operation for AWS Direct Connect.
  1332. //
  1333. // Creates a link aggregation group (LAG) with the specified number of bundled
  1334. // physical connections between the customer network and a specific AWS Direct
  1335. // Connect location. A LAG is a logical interface that uses the Link Aggregation
  1336. // Control Protocol (LACP) to aggregate multiple interfaces, enabling you to
  1337. // treat them as a single interface.
  1338. //
  1339. // All connections in a LAG must use the same bandwidth and must terminate at
  1340. // the same AWS Direct Connect endpoint.
  1341. //
  1342. // You can have up to 10 connections per LAG. Regardless of this limit, if you
  1343. // request more connections for the LAG than AWS Direct Connect can allocate
  1344. // on a single endpoint, no LAG is created.
  1345. //
  1346. // You can specify an existing physical connection or interconnect to include
  1347. // in the LAG (which counts towards the total number of connections). Doing
  1348. // so interrupts the current physical connection or hosted connections, and
  1349. // re-establishes them as a member of the LAG. The LAG will be created on the
  1350. // same AWS Direct Connect endpoint to which the connection terminates. Any
  1351. // virtual interfaces associated with the connection are automatically disassociated
  1352. // and re-associated with the LAG. The connection ID does not change.
  1353. //
  1354. // If the AWS account used to create a LAG is a registered AWS Direct Connect
  1355. // partner, the LAG is automatically enabled to host sub-connections. For a
  1356. // LAG owned by a partner, any associated virtual interfaces cannot be directly
  1357. // configured.
  1358. //
  1359. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1360. // with awserr.Error's Code and Message methods to get detailed information about
  1361. // the error.
  1362. //
  1363. // See the AWS API reference guide for AWS Direct Connect's
  1364. // API operation CreateLag for usage and error information.
  1365. //
  1366. // Returned Error Codes:
  1367. // * ErrCodeServerException "DirectConnectServerException"
  1368. // A server-side error occurred.
  1369. //
  1370. // * ErrCodeClientException "DirectConnectClientException"
  1371. // One or more parameters are not valid.
  1372. //
  1373. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateLag
  1374. func (c *DirectConnect) CreateLag(input *CreateLagInput) (*Lag, error) {
  1375. req, out := c.CreateLagRequest(input)
  1376. return out, req.Send()
  1377. }
  1378. // CreateLagWithContext is the same as CreateLag with the addition of
  1379. // the ability to pass a context and additional request options.
  1380. //
  1381. // See CreateLag for details on how to use this API operation.
  1382. //
  1383. // The context must be non-nil and will be used for request cancellation. If
  1384. // the context is nil a panic will occur. In the future the SDK may create
  1385. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1386. // for more information on using Contexts.
  1387. func (c *DirectConnect) CreateLagWithContext(ctx aws.Context, input *CreateLagInput, opts ...request.Option) (*Lag, error) {
  1388. req, out := c.CreateLagRequest(input)
  1389. req.SetContext(ctx)
  1390. req.ApplyOptions(opts...)
  1391. return out, req.Send()
  1392. }
  1393. const opCreatePrivateVirtualInterface = "CreatePrivateVirtualInterface"
  1394. // CreatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1395. // client's request for the CreatePrivateVirtualInterface operation. The "output" return
  1396. // value will be populated with the request's response once the request completes
  1397. // successfully.
  1398. //
  1399. // Use "Send" method on the returned Request to send the API call to the service.
  1400. // the "output" return value is not valid until after Send returns without error.
  1401. //
  1402. // See CreatePrivateVirtualInterface for more information on using the CreatePrivateVirtualInterface
  1403. // API call, and error handling.
  1404. //
  1405. // This method is useful when you want to inject custom logic or configuration
  1406. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1407. //
  1408. //
  1409. // // Example sending a request using the CreatePrivateVirtualInterfaceRequest method.
  1410. // req, resp := client.CreatePrivateVirtualInterfaceRequest(params)
  1411. //
  1412. // err := req.Send()
  1413. // if err == nil { // resp is now filled
  1414. // fmt.Println(resp)
  1415. // }
  1416. //
  1417. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePrivateVirtualInterface
  1418. func (c *DirectConnect) CreatePrivateVirtualInterfaceRequest(input *CreatePrivateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  1419. op := &request.Operation{
  1420. Name: opCreatePrivateVirtualInterface,
  1421. HTTPMethod: "POST",
  1422. HTTPPath: "/",
  1423. }
  1424. if input == nil {
  1425. input = &CreatePrivateVirtualInterfaceInput{}
  1426. }
  1427. output = &VirtualInterface{}
  1428. req = c.newRequest(op, input, output)
  1429. return
  1430. }
  1431. // CreatePrivateVirtualInterface API operation for AWS Direct Connect.
  1432. //
  1433. // Creates a private virtual interface. A virtual interface is the VLAN that
  1434. // transports AWS Direct Connect traffic. A private virtual interface can be
  1435. // connected to either a Direct Connect gateway or a Virtual Private Gateway
  1436. // (VGW). Connecting the private virtual interface to a Direct Connect gateway
  1437. // enables the possibility for connecting to multiple VPCs, including VPCs in
  1438. // different AWS Regions. Connecting the private virtual interface to a VGW
  1439. // only provides access to a single VPC within the same Region.
  1440. //
  1441. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1442. // with awserr.Error's Code and Message methods to get detailed information about
  1443. // the error.
  1444. //
  1445. // See the AWS API reference guide for AWS Direct Connect's
  1446. // API operation CreatePrivateVirtualInterface for usage and error information.
  1447. //
  1448. // Returned Error Codes:
  1449. // * ErrCodeServerException "DirectConnectServerException"
  1450. // A server-side error occurred.
  1451. //
  1452. // * ErrCodeClientException "DirectConnectClientException"
  1453. // One or more parameters are not valid.
  1454. //
  1455. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePrivateVirtualInterface
  1456. func (c *DirectConnect) CreatePrivateVirtualInterface(input *CreatePrivateVirtualInterfaceInput) (*VirtualInterface, error) {
  1457. req, out := c.CreatePrivateVirtualInterfaceRequest(input)
  1458. return out, req.Send()
  1459. }
  1460. // CreatePrivateVirtualInterfaceWithContext is the same as CreatePrivateVirtualInterface with the addition of
  1461. // the ability to pass a context and additional request options.
  1462. //
  1463. // See CreatePrivateVirtualInterface for details on how to use this API operation.
  1464. //
  1465. // The context must be non-nil and will be used for request cancellation. If
  1466. // the context is nil a panic will occur. In the future the SDK may create
  1467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1468. // for more information on using Contexts.
  1469. func (c *DirectConnect) CreatePrivateVirtualInterfaceWithContext(ctx aws.Context, input *CreatePrivateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  1470. req, out := c.CreatePrivateVirtualInterfaceRequest(input)
  1471. req.SetContext(ctx)
  1472. req.ApplyOptions(opts...)
  1473. return out, req.Send()
  1474. }
  1475. const opCreatePublicVirtualInterface = "CreatePublicVirtualInterface"
  1476. // CreatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1477. // client's request for the CreatePublicVirtualInterface operation. The "output" return
  1478. // value will be populated with the request's response once the request completes
  1479. // successfully.
  1480. //
  1481. // Use "Send" method on the returned Request to send the API call to the service.
  1482. // the "output" return value is not valid until after Send returns without error.
  1483. //
  1484. // See CreatePublicVirtualInterface for more information on using the CreatePublicVirtualInterface
  1485. // API call, and error handling.
  1486. //
  1487. // This method is useful when you want to inject custom logic or configuration
  1488. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1489. //
  1490. //
  1491. // // Example sending a request using the CreatePublicVirtualInterfaceRequest method.
  1492. // req, resp := client.CreatePublicVirtualInterfaceRequest(params)
  1493. //
  1494. // err := req.Send()
  1495. // if err == nil { // resp is now filled
  1496. // fmt.Println(resp)
  1497. // }
  1498. //
  1499. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePublicVirtualInterface
  1500. func (c *DirectConnect) CreatePublicVirtualInterfaceRequest(input *CreatePublicVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  1501. op := &request.Operation{
  1502. Name: opCreatePublicVirtualInterface,
  1503. HTTPMethod: "POST",
  1504. HTTPPath: "/",
  1505. }
  1506. if input == nil {
  1507. input = &CreatePublicVirtualInterfaceInput{}
  1508. }
  1509. output = &VirtualInterface{}
  1510. req = c.newRequest(op, input, output)
  1511. return
  1512. }
  1513. // CreatePublicVirtualInterface API operation for AWS Direct Connect.
  1514. //
  1515. // Creates a public virtual interface. A virtual interface is the VLAN that
  1516. // transports AWS Direct Connect traffic. A public virtual interface supports
  1517. // sending traffic to public services of AWS such as Amazon S3.
  1518. //
  1519. // When creating an IPv6 public virtual interface (addressFamily is ipv6), leave
  1520. // the customer and amazon address fields blank to use auto-assigned IPv6 space.
  1521. // Custom IPv6 addresses are not supported.
  1522. //
  1523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1524. // with awserr.Error's Code and Message methods to get detailed information about
  1525. // the error.
  1526. //
  1527. // See the AWS API reference guide for AWS Direct Connect's
  1528. // API operation CreatePublicVirtualInterface for usage and error information.
  1529. //
  1530. // Returned Error Codes:
  1531. // * ErrCodeServerException "DirectConnectServerException"
  1532. // A server-side error occurred.
  1533. //
  1534. // * ErrCodeClientException "DirectConnectClientException"
  1535. // One or more parameters are not valid.
  1536. //
  1537. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePublicVirtualInterface
  1538. func (c *DirectConnect) CreatePublicVirtualInterface(input *CreatePublicVirtualInterfaceInput) (*VirtualInterface, error) {
  1539. req, out := c.CreatePublicVirtualInterfaceRequest(input)
  1540. return out, req.Send()
  1541. }
  1542. // CreatePublicVirtualInterfaceWithContext is the same as CreatePublicVirtualInterface with the addition of
  1543. // the ability to pass a context and additional request options.
  1544. //
  1545. // See CreatePublicVirtualInterface for details on how to use this API operation.
  1546. //
  1547. // The context must be non-nil and will be used for request cancellation. If
  1548. // the context is nil a panic will occur. In the future the SDK may create
  1549. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1550. // for more information on using Contexts.
  1551. func (c *DirectConnect) CreatePublicVirtualInterfaceWithContext(ctx aws.Context, input *CreatePublicVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  1552. req, out := c.CreatePublicVirtualInterfaceRequest(input)
  1553. req.SetContext(ctx)
  1554. req.ApplyOptions(opts...)
  1555. return out, req.Send()
  1556. }
  1557. const opDeleteBGPPeer = "DeleteBGPPeer"
  1558. // DeleteBGPPeerRequest generates a "aws/request.Request" representing the
  1559. // client's request for the DeleteBGPPeer operation. The "output" return
  1560. // value will be populated with the request's response once the request completes
  1561. // successfully.
  1562. //
  1563. // Use "Send" method on the returned Request to send the API call to the service.
  1564. // the "output" return value is not valid until after Send returns without error.
  1565. //
  1566. // See DeleteBGPPeer for more information on using the DeleteBGPPeer
  1567. // API call, and error handling.
  1568. //
  1569. // This method is useful when you want to inject custom logic or configuration
  1570. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1571. //
  1572. //
  1573. // // Example sending a request using the DeleteBGPPeerRequest method.
  1574. // req, resp := client.DeleteBGPPeerRequest(params)
  1575. //
  1576. // err := req.Send()
  1577. // if err == nil { // resp is now filled
  1578. // fmt.Println(resp)
  1579. // }
  1580. //
  1581. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteBGPPeer
  1582. func (c *DirectConnect) DeleteBGPPeerRequest(input *DeleteBGPPeerInput) (req *request.Request, output *DeleteBGPPeerOutput) {
  1583. op := &request.Operation{
  1584. Name: opDeleteBGPPeer,
  1585. HTTPMethod: "POST",
  1586. HTTPPath: "/",
  1587. }
  1588. if input == nil {
  1589. input = &DeleteBGPPeerInput{}
  1590. }
  1591. output = &DeleteBGPPeerOutput{}
  1592. req = c.newRequest(op, input, output)
  1593. return
  1594. }
  1595. // DeleteBGPPeer API operation for AWS Direct Connect.
  1596. //
  1597. // Deletes the specified BGP peer on the specified virtual interface with the
  1598. // specified customer address and ASN.
  1599. //
  1600. // You cannot delete the last BGP peer from a virtual interface.
  1601. //
  1602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1603. // with awserr.Error's Code and Message methods to get detailed information about
  1604. // the error.
  1605. //
  1606. // See the AWS API reference guide for AWS Direct Connect's
  1607. // API operation DeleteBGPPeer for usage and error information.
  1608. //
  1609. // Returned Error Codes:
  1610. // * ErrCodeServerException "DirectConnectServerException"
  1611. // A server-side error occurred.
  1612. //
  1613. // * ErrCodeClientException "DirectConnectClientException"
  1614. // One or more parameters are not valid.
  1615. //
  1616. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteBGPPeer
  1617. func (c *DirectConnect) DeleteBGPPeer(input *DeleteBGPPeerInput) (*DeleteBGPPeerOutput, error) {
  1618. req, out := c.DeleteBGPPeerRequest(input)
  1619. return out, req.Send()
  1620. }
  1621. // DeleteBGPPeerWithContext is the same as DeleteBGPPeer with the addition of
  1622. // the ability to pass a context and additional request options.
  1623. //
  1624. // See DeleteBGPPeer for details on how to use this API operation.
  1625. //
  1626. // The context must be non-nil and will be used for request cancellation. If
  1627. // the context is nil a panic will occur. In the future the SDK may create
  1628. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1629. // for more information on using Contexts.
  1630. func (c *DirectConnect) DeleteBGPPeerWithContext(ctx aws.Context, input *DeleteBGPPeerInput, opts ...request.Option) (*DeleteBGPPeerOutput, error) {
  1631. req, out := c.DeleteBGPPeerRequest(input)
  1632. req.SetContext(ctx)
  1633. req.ApplyOptions(opts...)
  1634. return out, req.Send()
  1635. }
  1636. const opDeleteConnection = "DeleteConnection"
  1637. // DeleteConnectionRequest generates a "aws/request.Request" representing the
  1638. // client's request for the DeleteConnection operation. The "output" return
  1639. // value will be populated with the request's response once the request completes
  1640. // successfully.
  1641. //
  1642. // Use "Send" method on the returned Request to send the API call to the service.
  1643. // the "output" return value is not valid until after Send returns without error.
  1644. //
  1645. // See DeleteConnection for more information on using the DeleteConnection
  1646. // API call, and error handling.
  1647. //
  1648. // This method is useful when you want to inject custom logic or configuration
  1649. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1650. //
  1651. //
  1652. // // Example sending a request using the DeleteConnectionRequest method.
  1653. // req, resp := client.DeleteConnectionRequest(params)
  1654. //
  1655. // err := req.Send()
  1656. // if err == nil { // resp is now filled
  1657. // fmt.Println(resp)
  1658. // }
  1659. //
  1660. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteConnection
  1661. func (c *DirectConnect) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *Connection) {
  1662. op := &request.Operation{
  1663. Name: opDeleteConnection,
  1664. HTTPMethod: "POST",
  1665. HTTPPath: "/",
  1666. }
  1667. if input == nil {
  1668. input = &DeleteConnectionInput{}
  1669. }
  1670. output = &Connection{}
  1671. req = c.newRequest(op, input, output)
  1672. return
  1673. }
  1674. // DeleteConnection API operation for AWS Direct Connect.
  1675. //
  1676. // Deletes the specified connection.
  1677. //
  1678. // Deleting a connection only stops the AWS Direct Connect port hour and data
  1679. // transfer charges. If you are partnering with any third parties to connect
  1680. // with the AWS Direct Connect location, you must cancel your service with them
  1681. // separately.
  1682. //
  1683. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1684. // with awserr.Error's Code and Message methods to get detailed information about
  1685. // the error.
  1686. //
  1687. // See the AWS API reference guide for AWS Direct Connect's
  1688. // API operation DeleteConnection for usage and error information.
  1689. //
  1690. // Returned Error Codes:
  1691. // * ErrCodeServerException "DirectConnectServerException"
  1692. // A server-side error occurred.
  1693. //
  1694. // * ErrCodeClientException "DirectConnectClientException"
  1695. // One or more parameters are not valid.
  1696. //
  1697. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteConnection
  1698. func (c *DirectConnect) DeleteConnection(input *DeleteConnectionInput) (*Connection, error) {
  1699. req, out := c.DeleteConnectionRequest(input)
  1700. return out, req.Send()
  1701. }
  1702. // DeleteConnectionWithContext is the same as DeleteConnection with the addition of
  1703. // the ability to pass a context and additional request options.
  1704. //
  1705. // See DeleteConnection for details on how to use this API operation.
  1706. //
  1707. // The context must be non-nil and will be used for request cancellation. If
  1708. // the context is nil a panic will occur. In the future the SDK may create
  1709. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1710. // for more information on using Contexts.
  1711. func (c *DirectConnect) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*Connection, error) {
  1712. req, out := c.DeleteConnectionRequest(input)
  1713. req.SetContext(ctx)
  1714. req.ApplyOptions(opts...)
  1715. return out, req.Send()
  1716. }
  1717. const opDeleteDirectConnectGateway = "DeleteDirectConnectGateway"
  1718. // DeleteDirectConnectGatewayRequest generates a "aws/request.Request" representing the
  1719. // client's request for the DeleteDirectConnectGateway operation. The "output" return
  1720. // value will be populated with the request's response once the request completes
  1721. // successfully.
  1722. //
  1723. // Use "Send" method on the returned Request to send the API call to the service.
  1724. // the "output" return value is not valid until after Send returns without error.
  1725. //
  1726. // See DeleteDirectConnectGateway for more information on using the DeleteDirectConnectGateway
  1727. // API call, and error handling.
  1728. //
  1729. // This method is useful when you want to inject custom logic or configuration
  1730. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1731. //
  1732. //
  1733. // // Example sending a request using the DeleteDirectConnectGatewayRequest method.
  1734. // req, resp := client.DeleteDirectConnectGatewayRequest(params)
  1735. //
  1736. // err := req.Send()
  1737. // if err == nil { // resp is now filled
  1738. // fmt.Println(resp)
  1739. // }
  1740. //
  1741. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGateway
  1742. func (c *DirectConnect) DeleteDirectConnectGatewayRequest(input *DeleteDirectConnectGatewayInput) (req *request.Request, output *DeleteDirectConnectGatewayOutput) {
  1743. op := &request.Operation{
  1744. Name: opDeleteDirectConnectGateway,
  1745. HTTPMethod: "POST",
  1746. HTTPPath: "/",
  1747. }
  1748. if input == nil {
  1749. input = &DeleteDirectConnectGatewayInput{}
  1750. }
  1751. output = &DeleteDirectConnectGatewayOutput{}
  1752. req = c.newRequest(op, input, output)
  1753. return
  1754. }
  1755. // DeleteDirectConnectGateway API operation for AWS Direct Connect.
  1756. //
  1757. // Deletes the specified Direct Connect gateway. You must first delete all virtual
  1758. // interfaces that are attached to the Direct Connect gateway and disassociate
  1759. // all virtual private gateways that are associated with the Direct Connect
  1760. // gateway.
  1761. //
  1762. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1763. // with awserr.Error's Code and Message methods to get detailed information about
  1764. // the error.
  1765. //
  1766. // See the AWS API reference guide for AWS Direct Connect's
  1767. // API operation DeleteDirectConnectGateway for usage and error information.
  1768. //
  1769. // Returned Error Codes:
  1770. // * ErrCodeServerException "DirectConnectServerException"
  1771. // A server-side error occurred.
  1772. //
  1773. // * ErrCodeClientException "DirectConnectClientException"
  1774. // One or more parameters are not valid.
  1775. //
  1776. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGateway
  1777. func (c *DirectConnect) DeleteDirectConnectGateway(input *DeleteDirectConnectGatewayInput) (*DeleteDirectConnectGatewayOutput, error) {
  1778. req, out := c.DeleteDirectConnectGatewayRequest(input)
  1779. return out, req.Send()
  1780. }
  1781. // DeleteDirectConnectGatewayWithContext is the same as DeleteDirectConnectGateway with the addition of
  1782. // the ability to pass a context and additional request options.
  1783. //
  1784. // See DeleteDirectConnectGateway for details on how to use this API operation.
  1785. //
  1786. // The context must be non-nil and will be used for request cancellation. If
  1787. // the context is nil a panic will occur. In the future the SDK may create
  1788. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1789. // for more information on using Contexts.
  1790. func (c *DirectConnect) DeleteDirectConnectGatewayWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayInput, opts ...request.Option) (*DeleteDirectConnectGatewayOutput, error) {
  1791. req, out := c.DeleteDirectConnectGatewayRequest(input)
  1792. req.SetContext(ctx)
  1793. req.ApplyOptions(opts...)
  1794. return out, req.Send()
  1795. }
  1796. const opDeleteDirectConnectGatewayAssociation = "DeleteDirectConnectGatewayAssociation"
  1797. // DeleteDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the
  1798. // client's request for the DeleteDirectConnectGatewayAssociation operation. The "output" return
  1799. // value will be populated with the request's response once the request completes
  1800. // successfully.
  1801. //
  1802. // Use "Send" method on the returned Request to send the API call to the service.
  1803. // the "output" return value is not valid until after Send returns without error.
  1804. //
  1805. // See DeleteDirectConnectGatewayAssociation for more information on using the DeleteDirectConnectGatewayAssociation
  1806. // API call, and error handling.
  1807. //
  1808. // This method is useful when you want to inject custom logic or configuration
  1809. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1810. //
  1811. //
  1812. // // Example sending a request using the DeleteDirectConnectGatewayAssociationRequest method.
  1813. // req, resp := client.DeleteDirectConnectGatewayAssociationRequest(params)
  1814. //
  1815. // err := req.Send()
  1816. // if err == nil { // resp is now filled
  1817. // fmt.Println(resp)
  1818. // }
  1819. //
  1820. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociation
  1821. func (c *DirectConnect) DeleteDirectConnectGatewayAssociationRequest(input *DeleteDirectConnectGatewayAssociationInput) (req *request.Request, output *DeleteDirectConnectGatewayAssociationOutput) {
  1822. op := &request.Operation{
  1823. Name: opDeleteDirectConnectGatewayAssociation,
  1824. HTTPMethod: "POST",
  1825. HTTPPath: "/",
  1826. }
  1827. if input == nil {
  1828. input = &DeleteDirectConnectGatewayAssociationInput{}
  1829. }
  1830. output = &DeleteDirectConnectGatewayAssociationOutput{}
  1831. req = c.newRequest(op, input, output)
  1832. return
  1833. }
  1834. // DeleteDirectConnectGatewayAssociation API operation for AWS Direct Connect.
  1835. //
  1836. // Deletes the association between the specified Direct Connect gateway and
  1837. // virtual private gateway.
  1838. //
  1839. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1840. // with awserr.Error's Code and Message methods to get detailed information about
  1841. // the error.
  1842. //
  1843. // See the AWS API reference guide for AWS Direct Connect's
  1844. // API operation DeleteDirectConnectGatewayAssociation for usage and error information.
  1845. //
  1846. // Returned Error Codes:
  1847. // * ErrCodeServerException "DirectConnectServerException"
  1848. // A server-side error occurred.
  1849. //
  1850. // * ErrCodeClientException "DirectConnectClientException"
  1851. // One or more parameters are not valid.
  1852. //
  1853. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociation
  1854. func (c *DirectConnect) DeleteDirectConnectGatewayAssociation(input *DeleteDirectConnectGatewayAssociationInput) (*DeleteDirectConnectGatewayAssociationOutput, error) {
  1855. req, out := c.DeleteDirectConnectGatewayAssociationRequest(input)
  1856. return out, req.Send()
  1857. }
  1858. // DeleteDirectConnectGatewayAssociationWithContext is the same as DeleteDirectConnectGatewayAssociation with the addition of
  1859. // the ability to pass a context and additional request options.
  1860. //
  1861. // See DeleteDirectConnectGatewayAssociation for details on how to use this API operation.
  1862. //
  1863. // The context must be non-nil and will be used for request cancellation. If
  1864. // the context is nil a panic will occur. In the future the SDK may create
  1865. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1866. // for more information on using Contexts.
  1867. func (c *DirectConnect) DeleteDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayAssociationInput, opts ...request.Option) (*DeleteDirectConnectGatewayAssociationOutput, error) {
  1868. req, out := c.DeleteDirectConnectGatewayAssociationRequest(input)
  1869. req.SetContext(ctx)
  1870. req.ApplyOptions(opts...)
  1871. return out, req.Send()
  1872. }
  1873. const opDeleteInterconnect = "DeleteInterconnect"
  1874. // DeleteInterconnectRequest generates a "aws/request.Request" representing the
  1875. // client's request for the DeleteInterconnect operation. The "output" return
  1876. // value will be populated with the request's response once the request completes
  1877. // successfully.
  1878. //
  1879. // Use "Send" method on the returned Request to send the API call to the service.
  1880. // the "output" return value is not valid until after Send returns without error.
  1881. //
  1882. // See DeleteInterconnect for more information on using the DeleteInterconnect
  1883. // API call, and error handling.
  1884. //
  1885. // This method is useful when you want to inject custom logic or configuration
  1886. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1887. //
  1888. //
  1889. // // Example sending a request using the DeleteInterconnectRequest method.
  1890. // req, resp := client.DeleteInterconnectRequest(params)
  1891. //
  1892. // err := req.Send()
  1893. // if err == nil { // resp is now filled
  1894. // fmt.Println(resp)
  1895. // }
  1896. //
  1897. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteInterconnect
  1898. func (c *DirectConnect) DeleteInterconnectRequest(input *DeleteInterconnectInput) (req *request.Request, output *DeleteInterconnectOutput) {
  1899. op := &request.Operation{
  1900. Name: opDeleteInterconnect,
  1901. HTTPMethod: "POST",
  1902. HTTPPath: "/",
  1903. }
  1904. if input == nil {
  1905. input = &DeleteInterconnectInput{}
  1906. }
  1907. output = &DeleteInterconnectOutput{}
  1908. req = c.newRequest(op, input, output)
  1909. return
  1910. }
  1911. // DeleteInterconnect API operation for AWS Direct Connect.
  1912. //
  1913. // Deletes the specified interconnect.
  1914. //
  1915. // Intended for use by AWS Direct Connect partners only.
  1916. //
  1917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1918. // with awserr.Error's Code and Message methods to get detailed information about
  1919. // the error.
  1920. //
  1921. // See the AWS API reference guide for AWS Direct Connect's
  1922. // API operation DeleteInterconnect for usage and error information.
  1923. //
  1924. // Returned Error Codes:
  1925. // * ErrCodeServerException "DirectConnectServerException"
  1926. // A server-side error occurred.
  1927. //
  1928. // * ErrCodeClientException "DirectConnectClientException"
  1929. // One or more parameters are not valid.
  1930. //
  1931. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteInterconnect
  1932. func (c *DirectConnect) DeleteInterconnect(input *DeleteInterconnectInput) (*DeleteInterconnectOutput, error) {
  1933. req, out := c.DeleteInterconnectRequest(input)
  1934. return out, req.Send()
  1935. }
  1936. // DeleteInterconnectWithContext is the same as DeleteInterconnect with the addition of
  1937. // the ability to pass a context and additional request options.
  1938. //
  1939. // See DeleteInterconnect for details on how to use this API operation.
  1940. //
  1941. // The context must be non-nil and will be used for request cancellation. If
  1942. // the context is nil a panic will occur. In the future the SDK may create
  1943. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1944. // for more information on using Contexts.
  1945. func (c *DirectConnect) DeleteInterconnectWithContext(ctx aws.Context, input *DeleteInterconnectInput, opts ...request.Option) (*DeleteInterconnectOutput, error) {
  1946. req, out := c.DeleteInterconnectRequest(input)
  1947. req.SetContext(ctx)
  1948. req.ApplyOptions(opts...)
  1949. return out, req.Send()
  1950. }
  1951. const opDeleteLag = "DeleteLag"
  1952. // DeleteLagRequest generates a "aws/request.Request" representing the
  1953. // client's request for the DeleteLag operation. The "output" return
  1954. // value will be populated with the request's response once the request completes
  1955. // successfully.
  1956. //
  1957. // Use "Send" method on the returned Request to send the API call to the service.
  1958. // the "output" return value is not valid until after Send returns without error.
  1959. //
  1960. // See DeleteLag for more information on using the DeleteLag
  1961. // API call, and error handling.
  1962. //
  1963. // This method is useful when you want to inject custom logic or configuration
  1964. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1965. //
  1966. //
  1967. // // Example sending a request using the DeleteLagRequest method.
  1968. // req, resp := client.DeleteLagRequest(params)
  1969. //
  1970. // err := req.Send()
  1971. // if err == nil { // resp is now filled
  1972. // fmt.Println(resp)
  1973. // }
  1974. //
  1975. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteLag
  1976. func (c *DirectConnect) DeleteLagRequest(input *DeleteLagInput) (req *request.Request, output *Lag) {
  1977. op := &request.Operation{
  1978. Name: opDeleteLag,
  1979. HTTPMethod: "POST",
  1980. HTTPPath: "/",
  1981. }
  1982. if input == nil {
  1983. input = &DeleteLagInput{}
  1984. }
  1985. output = &Lag{}
  1986. req = c.newRequest(op, input, output)
  1987. return
  1988. }
  1989. // DeleteLag API operation for AWS Direct Connect.
  1990. //
  1991. // Deletes the specified link aggregation group (LAG). You cannot delete a LAG
  1992. // if it has active virtual interfaces or hosted connections.
  1993. //
  1994. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1995. // with awserr.Error's Code and Message methods to get detailed information about
  1996. // the error.
  1997. //
  1998. // See the AWS API reference guide for AWS Direct Connect's
  1999. // API operation DeleteLag for usage and error information.
  2000. //
  2001. // Returned Error Codes:
  2002. // * ErrCodeServerException "DirectConnectServerException"
  2003. // A server-side error occurred.
  2004. //
  2005. // * ErrCodeClientException "DirectConnectClientException"
  2006. // One or more parameters are not valid.
  2007. //
  2008. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteLag
  2009. func (c *DirectConnect) DeleteLag(input *DeleteLagInput) (*Lag, error) {
  2010. req, out := c.DeleteLagRequest(input)
  2011. return out, req.Send()
  2012. }
  2013. // DeleteLagWithContext is the same as DeleteLag with the addition of
  2014. // the ability to pass a context and additional request options.
  2015. //
  2016. // See DeleteLag for details on how to use this API operation.
  2017. //
  2018. // The context must be non-nil and will be used for request cancellation. If
  2019. // the context is nil a panic will occur. In the future the SDK may create
  2020. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2021. // for more information on using Contexts.
  2022. func (c *DirectConnect) DeleteLagWithContext(ctx aws.Context, input *DeleteLagInput, opts ...request.Option) (*Lag, error) {
  2023. req, out := c.DeleteLagRequest(input)
  2024. req.SetContext(ctx)
  2025. req.ApplyOptions(opts...)
  2026. return out, req.Send()
  2027. }
  2028. const opDeleteVirtualInterface = "DeleteVirtualInterface"
  2029. // DeleteVirtualInterfaceRequest generates a "aws/request.Request" representing the
  2030. // client's request for the DeleteVirtualInterface operation. The "output" return
  2031. // value will be populated with the request's response once the request completes
  2032. // successfully.
  2033. //
  2034. // Use "Send" method on the returned Request to send the API call to the service.
  2035. // the "output" return value is not valid until after Send returns without error.
  2036. //
  2037. // See DeleteVirtualInterface for more information on using the DeleteVirtualInterface
  2038. // API call, and error handling.
  2039. //
  2040. // This method is useful when you want to inject custom logic or configuration
  2041. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2042. //
  2043. //
  2044. // // Example sending a request using the DeleteVirtualInterfaceRequest method.
  2045. // req, resp := client.DeleteVirtualInterfaceRequest(params)
  2046. //
  2047. // err := req.Send()
  2048. // if err == nil { // resp is now filled
  2049. // fmt.Println(resp)
  2050. // }
  2051. //
  2052. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteVirtualInterface
  2053. func (c *DirectConnect) DeleteVirtualInterfaceRequest(input *DeleteVirtualInterfaceInput) (req *request.Request, output *DeleteVirtualInterfaceOutput) {
  2054. op := &request.Operation{
  2055. Name: opDeleteVirtualInterface,
  2056. HTTPMethod: "POST",
  2057. HTTPPath: "/",
  2058. }
  2059. if input == nil {
  2060. input = &DeleteVirtualInterfaceInput{}
  2061. }
  2062. output = &DeleteVirtualInterfaceOutput{}
  2063. req = c.newRequest(op, input, output)
  2064. return
  2065. }
  2066. // DeleteVirtualInterface API operation for AWS Direct Connect.
  2067. //
  2068. // Deletes a virtual interface.
  2069. //
  2070. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2071. // with awserr.Error's Code and Message methods to get detailed information about
  2072. // the error.
  2073. //
  2074. // See the AWS API reference guide for AWS Direct Connect's
  2075. // API operation DeleteVirtualInterface for usage and error information.
  2076. //
  2077. // Returned Error Codes:
  2078. // * ErrCodeServerException "DirectConnectServerException"
  2079. // A server-side error occurred.
  2080. //
  2081. // * ErrCodeClientException "DirectConnectClientException"
  2082. // One or more parameters are not valid.
  2083. //
  2084. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteVirtualInterface
  2085. func (c *DirectConnect) DeleteVirtualInterface(input *DeleteVirtualInterfaceInput) (*DeleteVirtualInterfaceOutput, error) {
  2086. req, out := c.DeleteVirtualInterfaceRequest(input)
  2087. return out, req.Send()
  2088. }
  2089. // DeleteVirtualInterfaceWithContext is the same as DeleteVirtualInterface with the addition of
  2090. // the ability to pass a context and additional request options.
  2091. //
  2092. // See DeleteVirtualInterface for details on how to use this API operation.
  2093. //
  2094. // The context must be non-nil and will be used for request cancellation. If
  2095. // the context is nil a panic will occur. In the future the SDK may create
  2096. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2097. // for more information on using Contexts.
  2098. func (c *DirectConnect) DeleteVirtualInterfaceWithContext(ctx aws.Context, input *DeleteVirtualInterfaceInput, opts ...request.Option) (*DeleteVirtualInterfaceOutput, error) {
  2099. req, out := c.DeleteVirtualInterfaceRequest(input)
  2100. req.SetContext(ctx)
  2101. req.ApplyOptions(opts...)
  2102. return out, req.Send()
  2103. }
  2104. const opDescribeConnectionLoa = "DescribeConnectionLoa"
  2105. // DescribeConnectionLoaRequest generates a "aws/request.Request" representing the
  2106. // client's request for the DescribeConnectionLoa operation. The "output" return
  2107. // value will be populated with the request's response once the request completes
  2108. // successfully.
  2109. //
  2110. // Use "Send" method on the returned Request to send the API call to the service.
  2111. // the "output" return value is not valid until after Send returns without error.
  2112. //
  2113. // See DescribeConnectionLoa for more information on using the DescribeConnectionLoa
  2114. // API call, and error handling.
  2115. //
  2116. // This method is useful when you want to inject custom logic or configuration
  2117. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2118. //
  2119. //
  2120. // // Example sending a request using the DescribeConnectionLoaRequest method.
  2121. // req, resp := client.DescribeConnectionLoaRequest(params)
  2122. //
  2123. // err := req.Send()
  2124. // if err == nil { // resp is now filled
  2125. // fmt.Println(resp)
  2126. // }
  2127. //
  2128. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionLoa
  2129. //
  2130. // Deprecated: DescribeConnectionLoa has been deprecated
  2131. func (c *DirectConnect) DescribeConnectionLoaRequest(input *DescribeConnectionLoaInput) (req *request.Request, output *DescribeConnectionLoaOutput) {
  2132. if c.Client.Config.Logger != nil {
  2133. c.Client.Config.Logger.Log("This operation, DescribeConnectionLoa, has been deprecated")
  2134. }
  2135. op := &request.Operation{
  2136. Name: opDescribeConnectionLoa,
  2137. HTTPMethod: "POST",
  2138. HTTPPath: "/",
  2139. }
  2140. if input == nil {
  2141. input = &DescribeConnectionLoaInput{}
  2142. }
  2143. output = &DescribeConnectionLoaOutput{}
  2144. req = c.newRequest(op, input, output)
  2145. return
  2146. }
  2147. // DescribeConnectionLoa API operation for AWS Direct Connect.
  2148. //
  2149. // Deprecated. Use DescribeLoa instead.
  2150. //
  2151. // Gets the LOA-CFA for a connection.
  2152. //
  2153. // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  2154. // a document that your APN partner or service provider uses when establishing
  2155. // your cross connect to AWS at the colocation facility. For more information,
  2156. // see Requesting Cross Connects at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  2157. // in the AWS Direct Connect User Guide.
  2158. //
  2159. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2160. // with awserr.Error's Code and Message methods to get detailed information about
  2161. // the error.
  2162. //
  2163. // See the AWS API reference guide for AWS Direct Connect's
  2164. // API operation DescribeConnectionLoa for usage and error information.
  2165. //
  2166. // Returned Error Codes:
  2167. // * ErrCodeServerException "DirectConnectServerException"
  2168. // A server-side error occurred.
  2169. //
  2170. // * ErrCodeClientException "DirectConnectClientException"
  2171. // One or more parameters are not valid.
  2172. //
  2173. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionLoa
  2174. //
  2175. // Deprecated: DescribeConnectionLoa has been deprecated
  2176. func (c *DirectConnect) DescribeConnectionLoa(input *DescribeConnectionLoaInput) (*DescribeConnectionLoaOutput, error) {
  2177. req, out := c.DescribeConnectionLoaRequest(input)
  2178. return out, req.Send()
  2179. }
  2180. // DescribeConnectionLoaWithContext is the same as DescribeConnectionLoa with the addition of
  2181. // the ability to pass a context and additional request options.
  2182. //
  2183. // See DescribeConnectionLoa for details on how to use this API operation.
  2184. //
  2185. // The context must be non-nil and will be used for request cancellation. If
  2186. // the context is nil a panic will occur. In the future the SDK may create
  2187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2188. // for more information on using Contexts.
  2189. //
  2190. // Deprecated: DescribeConnectionLoaWithContext has been deprecated
  2191. func (c *DirectConnect) DescribeConnectionLoaWithContext(ctx aws.Context, input *DescribeConnectionLoaInput, opts ...request.Option) (*DescribeConnectionLoaOutput, error) {
  2192. req, out := c.DescribeConnectionLoaRequest(input)
  2193. req.SetContext(ctx)
  2194. req.ApplyOptions(opts...)
  2195. return out, req.Send()
  2196. }
  2197. const opDescribeConnections = "DescribeConnections"
  2198. // DescribeConnectionsRequest generates a "aws/request.Request" representing the
  2199. // client's request for the DescribeConnections operation. The "output" return
  2200. // value will be populated with the request's response once the request completes
  2201. // successfully.
  2202. //
  2203. // Use "Send" method on the returned Request to send the API call to the service.
  2204. // the "output" return value is not valid until after Send returns without error.
  2205. //
  2206. // See DescribeConnections for more information on using the DescribeConnections
  2207. // API call, and error handling.
  2208. //
  2209. // This method is useful when you want to inject custom logic or configuration
  2210. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2211. //
  2212. //
  2213. // // Example sending a request using the DescribeConnectionsRequest method.
  2214. // req, resp := client.DescribeConnectionsRequest(params)
  2215. //
  2216. // err := req.Send()
  2217. // if err == nil { // resp is now filled
  2218. // fmt.Println(resp)
  2219. // }
  2220. //
  2221. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnections
  2222. func (c *DirectConnect) DescribeConnectionsRequest(input *DescribeConnectionsInput) (req *request.Request, output *Connections) {
  2223. op := &request.Operation{
  2224. Name: opDescribeConnections,
  2225. HTTPMethod: "POST",
  2226. HTTPPath: "/",
  2227. }
  2228. if input == nil {
  2229. input = &DescribeConnectionsInput{}
  2230. }
  2231. output = &Connections{}
  2232. req = c.newRequest(op, input, output)
  2233. return
  2234. }
  2235. // DescribeConnections API operation for AWS Direct Connect.
  2236. //
  2237. // Displays the specified connection or all connections in this Region.
  2238. //
  2239. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2240. // with awserr.Error's Code and Message methods to get detailed information about
  2241. // the error.
  2242. //
  2243. // See the AWS API reference guide for AWS Direct Connect's
  2244. // API operation DescribeConnections for usage and error information.
  2245. //
  2246. // Returned Error Codes:
  2247. // * ErrCodeServerException "DirectConnectServerException"
  2248. // A server-side error occurred.
  2249. //
  2250. // * ErrCodeClientException "DirectConnectClientException"
  2251. // One or more parameters are not valid.
  2252. //
  2253. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnections
  2254. func (c *DirectConnect) DescribeConnections(input *DescribeConnectionsInput) (*Connections, error) {
  2255. req, out := c.DescribeConnectionsRequest(input)
  2256. return out, req.Send()
  2257. }
  2258. // DescribeConnectionsWithContext is the same as DescribeConnections with the addition of
  2259. // the ability to pass a context and additional request options.
  2260. //
  2261. // See DescribeConnections for details on how to use this API operation.
  2262. //
  2263. // The context must be non-nil and will be used for request cancellation. If
  2264. // the context is nil a panic will occur. In the future the SDK may create
  2265. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2266. // for more information on using Contexts.
  2267. func (c *DirectConnect) DescribeConnectionsWithContext(ctx aws.Context, input *DescribeConnectionsInput, opts ...request.Option) (*Connections, error) {
  2268. req, out := c.DescribeConnectionsRequest(input)
  2269. req.SetContext(ctx)
  2270. req.ApplyOptions(opts...)
  2271. return out, req.Send()
  2272. }
  2273. const opDescribeConnectionsOnInterconnect = "DescribeConnectionsOnInterconnect"
  2274. // DescribeConnectionsOnInterconnectRequest generates a "aws/request.Request" representing the
  2275. // client's request for the DescribeConnectionsOnInterconnect operation. The "output" return
  2276. // value will be populated with the request's response once the request completes
  2277. // successfully.
  2278. //
  2279. // Use "Send" method on the returned Request to send the API call to the service.
  2280. // the "output" return value is not valid until after Send returns without error.
  2281. //
  2282. // See DescribeConnectionsOnInterconnect for more information on using the DescribeConnectionsOnInterconnect
  2283. // API call, and error handling.
  2284. //
  2285. // This method is useful when you want to inject custom logic or configuration
  2286. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2287. //
  2288. //
  2289. // // Example sending a request using the DescribeConnectionsOnInterconnectRequest method.
  2290. // req, resp := client.DescribeConnectionsOnInterconnectRequest(params)
  2291. //
  2292. // err := req.Send()
  2293. // if err == nil { // resp is now filled
  2294. // fmt.Println(resp)
  2295. // }
  2296. //
  2297. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionsOnInterconnect
  2298. //
  2299. // Deprecated: DescribeConnectionsOnInterconnect has been deprecated
  2300. func (c *DirectConnect) DescribeConnectionsOnInterconnectRequest(input *DescribeConnectionsOnInterconnectInput) (req *request.Request, output *Connections) {
  2301. if c.Client.Config.Logger != nil {
  2302. c.Client.Config.Logger.Log("This operation, DescribeConnectionsOnInterconnect, has been deprecated")
  2303. }
  2304. op := &request.Operation{
  2305. Name: opDescribeConnectionsOnInterconnect,
  2306. HTTPMethod: "POST",
  2307. HTTPPath: "/",
  2308. }
  2309. if input == nil {
  2310. input = &DescribeConnectionsOnInterconnectInput{}
  2311. }
  2312. output = &Connections{}
  2313. req = c.newRequest(op, input, output)
  2314. return
  2315. }
  2316. // DescribeConnectionsOnInterconnect API operation for AWS Direct Connect.
  2317. //
  2318. // Deprecated. Use DescribeHostedConnections instead.
  2319. //
  2320. // Lists the connections that have been provisioned on the specified interconnect.
  2321. //
  2322. // Intended for use by AWS Direct Connect partners only.
  2323. //
  2324. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2325. // with awserr.Error's Code and Message methods to get detailed information about
  2326. // the error.
  2327. //
  2328. // See the AWS API reference guide for AWS Direct Connect's
  2329. // API operation DescribeConnectionsOnInterconnect for usage and error information.
  2330. //
  2331. // Returned Error Codes:
  2332. // * ErrCodeServerException "DirectConnectServerException"
  2333. // A server-side error occurred.
  2334. //
  2335. // * ErrCodeClientException "DirectConnectClientException"
  2336. // One or more parameters are not valid.
  2337. //
  2338. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionsOnInterconnect
  2339. //
  2340. // Deprecated: DescribeConnectionsOnInterconnect has been deprecated
  2341. func (c *DirectConnect) DescribeConnectionsOnInterconnect(input *DescribeConnectionsOnInterconnectInput) (*Connections, error) {
  2342. req, out := c.DescribeConnectionsOnInterconnectRequest(input)
  2343. return out, req.Send()
  2344. }
  2345. // DescribeConnectionsOnInterconnectWithContext is the same as DescribeConnectionsOnInterconnect with the addition of
  2346. // the ability to pass a context and additional request options.
  2347. //
  2348. // See DescribeConnectionsOnInterconnect for details on how to use this API operation.
  2349. //
  2350. // The context must be non-nil and will be used for request cancellation. If
  2351. // the context is nil a panic will occur. In the future the SDK may create
  2352. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2353. // for more information on using Contexts.
  2354. //
  2355. // Deprecated: DescribeConnectionsOnInterconnectWithContext has been deprecated
  2356. func (c *DirectConnect) DescribeConnectionsOnInterconnectWithContext(ctx aws.Context, input *DescribeConnectionsOnInterconnectInput, opts ...request.Option) (*Connections, error) {
  2357. req, out := c.DescribeConnectionsOnInterconnectRequest(input)
  2358. req.SetContext(ctx)
  2359. req.ApplyOptions(opts...)
  2360. return out, req.Send()
  2361. }
  2362. const opDescribeDirectConnectGatewayAssociations = "DescribeDirectConnectGatewayAssociations"
  2363. // DescribeDirectConnectGatewayAssociationsRequest generates a "aws/request.Request" representing the
  2364. // client's request for the DescribeDirectConnectGatewayAssociations operation. The "output" return
  2365. // value will be populated with the request's response once the request completes
  2366. // successfully.
  2367. //
  2368. // Use "Send" method on the returned Request to send the API call to the service.
  2369. // the "output" return value is not valid until after Send returns without error.
  2370. //
  2371. // See DescribeDirectConnectGatewayAssociations for more information on using the DescribeDirectConnectGatewayAssociations
  2372. // API call, and error handling.
  2373. //
  2374. // This method is useful when you want to inject custom logic or configuration
  2375. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2376. //
  2377. //
  2378. // // Example sending a request using the DescribeDirectConnectGatewayAssociationsRequest method.
  2379. // req, resp := client.DescribeDirectConnectGatewayAssociationsRequest(params)
  2380. //
  2381. // err := req.Send()
  2382. // if err == nil { // resp is now filled
  2383. // fmt.Println(resp)
  2384. // }
  2385. //
  2386. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociations
  2387. func (c *DirectConnect) DescribeDirectConnectGatewayAssociationsRequest(input *DescribeDirectConnectGatewayAssociationsInput) (req *request.Request, output *DescribeDirectConnectGatewayAssociationsOutput) {
  2388. op := &request.Operation{
  2389. Name: opDescribeDirectConnectGatewayAssociations,
  2390. HTTPMethod: "POST",
  2391. HTTPPath: "/",
  2392. }
  2393. if input == nil {
  2394. input = &DescribeDirectConnectGatewayAssociationsInput{}
  2395. }
  2396. output = &DescribeDirectConnectGatewayAssociationsOutput{}
  2397. req = c.newRequest(op, input, output)
  2398. return
  2399. }
  2400. // DescribeDirectConnectGatewayAssociations API operation for AWS Direct Connect.
  2401. //
  2402. // Lists the associations between your Direct Connect gateways and virtual private
  2403. // gateways. You must specify a Direct Connect gateway, a virtual private gateway,
  2404. // or both. If you specify a Direct Connect gateway, the response contains all
  2405. // virtual private gateways associated with the Direct Connect gateway. If you
  2406. // specify a virtual private gateway, the response contains all Direct Connect
  2407. // gateways associated with the virtual private gateway. If you specify both,
  2408. // the response contains the association between the Direct Connect gateway
  2409. // and the virtual private gateway.
  2410. //
  2411. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2412. // with awserr.Error's Code and Message methods to get detailed information about
  2413. // the error.
  2414. //
  2415. // See the AWS API reference guide for AWS Direct Connect's
  2416. // API operation DescribeDirectConnectGatewayAssociations for usage and error information.
  2417. //
  2418. // Returned Error Codes:
  2419. // * ErrCodeServerException "DirectConnectServerException"
  2420. // A server-side error occurred.
  2421. //
  2422. // * ErrCodeClientException "DirectConnectClientException"
  2423. // One or more parameters are not valid.
  2424. //
  2425. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociations
  2426. func (c *DirectConnect) DescribeDirectConnectGatewayAssociations(input *DescribeDirectConnectGatewayAssociationsInput) (*DescribeDirectConnectGatewayAssociationsOutput, error) {
  2427. req, out := c.DescribeDirectConnectGatewayAssociationsRequest(input)
  2428. return out, req.Send()
  2429. }
  2430. // DescribeDirectConnectGatewayAssociationsWithContext is the same as DescribeDirectConnectGatewayAssociations with the addition of
  2431. // the ability to pass a context and additional request options.
  2432. //
  2433. // See DescribeDirectConnectGatewayAssociations for details on how to use this API operation.
  2434. //
  2435. // The context must be non-nil and will be used for request cancellation. If
  2436. // the context is nil a panic will occur. In the future the SDK may create
  2437. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2438. // for more information on using Contexts.
  2439. func (c *DirectConnect) DescribeDirectConnectGatewayAssociationsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAssociationsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAssociationsOutput, error) {
  2440. req, out := c.DescribeDirectConnectGatewayAssociationsRequest(input)
  2441. req.SetContext(ctx)
  2442. req.ApplyOptions(opts...)
  2443. return out, req.Send()
  2444. }
  2445. const opDescribeDirectConnectGatewayAttachments = "DescribeDirectConnectGatewayAttachments"
  2446. // DescribeDirectConnectGatewayAttachmentsRequest generates a "aws/request.Request" representing the
  2447. // client's request for the DescribeDirectConnectGatewayAttachments operation. The "output" return
  2448. // value will be populated with the request's response once the request completes
  2449. // successfully.
  2450. //
  2451. // Use "Send" method on the returned Request to send the API call to the service.
  2452. // the "output" return value is not valid until after Send returns without error.
  2453. //
  2454. // See DescribeDirectConnectGatewayAttachments for more information on using the DescribeDirectConnectGatewayAttachments
  2455. // API call, and error handling.
  2456. //
  2457. // This method is useful when you want to inject custom logic or configuration
  2458. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2459. //
  2460. //
  2461. // // Example sending a request using the DescribeDirectConnectGatewayAttachmentsRequest method.
  2462. // req, resp := client.DescribeDirectConnectGatewayAttachmentsRequest(params)
  2463. //
  2464. // err := req.Send()
  2465. // if err == nil { // resp is now filled
  2466. // fmt.Println(resp)
  2467. // }
  2468. //
  2469. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAttachments
  2470. func (c *DirectConnect) DescribeDirectConnectGatewayAttachmentsRequest(input *DescribeDirectConnectGatewayAttachmentsInput) (req *request.Request, output *DescribeDirectConnectGatewayAttachmentsOutput) {
  2471. op := &request.Operation{
  2472. Name: opDescribeDirectConnectGatewayAttachments,
  2473. HTTPMethod: "POST",
  2474. HTTPPath: "/",
  2475. }
  2476. if input == nil {
  2477. input = &DescribeDirectConnectGatewayAttachmentsInput{}
  2478. }
  2479. output = &DescribeDirectConnectGatewayAttachmentsOutput{}
  2480. req = c.newRequest(op, input, output)
  2481. return
  2482. }
  2483. // DescribeDirectConnectGatewayAttachments API operation for AWS Direct Connect.
  2484. //
  2485. // Lists the attachments between your Direct Connect gateways and virtual interfaces.
  2486. // You must specify a Direct Connect gateway, a virtual interface, or both.
  2487. // If you specify a Direct Connect gateway, the response contains all virtual
  2488. // interfaces attached to the Direct Connect gateway. If you specify a virtual
  2489. // interface, the response contains all Direct Connect gateways attached to
  2490. // the virtual interface. If you specify both, the response contains the attachment
  2491. // between the Direct Connect gateway and the virtual interface.
  2492. //
  2493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2494. // with awserr.Error's Code and Message methods to get detailed information about
  2495. // the error.
  2496. //
  2497. // See the AWS API reference guide for AWS Direct Connect's
  2498. // API operation DescribeDirectConnectGatewayAttachments for usage and error information.
  2499. //
  2500. // Returned Error Codes:
  2501. // * ErrCodeServerException "DirectConnectServerException"
  2502. // A server-side error occurred.
  2503. //
  2504. // * ErrCodeClientException "DirectConnectClientException"
  2505. // One or more parameters are not valid.
  2506. //
  2507. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAttachments
  2508. func (c *DirectConnect) DescribeDirectConnectGatewayAttachments(input *DescribeDirectConnectGatewayAttachmentsInput) (*DescribeDirectConnectGatewayAttachmentsOutput, error) {
  2509. req, out := c.DescribeDirectConnectGatewayAttachmentsRequest(input)
  2510. return out, req.Send()
  2511. }
  2512. // DescribeDirectConnectGatewayAttachmentsWithContext is the same as DescribeDirectConnectGatewayAttachments with the addition of
  2513. // the ability to pass a context and additional request options.
  2514. //
  2515. // See DescribeDirectConnectGatewayAttachments for details on how to use this API operation.
  2516. //
  2517. // The context must be non-nil and will be used for request cancellation. If
  2518. // the context is nil a panic will occur. In the future the SDK may create
  2519. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2520. // for more information on using Contexts.
  2521. func (c *DirectConnect) DescribeDirectConnectGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAttachmentsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAttachmentsOutput, error) {
  2522. req, out := c.DescribeDirectConnectGatewayAttachmentsRequest(input)
  2523. req.SetContext(ctx)
  2524. req.ApplyOptions(opts...)
  2525. return out, req.Send()
  2526. }
  2527. const opDescribeDirectConnectGateways = "DescribeDirectConnectGateways"
  2528. // DescribeDirectConnectGatewaysRequest generates a "aws/request.Request" representing the
  2529. // client's request for the DescribeDirectConnectGateways operation. The "output" return
  2530. // value will be populated with the request's response once the request completes
  2531. // successfully.
  2532. //
  2533. // Use "Send" method on the returned Request to send the API call to the service.
  2534. // the "output" return value is not valid until after Send returns without error.
  2535. //
  2536. // See DescribeDirectConnectGateways for more information on using the DescribeDirectConnectGateways
  2537. // API call, and error handling.
  2538. //
  2539. // This method is useful when you want to inject custom logic or configuration
  2540. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2541. //
  2542. //
  2543. // // Example sending a request using the DescribeDirectConnectGatewaysRequest method.
  2544. // req, resp := client.DescribeDirectConnectGatewaysRequest(params)
  2545. //
  2546. // err := req.Send()
  2547. // if err == nil { // resp is now filled
  2548. // fmt.Println(resp)
  2549. // }
  2550. //
  2551. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGateways
  2552. func (c *DirectConnect) DescribeDirectConnectGatewaysRequest(input *DescribeDirectConnectGatewaysInput) (req *request.Request, output *DescribeDirectConnectGatewaysOutput) {
  2553. op := &request.Operation{
  2554. Name: opDescribeDirectConnectGateways,
  2555. HTTPMethod: "POST",
  2556. HTTPPath: "/",
  2557. }
  2558. if input == nil {
  2559. input = &DescribeDirectConnectGatewaysInput{}
  2560. }
  2561. output = &DescribeDirectConnectGatewaysOutput{}
  2562. req = c.newRequest(op, input, output)
  2563. return
  2564. }
  2565. // DescribeDirectConnectGateways API operation for AWS Direct Connect.
  2566. //
  2567. // Lists all your Direct Connect gateways or only the specified Direct Connect
  2568. // gateway. Deleted Direct Connect gateways are not returned.
  2569. //
  2570. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2571. // with awserr.Error's Code and Message methods to get detailed information about
  2572. // the error.
  2573. //
  2574. // See the AWS API reference guide for AWS Direct Connect's
  2575. // API operation DescribeDirectConnectGateways for usage and error information.
  2576. //
  2577. // Returned Error Codes:
  2578. // * ErrCodeServerException "DirectConnectServerException"
  2579. // A server-side error occurred.
  2580. //
  2581. // * ErrCodeClientException "DirectConnectClientException"
  2582. // One or more parameters are not valid.
  2583. //
  2584. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGateways
  2585. func (c *DirectConnect) DescribeDirectConnectGateways(input *DescribeDirectConnectGatewaysInput) (*DescribeDirectConnectGatewaysOutput, error) {
  2586. req, out := c.DescribeDirectConnectGatewaysRequest(input)
  2587. return out, req.Send()
  2588. }
  2589. // DescribeDirectConnectGatewaysWithContext is the same as DescribeDirectConnectGateways with the addition of
  2590. // the ability to pass a context and additional request options.
  2591. //
  2592. // See DescribeDirectConnectGateways for details on how to use this API operation.
  2593. //
  2594. // The context must be non-nil and will be used for request cancellation. If
  2595. // the context is nil a panic will occur. In the future the SDK may create
  2596. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2597. // for more information on using Contexts.
  2598. func (c *DirectConnect) DescribeDirectConnectGatewaysWithContext(ctx aws.Context, input *DescribeDirectConnectGatewaysInput, opts ...request.Option) (*DescribeDirectConnectGatewaysOutput, error) {
  2599. req, out := c.DescribeDirectConnectGatewaysRequest(input)
  2600. req.SetContext(ctx)
  2601. req.ApplyOptions(opts...)
  2602. return out, req.Send()
  2603. }
  2604. const opDescribeHostedConnections = "DescribeHostedConnections"
  2605. // DescribeHostedConnectionsRequest generates a "aws/request.Request" representing the
  2606. // client's request for the DescribeHostedConnections operation. The "output" return
  2607. // value will be populated with the request's response once the request completes
  2608. // successfully.
  2609. //
  2610. // Use "Send" method on the returned Request to send the API call to the service.
  2611. // the "output" return value is not valid until after Send returns without error.
  2612. //
  2613. // See DescribeHostedConnections for more information on using the DescribeHostedConnections
  2614. // API call, and error handling.
  2615. //
  2616. // This method is useful when you want to inject custom logic or configuration
  2617. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2618. //
  2619. //
  2620. // // Example sending a request using the DescribeHostedConnectionsRequest method.
  2621. // req, resp := client.DescribeHostedConnectionsRequest(params)
  2622. //
  2623. // err := req.Send()
  2624. // if err == nil { // resp is now filled
  2625. // fmt.Println(resp)
  2626. // }
  2627. //
  2628. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeHostedConnections
  2629. func (c *DirectConnect) DescribeHostedConnectionsRequest(input *DescribeHostedConnectionsInput) (req *request.Request, output *Connections) {
  2630. op := &request.Operation{
  2631. Name: opDescribeHostedConnections,
  2632. HTTPMethod: "POST",
  2633. HTTPPath: "/",
  2634. }
  2635. if input == nil {
  2636. input = &DescribeHostedConnectionsInput{}
  2637. }
  2638. output = &Connections{}
  2639. req = c.newRequest(op, input, output)
  2640. return
  2641. }
  2642. // DescribeHostedConnections API operation for AWS Direct Connect.
  2643. //
  2644. // Lists the hosted connections that have been provisioned on the specified
  2645. // interconnect or link aggregation group (LAG).
  2646. //
  2647. // Intended for use by AWS Direct Connect partners only.
  2648. //
  2649. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2650. // with awserr.Error's Code and Message methods to get detailed information about
  2651. // the error.
  2652. //
  2653. // See the AWS API reference guide for AWS Direct Connect's
  2654. // API operation DescribeHostedConnections for usage and error information.
  2655. //
  2656. // Returned Error Codes:
  2657. // * ErrCodeServerException "DirectConnectServerException"
  2658. // A server-side error occurred.
  2659. //
  2660. // * ErrCodeClientException "DirectConnectClientException"
  2661. // One or more parameters are not valid.
  2662. //
  2663. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeHostedConnections
  2664. func (c *DirectConnect) DescribeHostedConnections(input *DescribeHostedConnectionsInput) (*Connections, error) {
  2665. req, out := c.DescribeHostedConnectionsRequest(input)
  2666. return out, req.Send()
  2667. }
  2668. // DescribeHostedConnectionsWithContext is the same as DescribeHostedConnections with the addition of
  2669. // the ability to pass a context and additional request options.
  2670. //
  2671. // See DescribeHostedConnections for details on how to use this API operation.
  2672. //
  2673. // The context must be non-nil and will be used for request cancellation. If
  2674. // the context is nil a panic will occur. In the future the SDK may create
  2675. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2676. // for more information on using Contexts.
  2677. func (c *DirectConnect) DescribeHostedConnectionsWithContext(ctx aws.Context, input *DescribeHostedConnectionsInput, opts ...request.Option) (*Connections, error) {
  2678. req, out := c.DescribeHostedConnectionsRequest(input)
  2679. req.SetContext(ctx)
  2680. req.ApplyOptions(opts...)
  2681. return out, req.Send()
  2682. }
  2683. const opDescribeInterconnectLoa = "DescribeInterconnectLoa"
  2684. // DescribeInterconnectLoaRequest generates a "aws/request.Request" representing the
  2685. // client's request for the DescribeInterconnectLoa operation. The "output" return
  2686. // value will be populated with the request's response once the request completes
  2687. // successfully.
  2688. //
  2689. // Use "Send" method on the returned Request to send the API call to the service.
  2690. // the "output" return value is not valid until after Send returns without error.
  2691. //
  2692. // See DescribeInterconnectLoa for more information on using the DescribeInterconnectLoa
  2693. // API call, and error handling.
  2694. //
  2695. // This method is useful when you want to inject custom logic or configuration
  2696. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2697. //
  2698. //
  2699. // // Example sending a request using the DescribeInterconnectLoaRequest method.
  2700. // req, resp := client.DescribeInterconnectLoaRequest(params)
  2701. //
  2702. // err := req.Send()
  2703. // if err == nil { // resp is now filled
  2704. // fmt.Println(resp)
  2705. // }
  2706. //
  2707. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnectLoa
  2708. //
  2709. // Deprecated: DescribeInterconnectLoa has been deprecated
  2710. func (c *DirectConnect) DescribeInterconnectLoaRequest(input *DescribeInterconnectLoaInput) (req *request.Request, output *DescribeInterconnectLoaOutput) {
  2711. if c.Client.Config.Logger != nil {
  2712. c.Client.Config.Logger.Log("This operation, DescribeInterconnectLoa, has been deprecated")
  2713. }
  2714. op := &request.Operation{
  2715. Name: opDescribeInterconnectLoa,
  2716. HTTPMethod: "POST",
  2717. HTTPPath: "/",
  2718. }
  2719. if input == nil {
  2720. input = &DescribeInterconnectLoaInput{}
  2721. }
  2722. output = &DescribeInterconnectLoaOutput{}
  2723. req = c.newRequest(op, input, output)
  2724. return
  2725. }
  2726. // DescribeInterconnectLoa API operation for AWS Direct Connect.
  2727. //
  2728. // Deprecated. Use DescribeLoa instead.
  2729. //
  2730. // Gets the LOA-CFA for the specified interconnect.
  2731. //
  2732. // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  2733. // a document that is used when establishing your cross connect to AWS at the
  2734. // colocation facility. For more information, see Requesting Cross Connects
  2735. // at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  2736. // in the AWS Direct Connect User Guide.
  2737. //
  2738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2739. // with awserr.Error's Code and Message methods to get detailed information about
  2740. // the error.
  2741. //
  2742. // See the AWS API reference guide for AWS Direct Connect's
  2743. // API operation DescribeInterconnectLoa for usage and error information.
  2744. //
  2745. // Returned Error Codes:
  2746. // * ErrCodeServerException "DirectConnectServerException"
  2747. // A server-side error occurred.
  2748. //
  2749. // * ErrCodeClientException "DirectConnectClientException"
  2750. // One or more parameters are not valid.
  2751. //
  2752. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnectLoa
  2753. //
  2754. // Deprecated: DescribeInterconnectLoa has been deprecated
  2755. func (c *DirectConnect) DescribeInterconnectLoa(input *DescribeInterconnectLoaInput) (*DescribeInterconnectLoaOutput, error) {
  2756. req, out := c.DescribeInterconnectLoaRequest(input)
  2757. return out, req.Send()
  2758. }
  2759. // DescribeInterconnectLoaWithContext is the same as DescribeInterconnectLoa with the addition of
  2760. // the ability to pass a context and additional request options.
  2761. //
  2762. // See DescribeInterconnectLoa for details on how to use this API operation.
  2763. //
  2764. // The context must be non-nil and will be used for request cancellation. If
  2765. // the context is nil a panic will occur. In the future the SDK may create
  2766. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2767. // for more information on using Contexts.
  2768. //
  2769. // Deprecated: DescribeInterconnectLoaWithContext has been deprecated
  2770. func (c *DirectConnect) DescribeInterconnectLoaWithContext(ctx aws.Context, input *DescribeInterconnectLoaInput, opts ...request.Option) (*DescribeInterconnectLoaOutput, error) {
  2771. req, out := c.DescribeInterconnectLoaRequest(input)
  2772. req.SetContext(ctx)
  2773. req.ApplyOptions(opts...)
  2774. return out, req.Send()
  2775. }
  2776. const opDescribeInterconnects = "DescribeInterconnects"
  2777. // DescribeInterconnectsRequest generates a "aws/request.Request" representing the
  2778. // client's request for the DescribeInterconnects operation. The "output" return
  2779. // value will be populated with the request's response once the request completes
  2780. // successfully.
  2781. //
  2782. // Use "Send" method on the returned Request to send the API call to the service.
  2783. // the "output" return value is not valid until after Send returns without error.
  2784. //
  2785. // See DescribeInterconnects for more information on using the DescribeInterconnects
  2786. // API call, and error handling.
  2787. //
  2788. // This method is useful when you want to inject custom logic or configuration
  2789. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2790. //
  2791. //
  2792. // // Example sending a request using the DescribeInterconnectsRequest method.
  2793. // req, resp := client.DescribeInterconnectsRequest(params)
  2794. //
  2795. // err := req.Send()
  2796. // if err == nil { // resp is now filled
  2797. // fmt.Println(resp)
  2798. // }
  2799. //
  2800. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnects
  2801. func (c *DirectConnect) DescribeInterconnectsRequest(input *DescribeInterconnectsInput) (req *request.Request, output *DescribeInterconnectsOutput) {
  2802. op := &request.Operation{
  2803. Name: opDescribeInterconnects,
  2804. HTTPMethod: "POST",
  2805. HTTPPath: "/",
  2806. }
  2807. if input == nil {
  2808. input = &DescribeInterconnectsInput{}
  2809. }
  2810. output = &DescribeInterconnectsOutput{}
  2811. req = c.newRequest(op, input, output)
  2812. return
  2813. }
  2814. // DescribeInterconnects API operation for AWS Direct Connect.
  2815. //
  2816. // Lists the interconnects owned by the AWS account or only the specified interconnect.
  2817. //
  2818. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2819. // with awserr.Error's Code and Message methods to get detailed information about
  2820. // the error.
  2821. //
  2822. // See the AWS API reference guide for AWS Direct Connect's
  2823. // API operation DescribeInterconnects for usage and error information.
  2824. //
  2825. // Returned Error Codes:
  2826. // * ErrCodeServerException "DirectConnectServerException"
  2827. // A server-side error occurred.
  2828. //
  2829. // * ErrCodeClientException "DirectConnectClientException"
  2830. // One or more parameters are not valid.
  2831. //
  2832. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnects
  2833. func (c *DirectConnect) DescribeInterconnects(input *DescribeInterconnectsInput) (*DescribeInterconnectsOutput, error) {
  2834. req, out := c.DescribeInterconnectsRequest(input)
  2835. return out, req.Send()
  2836. }
  2837. // DescribeInterconnectsWithContext is the same as DescribeInterconnects with the addition of
  2838. // the ability to pass a context and additional request options.
  2839. //
  2840. // See DescribeInterconnects for details on how to use this API operation.
  2841. //
  2842. // The context must be non-nil and will be used for request cancellation. If
  2843. // the context is nil a panic will occur. In the future the SDK may create
  2844. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2845. // for more information on using Contexts.
  2846. func (c *DirectConnect) DescribeInterconnectsWithContext(ctx aws.Context, input *DescribeInterconnectsInput, opts ...request.Option) (*DescribeInterconnectsOutput, error) {
  2847. req, out := c.DescribeInterconnectsRequest(input)
  2848. req.SetContext(ctx)
  2849. req.ApplyOptions(opts...)
  2850. return out, req.Send()
  2851. }
  2852. const opDescribeLags = "DescribeLags"
  2853. // DescribeLagsRequest generates a "aws/request.Request" representing the
  2854. // client's request for the DescribeLags operation. The "output" return
  2855. // value will be populated with the request's response once the request completes
  2856. // successfully.
  2857. //
  2858. // Use "Send" method on the returned Request to send the API call to the service.
  2859. // the "output" return value is not valid until after Send returns without error.
  2860. //
  2861. // See DescribeLags for more information on using the DescribeLags
  2862. // API call, and error handling.
  2863. //
  2864. // This method is useful when you want to inject custom logic or configuration
  2865. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2866. //
  2867. //
  2868. // // Example sending a request using the DescribeLagsRequest method.
  2869. // req, resp := client.DescribeLagsRequest(params)
  2870. //
  2871. // err := req.Send()
  2872. // if err == nil { // resp is now filled
  2873. // fmt.Println(resp)
  2874. // }
  2875. //
  2876. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLags
  2877. func (c *DirectConnect) DescribeLagsRequest(input *DescribeLagsInput) (req *request.Request, output *DescribeLagsOutput) {
  2878. op := &request.Operation{
  2879. Name: opDescribeLags,
  2880. HTTPMethod: "POST",
  2881. HTTPPath: "/",
  2882. }
  2883. if input == nil {
  2884. input = &DescribeLagsInput{}
  2885. }
  2886. output = &DescribeLagsOutput{}
  2887. req = c.newRequest(op, input, output)
  2888. return
  2889. }
  2890. // DescribeLags API operation for AWS Direct Connect.
  2891. //
  2892. // Describes all your link aggregation groups (LAG) or the specified LAG.
  2893. //
  2894. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2895. // with awserr.Error's Code and Message methods to get detailed information about
  2896. // the error.
  2897. //
  2898. // See the AWS API reference guide for AWS Direct Connect's
  2899. // API operation DescribeLags for usage and error information.
  2900. //
  2901. // Returned Error Codes:
  2902. // * ErrCodeServerException "DirectConnectServerException"
  2903. // A server-side error occurred.
  2904. //
  2905. // * ErrCodeClientException "DirectConnectClientException"
  2906. // One or more parameters are not valid.
  2907. //
  2908. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLags
  2909. func (c *DirectConnect) DescribeLags(input *DescribeLagsInput) (*DescribeLagsOutput, error) {
  2910. req, out := c.DescribeLagsRequest(input)
  2911. return out, req.Send()
  2912. }
  2913. // DescribeLagsWithContext is the same as DescribeLags with the addition of
  2914. // the ability to pass a context and additional request options.
  2915. //
  2916. // See DescribeLags for details on how to use this API operation.
  2917. //
  2918. // The context must be non-nil and will be used for request cancellation. If
  2919. // the context is nil a panic will occur. In the future the SDK may create
  2920. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2921. // for more information on using Contexts.
  2922. func (c *DirectConnect) DescribeLagsWithContext(ctx aws.Context, input *DescribeLagsInput, opts ...request.Option) (*DescribeLagsOutput, error) {
  2923. req, out := c.DescribeLagsRequest(input)
  2924. req.SetContext(ctx)
  2925. req.ApplyOptions(opts...)
  2926. return out, req.Send()
  2927. }
  2928. const opDescribeLoa = "DescribeLoa"
  2929. // DescribeLoaRequest generates a "aws/request.Request" representing the
  2930. // client's request for the DescribeLoa operation. The "output" return
  2931. // value will be populated with the request's response once the request completes
  2932. // successfully.
  2933. //
  2934. // Use "Send" method on the returned Request to send the API call to the service.
  2935. // the "output" return value is not valid until after Send returns without error.
  2936. //
  2937. // See DescribeLoa for more information on using the DescribeLoa
  2938. // API call, and error handling.
  2939. //
  2940. // This method is useful when you want to inject custom logic or configuration
  2941. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2942. //
  2943. //
  2944. // // Example sending a request using the DescribeLoaRequest method.
  2945. // req, resp := client.DescribeLoaRequest(params)
  2946. //
  2947. // err := req.Send()
  2948. // if err == nil { // resp is now filled
  2949. // fmt.Println(resp)
  2950. // }
  2951. //
  2952. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLoa
  2953. func (c *DirectConnect) DescribeLoaRequest(input *DescribeLoaInput) (req *request.Request, output *Loa) {
  2954. op := &request.Operation{
  2955. Name: opDescribeLoa,
  2956. HTTPMethod: "POST",
  2957. HTTPPath: "/",
  2958. }
  2959. if input == nil {
  2960. input = &DescribeLoaInput{}
  2961. }
  2962. output = &Loa{}
  2963. req = c.newRequest(op, input, output)
  2964. return
  2965. }
  2966. // DescribeLoa API operation for AWS Direct Connect.
  2967. //
  2968. // Gets the LOA-CFA for a connection, interconnect, or link aggregation group
  2969. // (LAG).
  2970. //
  2971. // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  2972. // a document that is used when establishing your cross connect to AWS at the
  2973. // colocation facility. For more information, see Requesting Cross Connects
  2974. // at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  2975. // in the AWS Direct Connect User Guide.
  2976. //
  2977. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2978. // with awserr.Error's Code and Message methods to get detailed information about
  2979. // the error.
  2980. //
  2981. // See the AWS API reference guide for AWS Direct Connect's
  2982. // API operation DescribeLoa for usage and error information.
  2983. //
  2984. // Returned Error Codes:
  2985. // * ErrCodeServerException "DirectConnectServerException"
  2986. // A server-side error occurred.
  2987. //
  2988. // * ErrCodeClientException "DirectConnectClientException"
  2989. // One or more parameters are not valid.
  2990. //
  2991. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLoa
  2992. func (c *DirectConnect) DescribeLoa(input *DescribeLoaInput) (*Loa, error) {
  2993. req, out := c.DescribeLoaRequest(input)
  2994. return out, req.Send()
  2995. }
  2996. // DescribeLoaWithContext is the same as DescribeLoa with the addition of
  2997. // the ability to pass a context and additional request options.
  2998. //
  2999. // See DescribeLoa for details on how to use this API operation.
  3000. //
  3001. // The context must be non-nil and will be used for request cancellation. If
  3002. // the context is nil a panic will occur. In the future the SDK may create
  3003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3004. // for more information on using Contexts.
  3005. func (c *DirectConnect) DescribeLoaWithContext(ctx aws.Context, input *DescribeLoaInput, opts ...request.Option) (*Loa, error) {
  3006. req, out := c.DescribeLoaRequest(input)
  3007. req.SetContext(ctx)
  3008. req.ApplyOptions(opts...)
  3009. return out, req.Send()
  3010. }
  3011. const opDescribeLocations = "DescribeLocations"
  3012. // DescribeLocationsRequest generates a "aws/request.Request" representing the
  3013. // client's request for the DescribeLocations operation. The "output" return
  3014. // value will be populated with the request's response once the request completes
  3015. // successfully.
  3016. //
  3017. // Use "Send" method on the returned Request to send the API call to the service.
  3018. // the "output" return value is not valid until after Send returns without error.
  3019. //
  3020. // See DescribeLocations for more information on using the DescribeLocations
  3021. // API call, and error handling.
  3022. //
  3023. // This method is useful when you want to inject custom logic or configuration
  3024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3025. //
  3026. //
  3027. // // Example sending a request using the DescribeLocationsRequest method.
  3028. // req, resp := client.DescribeLocationsRequest(params)
  3029. //
  3030. // err := req.Send()
  3031. // if err == nil { // resp is now filled
  3032. // fmt.Println(resp)
  3033. // }
  3034. //
  3035. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLocations
  3036. func (c *DirectConnect) DescribeLocationsRequest(input *DescribeLocationsInput) (req *request.Request, output *DescribeLocationsOutput) {
  3037. op := &request.Operation{
  3038. Name: opDescribeLocations,
  3039. HTTPMethod: "POST",
  3040. HTTPPath: "/",
  3041. }
  3042. if input == nil {
  3043. input = &DescribeLocationsInput{}
  3044. }
  3045. output = &DescribeLocationsOutput{}
  3046. req = c.newRequest(op, input, output)
  3047. return
  3048. }
  3049. // DescribeLocations API operation for AWS Direct Connect.
  3050. //
  3051. // Lists the AWS Direct Connect locations in the current AWS Region. These are
  3052. // the locations that can be selected when calling CreateConnection or CreateInterconnect.
  3053. //
  3054. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3055. // with awserr.Error's Code and Message methods to get detailed information about
  3056. // the error.
  3057. //
  3058. // See the AWS API reference guide for AWS Direct Connect's
  3059. // API operation DescribeLocations for usage and error information.
  3060. //
  3061. // Returned Error Codes:
  3062. // * ErrCodeServerException "DirectConnectServerException"
  3063. // A server-side error occurred.
  3064. //
  3065. // * ErrCodeClientException "DirectConnectClientException"
  3066. // One or more parameters are not valid.
  3067. //
  3068. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLocations
  3069. func (c *DirectConnect) DescribeLocations(input *DescribeLocationsInput) (*DescribeLocationsOutput, error) {
  3070. req, out := c.DescribeLocationsRequest(input)
  3071. return out, req.Send()
  3072. }
  3073. // DescribeLocationsWithContext is the same as DescribeLocations with the addition of
  3074. // the ability to pass a context and additional request options.
  3075. //
  3076. // See DescribeLocations for details on how to use this API operation.
  3077. //
  3078. // The context must be non-nil and will be used for request cancellation. If
  3079. // the context is nil a panic will occur. In the future the SDK may create
  3080. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3081. // for more information on using Contexts.
  3082. func (c *DirectConnect) DescribeLocationsWithContext(ctx aws.Context, input *DescribeLocationsInput, opts ...request.Option) (*DescribeLocationsOutput, error) {
  3083. req, out := c.DescribeLocationsRequest(input)
  3084. req.SetContext(ctx)
  3085. req.ApplyOptions(opts...)
  3086. return out, req.Send()
  3087. }
  3088. const opDescribeTags = "DescribeTags"
  3089. // DescribeTagsRequest generates a "aws/request.Request" representing the
  3090. // client's request for the DescribeTags operation. The "output" return
  3091. // value will be populated with the request's response once the request completes
  3092. // successfully.
  3093. //
  3094. // Use "Send" method on the returned Request to send the API call to the service.
  3095. // the "output" return value is not valid until after Send returns without error.
  3096. //
  3097. // See DescribeTags for more information on using the DescribeTags
  3098. // API call, and error handling.
  3099. //
  3100. // This method is useful when you want to inject custom logic or configuration
  3101. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3102. //
  3103. //
  3104. // // Example sending a request using the DescribeTagsRequest method.
  3105. // req, resp := client.DescribeTagsRequest(params)
  3106. //
  3107. // err := req.Send()
  3108. // if err == nil { // resp is now filled
  3109. // fmt.Println(resp)
  3110. // }
  3111. //
  3112. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeTags
  3113. func (c *DirectConnect) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  3114. op := &request.Operation{
  3115. Name: opDescribeTags,
  3116. HTTPMethod: "POST",
  3117. HTTPPath: "/",
  3118. }
  3119. if input == nil {
  3120. input = &DescribeTagsInput{}
  3121. }
  3122. output = &DescribeTagsOutput{}
  3123. req = c.newRequest(op, input, output)
  3124. return
  3125. }
  3126. // DescribeTags API operation for AWS Direct Connect.
  3127. //
  3128. // Describes the tags associated with the specified AWS Direct Connect resources.
  3129. //
  3130. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3131. // with awserr.Error's Code and Message methods to get detailed information about
  3132. // the error.
  3133. //
  3134. // See the AWS API reference guide for AWS Direct Connect's
  3135. // API operation DescribeTags for usage and error information.
  3136. //
  3137. // Returned Error Codes:
  3138. // * ErrCodeServerException "DirectConnectServerException"
  3139. // A server-side error occurred.
  3140. //
  3141. // * ErrCodeClientException "DirectConnectClientException"
  3142. // One or more parameters are not valid.
  3143. //
  3144. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeTags
  3145. func (c *DirectConnect) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  3146. req, out := c.DescribeTagsRequest(input)
  3147. return out, req.Send()
  3148. }
  3149. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  3150. // the ability to pass a context and additional request options.
  3151. //
  3152. // See DescribeTags for details on how to use this API operation.
  3153. //
  3154. // The context must be non-nil and will be used for request cancellation. If
  3155. // the context is nil a panic will occur. In the future the SDK may create
  3156. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3157. // for more information on using Contexts.
  3158. func (c *DirectConnect) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  3159. req, out := c.DescribeTagsRequest(input)
  3160. req.SetContext(ctx)
  3161. req.ApplyOptions(opts...)
  3162. return out, req.Send()
  3163. }
  3164. const opDescribeVirtualGateways = "DescribeVirtualGateways"
  3165. // DescribeVirtualGatewaysRequest generates a "aws/request.Request" representing the
  3166. // client's request for the DescribeVirtualGateways operation. The "output" return
  3167. // value will be populated with the request's response once the request completes
  3168. // successfully.
  3169. //
  3170. // Use "Send" method on the returned Request to send the API call to the service.
  3171. // the "output" return value is not valid until after Send returns without error.
  3172. //
  3173. // See DescribeVirtualGateways for more information on using the DescribeVirtualGateways
  3174. // API call, and error handling.
  3175. //
  3176. // This method is useful when you want to inject custom logic or configuration
  3177. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3178. //
  3179. //
  3180. // // Example sending a request using the DescribeVirtualGatewaysRequest method.
  3181. // req, resp := client.DescribeVirtualGatewaysRequest(params)
  3182. //
  3183. // err := req.Send()
  3184. // if err == nil { // resp is now filled
  3185. // fmt.Println(resp)
  3186. // }
  3187. //
  3188. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualGateways
  3189. func (c *DirectConnect) DescribeVirtualGatewaysRequest(input *DescribeVirtualGatewaysInput) (req *request.Request, output *DescribeVirtualGatewaysOutput) {
  3190. op := &request.Operation{
  3191. Name: opDescribeVirtualGateways,
  3192. HTTPMethod: "POST",
  3193. HTTPPath: "/",
  3194. }
  3195. if input == nil {
  3196. input = &DescribeVirtualGatewaysInput{}
  3197. }
  3198. output = &DescribeVirtualGatewaysOutput{}
  3199. req = c.newRequest(op, input, output)
  3200. return
  3201. }
  3202. // DescribeVirtualGateways API operation for AWS Direct Connect.
  3203. //
  3204. // Lists the virtual private gateways owned by the AWS account.
  3205. //
  3206. // You can create one or more AWS Direct Connect private virtual interfaces
  3207. // linked to a virtual private gateway.
  3208. //
  3209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3210. // with awserr.Error's Code and Message methods to get detailed information about
  3211. // the error.
  3212. //
  3213. // See the AWS API reference guide for AWS Direct Connect's
  3214. // API operation DescribeVirtualGateways for usage and error information.
  3215. //
  3216. // Returned Error Codes:
  3217. // * ErrCodeServerException "DirectConnectServerException"
  3218. // A server-side error occurred.
  3219. //
  3220. // * ErrCodeClientException "DirectConnectClientException"
  3221. // One or more parameters are not valid.
  3222. //
  3223. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualGateways
  3224. func (c *DirectConnect) DescribeVirtualGateways(input *DescribeVirtualGatewaysInput) (*DescribeVirtualGatewaysOutput, error) {
  3225. req, out := c.DescribeVirtualGatewaysRequest(input)
  3226. return out, req.Send()
  3227. }
  3228. // DescribeVirtualGatewaysWithContext is the same as DescribeVirtualGateways with the addition of
  3229. // the ability to pass a context and additional request options.
  3230. //
  3231. // See DescribeVirtualGateways for details on how to use this API operation.
  3232. //
  3233. // The context must be non-nil and will be used for request cancellation. If
  3234. // the context is nil a panic will occur. In the future the SDK may create
  3235. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3236. // for more information on using Contexts.
  3237. func (c *DirectConnect) DescribeVirtualGatewaysWithContext(ctx aws.Context, input *DescribeVirtualGatewaysInput, opts ...request.Option) (*DescribeVirtualGatewaysOutput, error) {
  3238. req, out := c.DescribeVirtualGatewaysRequest(input)
  3239. req.SetContext(ctx)
  3240. req.ApplyOptions(opts...)
  3241. return out, req.Send()
  3242. }
  3243. const opDescribeVirtualInterfaces = "DescribeVirtualInterfaces"
  3244. // DescribeVirtualInterfacesRequest generates a "aws/request.Request" representing the
  3245. // client's request for the DescribeVirtualInterfaces operation. The "output" return
  3246. // value will be populated with the request's response once the request completes
  3247. // successfully.
  3248. //
  3249. // Use "Send" method on the returned Request to send the API call to the service.
  3250. // the "output" return value is not valid until after Send returns without error.
  3251. //
  3252. // See DescribeVirtualInterfaces for more information on using the DescribeVirtualInterfaces
  3253. // API call, and error handling.
  3254. //
  3255. // This method is useful when you want to inject custom logic or configuration
  3256. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3257. //
  3258. //
  3259. // // Example sending a request using the DescribeVirtualInterfacesRequest method.
  3260. // req, resp := client.DescribeVirtualInterfacesRequest(params)
  3261. //
  3262. // err := req.Send()
  3263. // if err == nil { // resp is now filled
  3264. // fmt.Println(resp)
  3265. // }
  3266. //
  3267. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualInterfaces
  3268. func (c *DirectConnect) DescribeVirtualInterfacesRequest(input *DescribeVirtualInterfacesInput) (req *request.Request, output *DescribeVirtualInterfacesOutput) {
  3269. op := &request.Operation{
  3270. Name: opDescribeVirtualInterfaces,
  3271. HTTPMethod: "POST",
  3272. HTTPPath: "/",
  3273. }
  3274. if input == nil {
  3275. input = &DescribeVirtualInterfacesInput{}
  3276. }
  3277. output = &DescribeVirtualInterfacesOutput{}
  3278. req = c.newRequest(op, input, output)
  3279. return
  3280. }
  3281. // DescribeVirtualInterfaces API operation for AWS Direct Connect.
  3282. //
  3283. // Displays all virtual interfaces for an AWS account. Virtual interfaces deleted
  3284. // fewer than 15 minutes before you make the request are also returned. If you
  3285. // specify a connection ID, only the virtual interfaces associated with the
  3286. // connection are returned. If you specify a virtual interface ID, then only
  3287. // a single virtual interface is returned.
  3288. //
  3289. // A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect
  3290. // location and the customer network.
  3291. //
  3292. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3293. // with awserr.Error's Code and Message methods to get detailed information about
  3294. // the error.
  3295. //
  3296. // See the AWS API reference guide for AWS Direct Connect's
  3297. // API operation DescribeVirtualInterfaces for usage and error information.
  3298. //
  3299. // Returned Error Codes:
  3300. // * ErrCodeServerException "DirectConnectServerException"
  3301. // A server-side error occurred.
  3302. //
  3303. // * ErrCodeClientException "DirectConnectClientException"
  3304. // One or more parameters are not valid.
  3305. //
  3306. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualInterfaces
  3307. func (c *DirectConnect) DescribeVirtualInterfaces(input *DescribeVirtualInterfacesInput) (*DescribeVirtualInterfacesOutput, error) {
  3308. req, out := c.DescribeVirtualInterfacesRequest(input)
  3309. return out, req.Send()
  3310. }
  3311. // DescribeVirtualInterfacesWithContext is the same as DescribeVirtualInterfaces with the addition of
  3312. // the ability to pass a context and additional request options.
  3313. //
  3314. // See DescribeVirtualInterfaces for details on how to use this API operation.
  3315. //
  3316. // The context must be non-nil and will be used for request cancellation. If
  3317. // the context is nil a panic will occur. In the future the SDK may create
  3318. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3319. // for more information on using Contexts.
  3320. func (c *DirectConnect) DescribeVirtualInterfacesWithContext(ctx aws.Context, input *DescribeVirtualInterfacesInput, opts ...request.Option) (*DescribeVirtualInterfacesOutput, error) {
  3321. req, out := c.DescribeVirtualInterfacesRequest(input)
  3322. req.SetContext(ctx)
  3323. req.ApplyOptions(opts...)
  3324. return out, req.Send()
  3325. }
  3326. const opDisassociateConnectionFromLag = "DisassociateConnectionFromLag"
  3327. // DisassociateConnectionFromLagRequest generates a "aws/request.Request" representing the
  3328. // client's request for the DisassociateConnectionFromLag operation. The "output" return
  3329. // value will be populated with the request's response once the request completes
  3330. // successfully.
  3331. //
  3332. // Use "Send" method on the returned Request to send the API call to the service.
  3333. // the "output" return value is not valid until after Send returns without error.
  3334. //
  3335. // See DisassociateConnectionFromLag for more information on using the DisassociateConnectionFromLag
  3336. // API call, and error handling.
  3337. //
  3338. // This method is useful when you want to inject custom logic or configuration
  3339. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3340. //
  3341. //
  3342. // // Example sending a request using the DisassociateConnectionFromLagRequest method.
  3343. // req, resp := client.DisassociateConnectionFromLagRequest(params)
  3344. //
  3345. // err := req.Send()
  3346. // if err == nil { // resp is now filled
  3347. // fmt.Println(resp)
  3348. // }
  3349. //
  3350. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateConnectionFromLag
  3351. func (c *DirectConnect) DisassociateConnectionFromLagRequest(input *DisassociateConnectionFromLagInput) (req *request.Request, output *Connection) {
  3352. op := &request.Operation{
  3353. Name: opDisassociateConnectionFromLag,
  3354. HTTPMethod: "POST",
  3355. HTTPPath: "/",
  3356. }
  3357. if input == nil {
  3358. input = &DisassociateConnectionFromLagInput{}
  3359. }
  3360. output = &Connection{}
  3361. req = c.newRequest(op, input, output)
  3362. return
  3363. }
  3364. // DisassociateConnectionFromLag API operation for AWS Direct Connect.
  3365. //
  3366. // Disassociates a connection from a link aggregation group (LAG). The connection
  3367. // is interrupted and re-established as a standalone connection (the connection
  3368. // is not deleted; to delete the connection, use the DeleteConnection request).
  3369. // If the LAG has associated virtual interfaces or hosted connections, they
  3370. // remain associated with the LAG. A disassociated connection owned by an AWS
  3371. // Direct Connect partner is automatically converted to an interconnect.
  3372. //
  3373. // If disassociating the connection would cause the LAG to fall below its setting
  3374. // for minimum number of operational connections, the request fails, except
  3375. // when it's the last member of the LAG. If all connections are disassociated,
  3376. // the LAG continues to exist as an empty LAG with no physical connections.
  3377. //
  3378. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3379. // with awserr.Error's Code and Message methods to get detailed information about
  3380. // the error.
  3381. //
  3382. // See the AWS API reference guide for AWS Direct Connect's
  3383. // API operation DisassociateConnectionFromLag for usage and error information.
  3384. //
  3385. // Returned Error Codes:
  3386. // * ErrCodeServerException "DirectConnectServerException"
  3387. // A server-side error occurred.
  3388. //
  3389. // * ErrCodeClientException "DirectConnectClientException"
  3390. // One or more parameters are not valid.
  3391. //
  3392. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateConnectionFromLag
  3393. func (c *DirectConnect) DisassociateConnectionFromLag(input *DisassociateConnectionFromLagInput) (*Connection, error) {
  3394. req, out := c.DisassociateConnectionFromLagRequest(input)
  3395. return out, req.Send()
  3396. }
  3397. // DisassociateConnectionFromLagWithContext is the same as DisassociateConnectionFromLag with the addition of
  3398. // the ability to pass a context and additional request options.
  3399. //
  3400. // See DisassociateConnectionFromLag for details on how to use this API operation.
  3401. //
  3402. // The context must be non-nil and will be used for request cancellation. If
  3403. // the context is nil a panic will occur. In the future the SDK may create
  3404. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3405. // for more information on using Contexts.
  3406. func (c *DirectConnect) DisassociateConnectionFromLagWithContext(ctx aws.Context, input *DisassociateConnectionFromLagInput, opts ...request.Option) (*Connection, error) {
  3407. req, out := c.DisassociateConnectionFromLagRequest(input)
  3408. req.SetContext(ctx)
  3409. req.ApplyOptions(opts...)
  3410. return out, req.Send()
  3411. }
  3412. const opTagResource = "TagResource"
  3413. // TagResourceRequest generates a "aws/request.Request" representing the
  3414. // client's request for the TagResource operation. The "output" return
  3415. // value will be populated with the request's response once the request completes
  3416. // successfully.
  3417. //
  3418. // Use "Send" method on the returned Request to send the API call to the service.
  3419. // the "output" return value is not valid until after Send returns without error.
  3420. //
  3421. // See TagResource for more information on using the TagResource
  3422. // API call, and error handling.
  3423. //
  3424. // This method is useful when you want to inject custom logic or configuration
  3425. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3426. //
  3427. //
  3428. // // Example sending a request using the TagResourceRequest method.
  3429. // req, resp := client.TagResourceRequest(params)
  3430. //
  3431. // err := req.Send()
  3432. // if err == nil { // resp is now filled
  3433. // fmt.Println(resp)
  3434. // }
  3435. //
  3436. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/TagResource
  3437. func (c *DirectConnect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3438. op := &request.Operation{
  3439. Name: opTagResource,
  3440. HTTPMethod: "POST",
  3441. HTTPPath: "/",
  3442. }
  3443. if input == nil {
  3444. input = &TagResourceInput{}
  3445. }
  3446. output = &TagResourceOutput{}
  3447. req = c.newRequest(op, input, output)
  3448. req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3449. return
  3450. }
  3451. // TagResource API operation for AWS Direct Connect.
  3452. //
  3453. // Adds the specified tags to the specified AWS Direct Connect resource. Each
  3454. // resource can have a maximum of 50 tags.
  3455. //
  3456. // Each tag consists of a key and an optional value. If a tag with the same
  3457. // key is already associated with the resource, this action updates its value.
  3458. //
  3459. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3460. // with awserr.Error's Code and Message methods to get detailed information about
  3461. // the error.
  3462. //
  3463. // See the AWS API reference guide for AWS Direct Connect's
  3464. // API operation TagResource for usage and error information.
  3465. //
  3466. // Returned Error Codes:
  3467. // * ErrCodeDuplicateTagKeysException "DuplicateTagKeysException"
  3468. // A tag key was specified more than once.
  3469. //
  3470. // * ErrCodeTooManyTagsException "TooManyTagsException"
  3471. // You have reached the limit on the number of tags that can be assigned.
  3472. //
  3473. // * ErrCodeServerException "DirectConnectServerException"
  3474. // A server-side error occurred.
  3475. //
  3476. // * ErrCodeClientException "DirectConnectClientException"
  3477. // One or more parameters are not valid.
  3478. //
  3479. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/TagResource
  3480. func (c *DirectConnect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3481. req, out := c.TagResourceRequest(input)
  3482. return out, req.Send()
  3483. }
  3484. // TagResourceWithContext is the same as TagResource with the addition of
  3485. // the ability to pass a context and additional request options.
  3486. //
  3487. // See TagResource for details on how to use this API operation.
  3488. //
  3489. // The context must be non-nil and will be used for request cancellation. If
  3490. // the context is nil a panic will occur. In the future the SDK may create
  3491. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3492. // for more information on using Contexts.
  3493. func (c *DirectConnect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3494. req, out := c.TagResourceRequest(input)
  3495. req.SetContext(ctx)
  3496. req.ApplyOptions(opts...)
  3497. return out, req.Send()
  3498. }
  3499. const opUntagResource = "UntagResource"
  3500. // UntagResourceRequest generates a "aws/request.Request" representing the
  3501. // client's request for the UntagResource operation. The "output" return
  3502. // value will be populated with the request's response once the request completes
  3503. // successfully.
  3504. //
  3505. // Use "Send" method on the returned Request to send the API call to the service.
  3506. // the "output" return value is not valid until after Send returns without error.
  3507. //
  3508. // See UntagResource for more information on using the UntagResource
  3509. // API call, and error handling.
  3510. //
  3511. // This method is useful when you want to inject custom logic or configuration
  3512. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3513. //
  3514. //
  3515. // // Example sending a request using the UntagResourceRequest method.
  3516. // req, resp := client.UntagResourceRequest(params)
  3517. //
  3518. // err := req.Send()
  3519. // if err == nil { // resp is now filled
  3520. // fmt.Println(resp)
  3521. // }
  3522. //
  3523. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UntagResource
  3524. func (c *DirectConnect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3525. op := &request.Operation{
  3526. Name: opUntagResource,
  3527. HTTPMethod: "POST",
  3528. HTTPPath: "/",
  3529. }
  3530. if input == nil {
  3531. input = &UntagResourceInput{}
  3532. }
  3533. output = &UntagResourceOutput{}
  3534. req = c.newRequest(op, input, output)
  3535. req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3536. return
  3537. }
  3538. // UntagResource API operation for AWS Direct Connect.
  3539. //
  3540. // Removes one or more tags from the specified AWS Direct Connect resource.
  3541. //
  3542. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3543. // with awserr.Error's Code and Message methods to get detailed information about
  3544. // the error.
  3545. //
  3546. // See the AWS API reference guide for AWS Direct Connect's
  3547. // API operation UntagResource for usage and error information.
  3548. //
  3549. // Returned Error Codes:
  3550. // * ErrCodeServerException "DirectConnectServerException"
  3551. // A server-side error occurred.
  3552. //
  3553. // * ErrCodeClientException "DirectConnectClientException"
  3554. // One or more parameters are not valid.
  3555. //
  3556. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UntagResource
  3557. func (c *DirectConnect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3558. req, out := c.UntagResourceRequest(input)
  3559. return out, req.Send()
  3560. }
  3561. // UntagResourceWithContext is the same as UntagResource with the addition of
  3562. // the ability to pass a context and additional request options.
  3563. //
  3564. // See UntagResource for details on how to use this API operation.
  3565. //
  3566. // The context must be non-nil and will be used for request cancellation. If
  3567. // the context is nil a panic will occur. In the future the SDK may create
  3568. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3569. // for more information on using Contexts.
  3570. func (c *DirectConnect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3571. req, out := c.UntagResourceRequest(input)
  3572. req.SetContext(ctx)
  3573. req.ApplyOptions(opts...)
  3574. return out, req.Send()
  3575. }
  3576. const opUpdateLag = "UpdateLag"
  3577. // UpdateLagRequest generates a "aws/request.Request" representing the
  3578. // client's request for the UpdateLag operation. The "output" return
  3579. // value will be populated with the request's response once the request completes
  3580. // successfully.
  3581. //
  3582. // Use "Send" method on the returned Request to send the API call to the service.
  3583. // the "output" return value is not valid until after Send returns without error.
  3584. //
  3585. // See UpdateLag for more information on using the UpdateLag
  3586. // API call, and error handling.
  3587. //
  3588. // This method is useful when you want to inject custom logic or configuration
  3589. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3590. //
  3591. //
  3592. // // Example sending a request using the UpdateLagRequest method.
  3593. // req, resp := client.UpdateLagRequest(params)
  3594. //
  3595. // err := req.Send()
  3596. // if err == nil { // resp is now filled
  3597. // fmt.Println(resp)
  3598. // }
  3599. //
  3600. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLag
  3601. func (c *DirectConnect) UpdateLagRequest(input *UpdateLagInput) (req *request.Request, output *Lag) {
  3602. op := &request.Operation{
  3603. Name: opUpdateLag,
  3604. HTTPMethod: "POST",
  3605. HTTPPath: "/",
  3606. }
  3607. if input == nil {
  3608. input = &UpdateLagInput{}
  3609. }
  3610. output = &Lag{}
  3611. req = c.newRequest(op, input, output)
  3612. return
  3613. }
  3614. // UpdateLag API operation for AWS Direct Connect.
  3615. //
  3616. // Updates the attributes of the specified link aggregation group (LAG).
  3617. //
  3618. // You can update the following attributes:
  3619. //
  3620. // * The name of the LAG.
  3621. //
  3622. // * The value for the minimum number of connections that must be operational
  3623. // for the LAG itself to be operational.
  3624. //
  3625. // When you create a LAG, the default value for the minimum number of operational
  3626. // connections is zero (0). If you update this value and the number of operational
  3627. // connections falls below the specified value, the LAG automatically goes down
  3628. // to avoid over-utilization of the remaining connections. Adjust this value
  3629. // with care, as it could force the LAG down if it is set higher than the current
  3630. // number of operational connections.
  3631. //
  3632. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3633. // with awserr.Error's Code and Message methods to get detailed information about
  3634. // the error.
  3635. //
  3636. // See the AWS API reference guide for AWS Direct Connect's
  3637. // API operation UpdateLag for usage and error information.
  3638. //
  3639. // Returned Error Codes:
  3640. // * ErrCodeServerException "DirectConnectServerException"
  3641. // A server-side error occurred.
  3642. //
  3643. // * ErrCodeClientException "DirectConnectClientException"
  3644. // One or more parameters are not valid.
  3645. //
  3646. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLag
  3647. func (c *DirectConnect) UpdateLag(input *UpdateLagInput) (*Lag, error) {
  3648. req, out := c.UpdateLagRequest(input)
  3649. return out, req.Send()
  3650. }
  3651. // UpdateLagWithContext is the same as UpdateLag with the addition of
  3652. // the ability to pass a context and additional request options.
  3653. //
  3654. // See UpdateLag for details on how to use this API operation.
  3655. //
  3656. // The context must be non-nil and will be used for request cancellation. If
  3657. // the context is nil a panic will occur. In the future the SDK may create
  3658. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3659. // for more information on using Contexts.
  3660. func (c *DirectConnect) UpdateLagWithContext(ctx aws.Context, input *UpdateLagInput, opts ...request.Option) (*Lag, error) {
  3661. req, out := c.UpdateLagRequest(input)
  3662. req.SetContext(ctx)
  3663. req.ApplyOptions(opts...)
  3664. return out, req.Send()
  3665. }
  3666. const opUpdateVirtualInterfaceAttributes = "UpdateVirtualInterfaceAttributes"
  3667. // UpdateVirtualInterfaceAttributesRequest generates a "aws/request.Request" representing the
  3668. // client's request for the UpdateVirtualInterfaceAttributes operation. The "output" return
  3669. // value will be populated with the request's response once the request completes
  3670. // successfully.
  3671. //
  3672. // Use "Send" method on the returned Request to send the API call to the service.
  3673. // the "output" return value is not valid until after Send returns without error.
  3674. //
  3675. // See UpdateVirtualInterfaceAttributes for more information on using the UpdateVirtualInterfaceAttributes
  3676. // API call, and error handling.
  3677. //
  3678. // This method is useful when you want to inject custom logic or configuration
  3679. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3680. //
  3681. //
  3682. // // Example sending a request using the UpdateVirtualInterfaceAttributesRequest method.
  3683. // req, resp := client.UpdateVirtualInterfaceAttributesRequest(params)
  3684. //
  3685. // err := req.Send()
  3686. // if err == nil { // resp is now filled
  3687. // fmt.Println(resp)
  3688. // }
  3689. //
  3690. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateVirtualInterfaceAttributes
  3691. func (c *DirectConnect) UpdateVirtualInterfaceAttributesRequest(input *UpdateVirtualInterfaceAttributesInput) (req *request.Request, output *UpdateVirtualInterfaceAttributesOutput) {
  3692. op := &request.Operation{
  3693. Name: opUpdateVirtualInterfaceAttributes,
  3694. HTTPMethod: "POST",
  3695. HTTPPath: "/",
  3696. }
  3697. if input == nil {
  3698. input = &UpdateVirtualInterfaceAttributesInput{}
  3699. }
  3700. output = &UpdateVirtualInterfaceAttributesOutput{}
  3701. req = c.newRequest(op, input, output)
  3702. return
  3703. }
  3704. // UpdateVirtualInterfaceAttributes API operation for AWS Direct Connect.
  3705. //
  3706. // Updates the specified attributes of the specified virtual private interface.
  3707. //
  3708. // Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an
  3709. // update to the underlying physical connection if it wasn't updated to support
  3710. // jumbo frames. Updating the connection disrupts network connectivity for all
  3711. // virtual interfaces associated with the connection for up to 30 seconds. To
  3712. // check whether your connection supports jumbo frames, call DescribeConnections.
  3713. // To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.
  3714. //
  3715. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3716. // with awserr.Error's Code and Message methods to get detailed information about
  3717. // the error.
  3718. //
  3719. // See the AWS API reference guide for AWS Direct Connect's
  3720. // API operation UpdateVirtualInterfaceAttributes for usage and error information.
  3721. //
  3722. // Returned Error Codes:
  3723. // * ErrCodeServerException "DirectConnectServerException"
  3724. // A server-side error occurred.
  3725. //
  3726. // * ErrCodeClientException "DirectConnectClientException"
  3727. // One or more parameters are not valid.
  3728. //
  3729. // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateVirtualInterfaceAttributes
  3730. func (c *DirectConnect) UpdateVirtualInterfaceAttributes(input *UpdateVirtualInterfaceAttributesInput) (*UpdateVirtualInterfaceAttributesOutput, error) {
  3731. req, out := c.UpdateVirtualInterfaceAttributesRequest(input)
  3732. return out, req.Send()
  3733. }
  3734. // UpdateVirtualInterfaceAttributesWithContext is the same as UpdateVirtualInterfaceAttributes with the addition of
  3735. // the ability to pass a context and additional request options.
  3736. //
  3737. // See UpdateVirtualInterfaceAttributes for details on how to use this API operation.
  3738. //
  3739. // The context must be non-nil and will be used for request cancellation. If
  3740. // the context is nil a panic will occur. In the future the SDK may create
  3741. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3742. // for more information on using Contexts.
  3743. func (c *DirectConnect) UpdateVirtualInterfaceAttributesWithContext(ctx aws.Context, input *UpdateVirtualInterfaceAttributesInput, opts ...request.Option) (*UpdateVirtualInterfaceAttributesOutput, error) {
  3744. req, out := c.UpdateVirtualInterfaceAttributesRequest(input)
  3745. req.SetContext(ctx)
  3746. req.ApplyOptions(opts...)
  3747. return out, req.Send()
  3748. }
  3749. type AllocateConnectionOnInterconnectInput struct {
  3750. _ struct{} `type:"structure"`
  3751. // The bandwidth of the connection, in Mbps. The possible values are 50Mbps,
  3752. // 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps.
  3753. //
  3754. // Bandwidth is a required field
  3755. Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  3756. // The name of the provisioned connection.
  3757. //
  3758. // ConnectionName is a required field
  3759. ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  3760. // The ID of the interconnect on which the connection will be provisioned. For
  3761. // example, dxcon-456abc78.
  3762. //
  3763. // InterconnectId is a required field
  3764. InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  3765. // The ID of the AWS account of the customer for whom the connection will be
  3766. // provisioned.
  3767. //
  3768. // OwnerAccount is a required field
  3769. OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  3770. // The dedicated VLAN provisioned to the connection.
  3771. //
  3772. // Vlan is a required field
  3773. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  3774. }
  3775. // String returns the string representation
  3776. func (s AllocateConnectionOnInterconnectInput) String() string {
  3777. return awsutil.Prettify(s)
  3778. }
  3779. // GoString returns the string representation
  3780. func (s AllocateConnectionOnInterconnectInput) GoString() string {
  3781. return s.String()
  3782. }
  3783. // Validate inspects the fields of the type to determine if they are valid.
  3784. func (s *AllocateConnectionOnInterconnectInput) Validate() error {
  3785. invalidParams := request.ErrInvalidParams{Context: "AllocateConnectionOnInterconnectInput"}
  3786. if s.Bandwidth == nil {
  3787. invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  3788. }
  3789. if s.ConnectionName == nil {
  3790. invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  3791. }
  3792. if s.InterconnectId == nil {
  3793. invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  3794. }
  3795. if s.OwnerAccount == nil {
  3796. invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  3797. }
  3798. if s.Vlan == nil {
  3799. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  3800. }
  3801. if invalidParams.Len() > 0 {
  3802. return invalidParams
  3803. }
  3804. return nil
  3805. }
  3806. // SetBandwidth sets the Bandwidth field's value.
  3807. func (s *AllocateConnectionOnInterconnectInput) SetBandwidth(v string) *AllocateConnectionOnInterconnectInput {
  3808. s.Bandwidth = &v
  3809. return s
  3810. }
  3811. // SetConnectionName sets the ConnectionName field's value.
  3812. func (s *AllocateConnectionOnInterconnectInput) SetConnectionName(v string) *AllocateConnectionOnInterconnectInput {
  3813. s.ConnectionName = &v
  3814. return s
  3815. }
  3816. // SetInterconnectId sets the InterconnectId field's value.
  3817. func (s *AllocateConnectionOnInterconnectInput) SetInterconnectId(v string) *AllocateConnectionOnInterconnectInput {
  3818. s.InterconnectId = &v
  3819. return s
  3820. }
  3821. // SetOwnerAccount sets the OwnerAccount field's value.
  3822. func (s *AllocateConnectionOnInterconnectInput) SetOwnerAccount(v string) *AllocateConnectionOnInterconnectInput {
  3823. s.OwnerAccount = &v
  3824. return s
  3825. }
  3826. // SetVlan sets the Vlan field's value.
  3827. func (s *AllocateConnectionOnInterconnectInput) SetVlan(v int64) *AllocateConnectionOnInterconnectInput {
  3828. s.Vlan = &v
  3829. return s
  3830. }
  3831. type AllocateHostedConnectionInput struct {
  3832. _ struct{} `type:"structure"`
  3833. // The bandwidth of the hosted connection, in Mbps. The possible values are
  3834. // 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps.
  3835. //
  3836. // Bandwidth is a required field
  3837. Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  3838. // The ID of the interconnect or LAG.
  3839. //
  3840. // ConnectionId is a required field
  3841. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  3842. // The name of the hosted connection.
  3843. //
  3844. // ConnectionName is a required field
  3845. ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  3846. // The ID of the AWS account ID of the customer for the connection.
  3847. //
  3848. // OwnerAccount is a required field
  3849. OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  3850. // The dedicated VLAN provisioned to the hosted connection.
  3851. //
  3852. // Vlan is a required field
  3853. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  3854. }
  3855. // String returns the string representation
  3856. func (s AllocateHostedConnectionInput) String() string {
  3857. return awsutil.Prettify(s)
  3858. }
  3859. // GoString returns the string representation
  3860. func (s AllocateHostedConnectionInput) GoString() string {
  3861. return s.String()
  3862. }
  3863. // Validate inspects the fields of the type to determine if they are valid.
  3864. func (s *AllocateHostedConnectionInput) Validate() error {
  3865. invalidParams := request.ErrInvalidParams{Context: "AllocateHostedConnectionInput"}
  3866. if s.Bandwidth == nil {
  3867. invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  3868. }
  3869. if s.ConnectionId == nil {
  3870. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  3871. }
  3872. if s.ConnectionName == nil {
  3873. invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  3874. }
  3875. if s.OwnerAccount == nil {
  3876. invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  3877. }
  3878. if s.Vlan == nil {
  3879. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  3880. }
  3881. if invalidParams.Len() > 0 {
  3882. return invalidParams
  3883. }
  3884. return nil
  3885. }
  3886. // SetBandwidth sets the Bandwidth field's value.
  3887. func (s *AllocateHostedConnectionInput) SetBandwidth(v string) *AllocateHostedConnectionInput {
  3888. s.Bandwidth = &v
  3889. return s
  3890. }
  3891. // SetConnectionId sets the ConnectionId field's value.
  3892. func (s *AllocateHostedConnectionInput) SetConnectionId(v string) *AllocateHostedConnectionInput {
  3893. s.ConnectionId = &v
  3894. return s
  3895. }
  3896. // SetConnectionName sets the ConnectionName field's value.
  3897. func (s *AllocateHostedConnectionInput) SetConnectionName(v string) *AllocateHostedConnectionInput {
  3898. s.ConnectionName = &v
  3899. return s
  3900. }
  3901. // SetOwnerAccount sets the OwnerAccount field's value.
  3902. func (s *AllocateHostedConnectionInput) SetOwnerAccount(v string) *AllocateHostedConnectionInput {
  3903. s.OwnerAccount = &v
  3904. return s
  3905. }
  3906. // SetVlan sets the Vlan field's value.
  3907. func (s *AllocateHostedConnectionInput) SetVlan(v int64) *AllocateHostedConnectionInput {
  3908. s.Vlan = &v
  3909. return s
  3910. }
  3911. type AllocatePrivateVirtualInterfaceInput struct {
  3912. _ struct{} `type:"structure"`
  3913. // The ID of the connection on which the private virtual interface is provisioned.
  3914. //
  3915. // ConnectionId is a required field
  3916. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  3917. // Information about the private virtual interface.
  3918. //
  3919. // NewPrivateVirtualInterfaceAllocation is a required field
  3920. NewPrivateVirtualInterfaceAllocation *NewPrivateVirtualInterfaceAllocation `locationName:"newPrivateVirtualInterfaceAllocation" type:"structure" required:"true"`
  3921. // The ID of the AWS account that owns the virtual private interface.
  3922. //
  3923. // OwnerAccount is a required field
  3924. OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  3925. }
  3926. // String returns the string representation
  3927. func (s AllocatePrivateVirtualInterfaceInput) String() string {
  3928. return awsutil.Prettify(s)
  3929. }
  3930. // GoString returns the string representation
  3931. func (s AllocatePrivateVirtualInterfaceInput) GoString() string {
  3932. return s.String()
  3933. }
  3934. // Validate inspects the fields of the type to determine if they are valid.
  3935. func (s *AllocatePrivateVirtualInterfaceInput) Validate() error {
  3936. invalidParams := request.ErrInvalidParams{Context: "AllocatePrivateVirtualInterfaceInput"}
  3937. if s.ConnectionId == nil {
  3938. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  3939. }
  3940. if s.NewPrivateVirtualInterfaceAllocation == nil {
  3941. invalidParams.Add(request.NewErrParamRequired("NewPrivateVirtualInterfaceAllocation"))
  3942. }
  3943. if s.OwnerAccount == nil {
  3944. invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  3945. }
  3946. if s.NewPrivateVirtualInterfaceAllocation != nil {
  3947. if err := s.NewPrivateVirtualInterfaceAllocation.Validate(); err != nil {
  3948. invalidParams.AddNested("NewPrivateVirtualInterfaceAllocation", err.(request.ErrInvalidParams))
  3949. }
  3950. }
  3951. if invalidParams.Len() > 0 {
  3952. return invalidParams
  3953. }
  3954. return nil
  3955. }
  3956. // SetConnectionId sets the ConnectionId field's value.
  3957. func (s *AllocatePrivateVirtualInterfaceInput) SetConnectionId(v string) *AllocatePrivateVirtualInterfaceInput {
  3958. s.ConnectionId = &v
  3959. return s
  3960. }
  3961. // SetNewPrivateVirtualInterfaceAllocation sets the NewPrivateVirtualInterfaceAllocation field's value.
  3962. func (s *AllocatePrivateVirtualInterfaceInput) SetNewPrivateVirtualInterfaceAllocation(v *NewPrivateVirtualInterfaceAllocation) *AllocatePrivateVirtualInterfaceInput {
  3963. s.NewPrivateVirtualInterfaceAllocation = v
  3964. return s
  3965. }
  3966. // SetOwnerAccount sets the OwnerAccount field's value.
  3967. func (s *AllocatePrivateVirtualInterfaceInput) SetOwnerAccount(v string) *AllocatePrivateVirtualInterfaceInput {
  3968. s.OwnerAccount = &v
  3969. return s
  3970. }
  3971. type AllocatePublicVirtualInterfaceInput struct {
  3972. _ struct{} `type:"structure"`
  3973. // The ID of the connection on which the public virtual interface is provisioned.
  3974. //
  3975. // ConnectionId is a required field
  3976. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  3977. // Information about the public virtual interface.
  3978. //
  3979. // NewPublicVirtualInterfaceAllocation is a required field
  3980. NewPublicVirtualInterfaceAllocation *NewPublicVirtualInterfaceAllocation `locationName:"newPublicVirtualInterfaceAllocation" type:"structure" required:"true"`
  3981. // The ID of the AWS account that owns the public virtual interface.
  3982. //
  3983. // OwnerAccount is a required field
  3984. OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  3985. }
  3986. // String returns the string representation
  3987. func (s AllocatePublicVirtualInterfaceInput) String() string {
  3988. return awsutil.Prettify(s)
  3989. }
  3990. // GoString returns the string representation
  3991. func (s AllocatePublicVirtualInterfaceInput) GoString() string {
  3992. return s.String()
  3993. }
  3994. // Validate inspects the fields of the type to determine if they are valid.
  3995. func (s *AllocatePublicVirtualInterfaceInput) Validate() error {
  3996. invalidParams := request.ErrInvalidParams{Context: "AllocatePublicVirtualInterfaceInput"}
  3997. if s.ConnectionId == nil {
  3998. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  3999. }
  4000. if s.NewPublicVirtualInterfaceAllocation == nil {
  4001. invalidParams.Add(request.NewErrParamRequired("NewPublicVirtualInterfaceAllocation"))
  4002. }
  4003. if s.OwnerAccount == nil {
  4004. invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  4005. }
  4006. if s.NewPublicVirtualInterfaceAllocation != nil {
  4007. if err := s.NewPublicVirtualInterfaceAllocation.Validate(); err != nil {
  4008. invalidParams.AddNested("NewPublicVirtualInterfaceAllocation", err.(request.ErrInvalidParams))
  4009. }
  4010. }
  4011. if invalidParams.Len() > 0 {
  4012. return invalidParams
  4013. }
  4014. return nil
  4015. }
  4016. // SetConnectionId sets the ConnectionId field's value.
  4017. func (s *AllocatePublicVirtualInterfaceInput) SetConnectionId(v string) *AllocatePublicVirtualInterfaceInput {
  4018. s.ConnectionId = &v
  4019. return s
  4020. }
  4021. // SetNewPublicVirtualInterfaceAllocation sets the NewPublicVirtualInterfaceAllocation field's value.
  4022. func (s *AllocatePublicVirtualInterfaceInput) SetNewPublicVirtualInterfaceAllocation(v *NewPublicVirtualInterfaceAllocation) *AllocatePublicVirtualInterfaceInput {
  4023. s.NewPublicVirtualInterfaceAllocation = v
  4024. return s
  4025. }
  4026. // SetOwnerAccount sets the OwnerAccount field's value.
  4027. func (s *AllocatePublicVirtualInterfaceInput) SetOwnerAccount(v string) *AllocatePublicVirtualInterfaceInput {
  4028. s.OwnerAccount = &v
  4029. return s
  4030. }
  4031. type AssociateConnectionWithLagInput struct {
  4032. _ struct{} `type:"structure"`
  4033. // The ID of the connection. For example, dxcon-abc123.
  4034. //
  4035. // ConnectionId is a required field
  4036. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  4037. // The ID of the LAG with which to associate the connection. For example, dxlag-abc123.
  4038. //
  4039. // LagId is a required field
  4040. LagId *string `locationName:"lagId" type:"string" required:"true"`
  4041. }
  4042. // String returns the string representation
  4043. func (s AssociateConnectionWithLagInput) String() string {
  4044. return awsutil.Prettify(s)
  4045. }
  4046. // GoString returns the string representation
  4047. func (s AssociateConnectionWithLagInput) GoString() string {
  4048. return s.String()
  4049. }
  4050. // Validate inspects the fields of the type to determine if they are valid.
  4051. func (s *AssociateConnectionWithLagInput) Validate() error {
  4052. invalidParams := request.ErrInvalidParams{Context: "AssociateConnectionWithLagInput"}
  4053. if s.ConnectionId == nil {
  4054. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  4055. }
  4056. if s.LagId == nil {
  4057. invalidParams.Add(request.NewErrParamRequired("LagId"))
  4058. }
  4059. if invalidParams.Len() > 0 {
  4060. return invalidParams
  4061. }
  4062. return nil
  4063. }
  4064. // SetConnectionId sets the ConnectionId field's value.
  4065. func (s *AssociateConnectionWithLagInput) SetConnectionId(v string) *AssociateConnectionWithLagInput {
  4066. s.ConnectionId = &v
  4067. return s
  4068. }
  4069. // SetLagId sets the LagId field's value.
  4070. func (s *AssociateConnectionWithLagInput) SetLagId(v string) *AssociateConnectionWithLagInput {
  4071. s.LagId = &v
  4072. return s
  4073. }
  4074. type AssociateHostedConnectionInput struct {
  4075. _ struct{} `type:"structure"`
  4076. // The ID of the hosted connection.
  4077. //
  4078. // ConnectionId is a required field
  4079. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  4080. // The ID of the interconnect or the LAG.
  4081. //
  4082. // ParentConnectionId is a required field
  4083. ParentConnectionId *string `locationName:"parentConnectionId" type:"string" required:"true"`
  4084. }
  4085. // String returns the string representation
  4086. func (s AssociateHostedConnectionInput) String() string {
  4087. return awsutil.Prettify(s)
  4088. }
  4089. // GoString returns the string representation
  4090. func (s AssociateHostedConnectionInput) GoString() string {
  4091. return s.String()
  4092. }
  4093. // Validate inspects the fields of the type to determine if they are valid.
  4094. func (s *AssociateHostedConnectionInput) Validate() error {
  4095. invalidParams := request.ErrInvalidParams{Context: "AssociateHostedConnectionInput"}
  4096. if s.ConnectionId == nil {
  4097. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  4098. }
  4099. if s.ParentConnectionId == nil {
  4100. invalidParams.Add(request.NewErrParamRequired("ParentConnectionId"))
  4101. }
  4102. if invalidParams.Len() > 0 {
  4103. return invalidParams
  4104. }
  4105. return nil
  4106. }
  4107. // SetConnectionId sets the ConnectionId field's value.
  4108. func (s *AssociateHostedConnectionInput) SetConnectionId(v string) *AssociateHostedConnectionInput {
  4109. s.ConnectionId = &v
  4110. return s
  4111. }
  4112. // SetParentConnectionId sets the ParentConnectionId field's value.
  4113. func (s *AssociateHostedConnectionInput) SetParentConnectionId(v string) *AssociateHostedConnectionInput {
  4114. s.ParentConnectionId = &v
  4115. return s
  4116. }
  4117. type AssociateVirtualInterfaceInput struct {
  4118. _ struct{} `type:"structure"`
  4119. // The ID of the LAG or connection.
  4120. //
  4121. // ConnectionId is a required field
  4122. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  4123. // The ID of the virtual interface.
  4124. //
  4125. // VirtualInterfaceId is a required field
  4126. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  4127. }
  4128. // String returns the string representation
  4129. func (s AssociateVirtualInterfaceInput) String() string {
  4130. return awsutil.Prettify(s)
  4131. }
  4132. // GoString returns the string representation
  4133. func (s AssociateVirtualInterfaceInput) GoString() string {
  4134. return s.String()
  4135. }
  4136. // Validate inspects the fields of the type to determine if they are valid.
  4137. func (s *AssociateVirtualInterfaceInput) Validate() error {
  4138. invalidParams := request.ErrInvalidParams{Context: "AssociateVirtualInterfaceInput"}
  4139. if s.ConnectionId == nil {
  4140. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  4141. }
  4142. if s.VirtualInterfaceId == nil {
  4143. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  4144. }
  4145. if invalidParams.Len() > 0 {
  4146. return invalidParams
  4147. }
  4148. return nil
  4149. }
  4150. // SetConnectionId sets the ConnectionId field's value.
  4151. func (s *AssociateVirtualInterfaceInput) SetConnectionId(v string) *AssociateVirtualInterfaceInput {
  4152. s.ConnectionId = &v
  4153. return s
  4154. }
  4155. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  4156. func (s *AssociateVirtualInterfaceInput) SetVirtualInterfaceId(v string) *AssociateVirtualInterfaceInput {
  4157. s.VirtualInterfaceId = &v
  4158. return s
  4159. }
  4160. // Information about a BGP peer.
  4161. type BGPPeer struct {
  4162. _ struct{} `type:"structure"`
  4163. // The address family for the BGP peer.
  4164. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  4165. // The IP address assigned to the Amazon interface.
  4166. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  4167. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  4168. Asn *int64 `locationName:"asn" type:"integer"`
  4169. // The authentication key for BGP configuration.
  4170. AuthKey *string `locationName:"authKey" type:"string"`
  4171. // The Direct Connect endpoint on which the BGP peer terminates.
  4172. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  4173. // The ID of the BGP peer.
  4174. BgpPeerId *string `locationName:"bgpPeerId" type:"string"`
  4175. // The state of the BGP peer. The following are the possible values:
  4176. //
  4177. // * verifying: The BGP peering addresses or ASN require validation before
  4178. // the BGP peer can be created. This state applies only to public virtual
  4179. // interfaces.
  4180. //
  4181. // * pending: The BGP peer is created, and remains in this state until it
  4182. // is ready to be established.
  4183. //
  4184. // * available: The BGP peer is ready to be established.
  4185. //
  4186. // * deleting: The BGP peer is being deleted.
  4187. //
  4188. // * deleted: The BGP peer is deleted and cannot be established.
  4189. BgpPeerState *string `locationName:"bgpPeerState" type:"string" enum:"BGPPeerState"`
  4190. // The status of the BGP peer. The following are the possible values:
  4191. //
  4192. // * up: The BGP peer is established. This state does not indicate the state
  4193. // of the routing function. Ensure that you are receiving routes over the
  4194. // BGP session.
  4195. //
  4196. // * down: The BGP peer is down.
  4197. //
  4198. // * unknown: The BGP peer status is unknown.
  4199. BgpStatus *string `locationName:"bgpStatus" type:"string" enum:"BGPStatus"`
  4200. // The IP address assigned to the customer interface.
  4201. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  4202. }
  4203. // String returns the string representation
  4204. func (s BGPPeer) String() string {
  4205. return awsutil.Prettify(s)
  4206. }
  4207. // GoString returns the string representation
  4208. func (s BGPPeer) GoString() string {
  4209. return s.String()
  4210. }
  4211. // SetAddressFamily sets the AddressFamily field's value.
  4212. func (s *BGPPeer) SetAddressFamily(v string) *BGPPeer {
  4213. s.AddressFamily = &v
  4214. return s
  4215. }
  4216. // SetAmazonAddress sets the AmazonAddress field's value.
  4217. func (s *BGPPeer) SetAmazonAddress(v string) *BGPPeer {
  4218. s.AmazonAddress = &v
  4219. return s
  4220. }
  4221. // SetAsn sets the Asn field's value.
  4222. func (s *BGPPeer) SetAsn(v int64) *BGPPeer {
  4223. s.Asn = &v
  4224. return s
  4225. }
  4226. // SetAuthKey sets the AuthKey field's value.
  4227. func (s *BGPPeer) SetAuthKey(v string) *BGPPeer {
  4228. s.AuthKey = &v
  4229. return s
  4230. }
  4231. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  4232. func (s *BGPPeer) SetAwsDeviceV2(v string) *BGPPeer {
  4233. s.AwsDeviceV2 = &v
  4234. return s
  4235. }
  4236. // SetBgpPeerId sets the BgpPeerId field's value.
  4237. func (s *BGPPeer) SetBgpPeerId(v string) *BGPPeer {
  4238. s.BgpPeerId = &v
  4239. return s
  4240. }
  4241. // SetBgpPeerState sets the BgpPeerState field's value.
  4242. func (s *BGPPeer) SetBgpPeerState(v string) *BGPPeer {
  4243. s.BgpPeerState = &v
  4244. return s
  4245. }
  4246. // SetBgpStatus sets the BgpStatus field's value.
  4247. func (s *BGPPeer) SetBgpStatus(v string) *BGPPeer {
  4248. s.BgpStatus = &v
  4249. return s
  4250. }
  4251. // SetCustomerAddress sets the CustomerAddress field's value.
  4252. func (s *BGPPeer) SetCustomerAddress(v string) *BGPPeer {
  4253. s.CustomerAddress = &v
  4254. return s
  4255. }
  4256. type ConfirmConnectionInput struct {
  4257. _ struct{} `type:"structure"`
  4258. // The ID of the hosted connection.
  4259. //
  4260. // ConnectionId is a required field
  4261. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  4262. }
  4263. // String returns the string representation
  4264. func (s ConfirmConnectionInput) String() string {
  4265. return awsutil.Prettify(s)
  4266. }
  4267. // GoString returns the string representation
  4268. func (s ConfirmConnectionInput) GoString() string {
  4269. return s.String()
  4270. }
  4271. // Validate inspects the fields of the type to determine if they are valid.
  4272. func (s *ConfirmConnectionInput) Validate() error {
  4273. invalidParams := request.ErrInvalidParams{Context: "ConfirmConnectionInput"}
  4274. if s.ConnectionId == nil {
  4275. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  4276. }
  4277. if invalidParams.Len() > 0 {
  4278. return invalidParams
  4279. }
  4280. return nil
  4281. }
  4282. // SetConnectionId sets the ConnectionId field's value.
  4283. func (s *ConfirmConnectionInput) SetConnectionId(v string) *ConfirmConnectionInput {
  4284. s.ConnectionId = &v
  4285. return s
  4286. }
  4287. type ConfirmConnectionOutput struct {
  4288. _ struct{} `type:"structure"`
  4289. // The state of the connection. The following are the possible values:
  4290. //
  4291. // * ordering: The initial state of a hosted connection provisioned on an
  4292. // interconnect. The connection stays in the ordering state until the owner
  4293. // of the hosted connection confirms or declines the connection order.
  4294. //
  4295. // * requested: The initial state of a standard connection. The connection
  4296. // stays in the requested state until the Letter of Authorization (LOA) is
  4297. // sent to the customer.
  4298. //
  4299. // * pending: The connection has been approved and is being initialized.
  4300. //
  4301. // * available: The network link is up and the connection is ready for use.
  4302. //
  4303. // * down: The network link is down.
  4304. //
  4305. // * deleting: The connection is being deleted.
  4306. //
  4307. // * deleted: The connection has been deleted.
  4308. //
  4309. // * rejected: A hosted connection in the ordering state enters the rejected
  4310. // state if it is deleted by the customer.
  4311. ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"`
  4312. }
  4313. // String returns the string representation
  4314. func (s ConfirmConnectionOutput) String() string {
  4315. return awsutil.Prettify(s)
  4316. }
  4317. // GoString returns the string representation
  4318. func (s ConfirmConnectionOutput) GoString() string {
  4319. return s.String()
  4320. }
  4321. // SetConnectionState sets the ConnectionState field's value.
  4322. func (s *ConfirmConnectionOutput) SetConnectionState(v string) *ConfirmConnectionOutput {
  4323. s.ConnectionState = &v
  4324. return s
  4325. }
  4326. type ConfirmPrivateVirtualInterfaceInput struct {
  4327. _ struct{} `type:"structure"`
  4328. // The ID of the Direct Connect gateway.
  4329. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  4330. // The ID of the virtual private gateway.
  4331. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  4332. // The ID of the virtual interface.
  4333. //
  4334. // VirtualInterfaceId is a required field
  4335. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  4336. }
  4337. // String returns the string representation
  4338. func (s ConfirmPrivateVirtualInterfaceInput) String() string {
  4339. return awsutil.Prettify(s)
  4340. }
  4341. // GoString returns the string representation
  4342. func (s ConfirmPrivateVirtualInterfaceInput) GoString() string {
  4343. return s.String()
  4344. }
  4345. // Validate inspects the fields of the type to determine if they are valid.
  4346. func (s *ConfirmPrivateVirtualInterfaceInput) Validate() error {
  4347. invalidParams := request.ErrInvalidParams{Context: "ConfirmPrivateVirtualInterfaceInput"}
  4348. if s.VirtualInterfaceId == nil {
  4349. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  4350. }
  4351. if invalidParams.Len() > 0 {
  4352. return invalidParams
  4353. }
  4354. return nil
  4355. }
  4356. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  4357. func (s *ConfirmPrivateVirtualInterfaceInput) SetDirectConnectGatewayId(v string) *ConfirmPrivateVirtualInterfaceInput {
  4358. s.DirectConnectGatewayId = &v
  4359. return s
  4360. }
  4361. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  4362. func (s *ConfirmPrivateVirtualInterfaceInput) SetVirtualGatewayId(v string) *ConfirmPrivateVirtualInterfaceInput {
  4363. s.VirtualGatewayId = &v
  4364. return s
  4365. }
  4366. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  4367. func (s *ConfirmPrivateVirtualInterfaceInput) SetVirtualInterfaceId(v string) *ConfirmPrivateVirtualInterfaceInput {
  4368. s.VirtualInterfaceId = &v
  4369. return s
  4370. }
  4371. type ConfirmPrivateVirtualInterfaceOutput struct {
  4372. _ struct{} `type:"structure"`
  4373. // The state of the virtual interface. The following are the possible values:
  4374. //
  4375. // * confirming: The creation of the virtual interface is pending confirmation
  4376. // from the virtual interface owner. If the owner of the virtual interface
  4377. // is different from the owner of the connection on which it is provisioned,
  4378. // then the virtual interface will remain in this state until it is confirmed
  4379. // by the virtual interface owner.
  4380. //
  4381. // * verifying: This state only applies to public virtual interfaces. Each
  4382. // public virtual interface needs validation before the virtual interface
  4383. // can be created.
  4384. //
  4385. // * pending: A virtual interface is in this state from the time that it
  4386. // is created until the virtual interface is ready to forward traffic.
  4387. //
  4388. // * available: A virtual interface that is able to forward traffic.
  4389. //
  4390. // * down: A virtual interface that is BGP down.
  4391. //
  4392. // * deleting: A virtual interface is in this state immediately after calling
  4393. // DeleteVirtualInterface until it can no longer forward traffic.
  4394. //
  4395. // * deleted: A virtual interface that cannot forward traffic.
  4396. //
  4397. // * rejected: The virtual interface owner has declined creation of the virtual
  4398. // interface. If a virtual interface in the Confirming state is deleted by
  4399. // the virtual interface owner, the virtual interface enters the Rejected
  4400. // state.
  4401. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  4402. }
  4403. // String returns the string representation
  4404. func (s ConfirmPrivateVirtualInterfaceOutput) String() string {
  4405. return awsutil.Prettify(s)
  4406. }
  4407. // GoString returns the string representation
  4408. func (s ConfirmPrivateVirtualInterfaceOutput) GoString() string {
  4409. return s.String()
  4410. }
  4411. // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  4412. func (s *ConfirmPrivateVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *ConfirmPrivateVirtualInterfaceOutput {
  4413. s.VirtualInterfaceState = &v
  4414. return s
  4415. }
  4416. type ConfirmPublicVirtualInterfaceInput struct {
  4417. _ struct{} `type:"structure"`
  4418. // The ID of the virtual interface.
  4419. //
  4420. // VirtualInterfaceId is a required field
  4421. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  4422. }
  4423. // String returns the string representation
  4424. func (s ConfirmPublicVirtualInterfaceInput) String() string {
  4425. return awsutil.Prettify(s)
  4426. }
  4427. // GoString returns the string representation
  4428. func (s ConfirmPublicVirtualInterfaceInput) GoString() string {
  4429. return s.String()
  4430. }
  4431. // Validate inspects the fields of the type to determine if they are valid.
  4432. func (s *ConfirmPublicVirtualInterfaceInput) Validate() error {
  4433. invalidParams := request.ErrInvalidParams{Context: "ConfirmPublicVirtualInterfaceInput"}
  4434. if s.VirtualInterfaceId == nil {
  4435. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  4436. }
  4437. if invalidParams.Len() > 0 {
  4438. return invalidParams
  4439. }
  4440. return nil
  4441. }
  4442. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  4443. func (s *ConfirmPublicVirtualInterfaceInput) SetVirtualInterfaceId(v string) *ConfirmPublicVirtualInterfaceInput {
  4444. s.VirtualInterfaceId = &v
  4445. return s
  4446. }
  4447. type ConfirmPublicVirtualInterfaceOutput struct {
  4448. _ struct{} `type:"structure"`
  4449. // The state of the virtual interface. The following are the possible values:
  4450. //
  4451. // * confirming: The creation of the virtual interface is pending confirmation
  4452. // from the virtual interface owner. If the owner of the virtual interface
  4453. // is different from the owner of the connection on which it is provisioned,
  4454. // then the virtual interface will remain in this state until it is confirmed
  4455. // by the virtual interface owner.
  4456. //
  4457. // * verifying: This state only applies to public virtual interfaces. Each
  4458. // public virtual interface needs validation before the virtual interface
  4459. // can be created.
  4460. //
  4461. // * pending: A virtual interface is in this state from the time that it
  4462. // is created until the virtual interface is ready to forward traffic.
  4463. //
  4464. // * available: A virtual interface that is able to forward traffic.
  4465. //
  4466. // * down: A virtual interface that is BGP down.
  4467. //
  4468. // * deleting: A virtual interface is in this state immediately after calling
  4469. // DeleteVirtualInterface until it can no longer forward traffic.
  4470. //
  4471. // * deleted: A virtual interface that cannot forward traffic.
  4472. //
  4473. // * rejected: The virtual interface owner has declined creation of the virtual
  4474. // interface. If a virtual interface in the Confirming state is deleted by
  4475. // the virtual interface owner, the virtual interface enters the Rejected
  4476. // state.
  4477. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  4478. }
  4479. // String returns the string representation
  4480. func (s ConfirmPublicVirtualInterfaceOutput) String() string {
  4481. return awsutil.Prettify(s)
  4482. }
  4483. // GoString returns the string representation
  4484. func (s ConfirmPublicVirtualInterfaceOutput) GoString() string {
  4485. return s.String()
  4486. }
  4487. // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  4488. func (s *ConfirmPublicVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *ConfirmPublicVirtualInterfaceOutput {
  4489. s.VirtualInterfaceState = &v
  4490. return s
  4491. }
  4492. // Information about an AWS Direct Connect connection.
  4493. type Connection struct {
  4494. _ struct{} `type:"structure"`
  4495. // The Direct Connect endpoint on which the physical connection terminates.
  4496. AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
  4497. // The Direct Connect endpoint on which the physical connection terminates.
  4498. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  4499. // The bandwidth of the connection.
  4500. Bandwidth *string `locationName:"bandwidth" type:"string"`
  4501. // The ID of the connection.
  4502. ConnectionId *string `locationName:"connectionId" type:"string"`
  4503. // The name of the connection.
  4504. ConnectionName *string `locationName:"connectionName" type:"string"`
  4505. // The state of the connection. The following are the possible values:
  4506. //
  4507. // * ordering: The initial state of a hosted connection provisioned on an
  4508. // interconnect. The connection stays in the ordering state until the owner
  4509. // of the hosted connection confirms or declines the connection order.
  4510. //
  4511. // * requested: The initial state of a standard connection. The connection
  4512. // stays in the requested state until the Letter of Authorization (LOA) is
  4513. // sent to the customer.
  4514. //
  4515. // * pending: The connection has been approved and is being initialized.
  4516. //
  4517. // * available: The network link is up and the connection is ready for use.
  4518. //
  4519. // * down: The network link is down.
  4520. //
  4521. // * deleting: The connection is being deleted.
  4522. //
  4523. // * deleted: The connection has been deleted.
  4524. //
  4525. // * rejected: A hosted connection in the ordering state enters the rejected
  4526. // state if it is deleted by the customer.
  4527. ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"`
  4528. // Indicates whether the connection supports a secondary BGP peer in the same
  4529. // address family (IPv4/IPv6).
  4530. HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
  4531. // Indicates whether jumbo frames (9001 MTU) are supported.
  4532. JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  4533. // The ID of the LAG.
  4534. LagId *string `locationName:"lagId" type:"string"`
  4535. // The time of the most recent call to DescribeLoa for this connection.
  4536. LoaIssueTime *time.Time `locationName:"loaIssueTime" type:"timestamp"`
  4537. // The location of the connection.
  4538. Location *string `locationName:"location" type:"string"`
  4539. // The ID of the AWS account that owns the connection.
  4540. OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  4541. // The name of the AWS Direct Connect service provider associated with the connection.
  4542. PartnerName *string `locationName:"partnerName" type:"string"`
  4543. // The AWS Region where the connection is located.
  4544. Region *string `locationName:"region" type:"string"`
  4545. // The ID of the VLAN.
  4546. Vlan *int64 `locationName:"vlan" type:"integer"`
  4547. }
  4548. // String returns the string representation
  4549. func (s Connection) String() string {
  4550. return awsutil.Prettify(s)
  4551. }
  4552. // GoString returns the string representation
  4553. func (s Connection) GoString() string {
  4554. return s.String()
  4555. }
  4556. // SetAwsDevice sets the AwsDevice field's value.
  4557. func (s *Connection) SetAwsDevice(v string) *Connection {
  4558. s.AwsDevice = &v
  4559. return s
  4560. }
  4561. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  4562. func (s *Connection) SetAwsDeviceV2(v string) *Connection {
  4563. s.AwsDeviceV2 = &v
  4564. return s
  4565. }
  4566. // SetBandwidth sets the Bandwidth field's value.
  4567. func (s *Connection) SetBandwidth(v string) *Connection {
  4568. s.Bandwidth = &v
  4569. return s
  4570. }
  4571. // SetConnectionId sets the ConnectionId field's value.
  4572. func (s *Connection) SetConnectionId(v string) *Connection {
  4573. s.ConnectionId = &v
  4574. return s
  4575. }
  4576. // SetConnectionName sets the ConnectionName field's value.
  4577. func (s *Connection) SetConnectionName(v string) *Connection {
  4578. s.ConnectionName = &v
  4579. return s
  4580. }
  4581. // SetConnectionState sets the ConnectionState field's value.
  4582. func (s *Connection) SetConnectionState(v string) *Connection {
  4583. s.ConnectionState = &v
  4584. return s
  4585. }
  4586. // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
  4587. func (s *Connection) SetHasLogicalRedundancy(v string) *Connection {
  4588. s.HasLogicalRedundancy = &v
  4589. return s
  4590. }
  4591. // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  4592. func (s *Connection) SetJumboFrameCapable(v bool) *Connection {
  4593. s.JumboFrameCapable = &v
  4594. return s
  4595. }
  4596. // SetLagId sets the LagId field's value.
  4597. func (s *Connection) SetLagId(v string) *Connection {
  4598. s.LagId = &v
  4599. return s
  4600. }
  4601. // SetLoaIssueTime sets the LoaIssueTime field's value.
  4602. func (s *Connection) SetLoaIssueTime(v time.Time) *Connection {
  4603. s.LoaIssueTime = &v
  4604. return s
  4605. }
  4606. // SetLocation sets the Location field's value.
  4607. func (s *Connection) SetLocation(v string) *Connection {
  4608. s.Location = &v
  4609. return s
  4610. }
  4611. // SetOwnerAccount sets the OwnerAccount field's value.
  4612. func (s *Connection) SetOwnerAccount(v string) *Connection {
  4613. s.OwnerAccount = &v
  4614. return s
  4615. }
  4616. // SetPartnerName sets the PartnerName field's value.
  4617. func (s *Connection) SetPartnerName(v string) *Connection {
  4618. s.PartnerName = &v
  4619. return s
  4620. }
  4621. // SetRegion sets the Region field's value.
  4622. func (s *Connection) SetRegion(v string) *Connection {
  4623. s.Region = &v
  4624. return s
  4625. }
  4626. // SetVlan sets the Vlan field's value.
  4627. func (s *Connection) SetVlan(v int64) *Connection {
  4628. s.Vlan = &v
  4629. return s
  4630. }
  4631. type Connections struct {
  4632. _ struct{} `type:"structure"`
  4633. // The connections.
  4634. Connections []*Connection `locationName:"connections" type:"list"`
  4635. }
  4636. // String returns the string representation
  4637. func (s Connections) String() string {
  4638. return awsutil.Prettify(s)
  4639. }
  4640. // GoString returns the string representation
  4641. func (s Connections) GoString() string {
  4642. return s.String()
  4643. }
  4644. // SetConnections sets the Connections field's value.
  4645. func (s *Connections) SetConnections(v []*Connection) *Connections {
  4646. s.Connections = v
  4647. return s
  4648. }
  4649. type CreateBGPPeerInput struct {
  4650. _ struct{} `type:"structure"`
  4651. // Information about the BGP peer.
  4652. NewBGPPeer *NewBGPPeer `locationName:"newBGPPeer" type:"structure"`
  4653. // The ID of the virtual interface.
  4654. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  4655. }
  4656. // String returns the string representation
  4657. func (s CreateBGPPeerInput) String() string {
  4658. return awsutil.Prettify(s)
  4659. }
  4660. // GoString returns the string representation
  4661. func (s CreateBGPPeerInput) GoString() string {
  4662. return s.String()
  4663. }
  4664. // SetNewBGPPeer sets the NewBGPPeer field's value.
  4665. func (s *CreateBGPPeerInput) SetNewBGPPeer(v *NewBGPPeer) *CreateBGPPeerInput {
  4666. s.NewBGPPeer = v
  4667. return s
  4668. }
  4669. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  4670. func (s *CreateBGPPeerInput) SetVirtualInterfaceId(v string) *CreateBGPPeerInput {
  4671. s.VirtualInterfaceId = &v
  4672. return s
  4673. }
  4674. type CreateBGPPeerOutput struct {
  4675. _ struct{} `type:"structure"`
  4676. // The virtual interface.
  4677. VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  4678. }
  4679. // String returns the string representation
  4680. func (s CreateBGPPeerOutput) String() string {
  4681. return awsutil.Prettify(s)
  4682. }
  4683. // GoString returns the string representation
  4684. func (s CreateBGPPeerOutput) GoString() string {
  4685. return s.String()
  4686. }
  4687. // SetVirtualInterface sets the VirtualInterface field's value.
  4688. func (s *CreateBGPPeerOutput) SetVirtualInterface(v *VirtualInterface) *CreateBGPPeerOutput {
  4689. s.VirtualInterface = v
  4690. return s
  4691. }
  4692. type CreateConnectionInput struct {
  4693. _ struct{} `type:"structure"`
  4694. // The bandwidth of the connection.
  4695. //
  4696. // Bandwidth is a required field
  4697. Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  4698. // The name of the connection.
  4699. //
  4700. // ConnectionName is a required field
  4701. ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  4702. // The ID of the LAG.
  4703. LagId *string `locationName:"lagId" type:"string"`
  4704. // The location of the connection.
  4705. //
  4706. // Location is a required field
  4707. Location *string `locationName:"location" type:"string" required:"true"`
  4708. }
  4709. // String returns the string representation
  4710. func (s CreateConnectionInput) String() string {
  4711. return awsutil.Prettify(s)
  4712. }
  4713. // GoString returns the string representation
  4714. func (s CreateConnectionInput) GoString() string {
  4715. return s.String()
  4716. }
  4717. // Validate inspects the fields of the type to determine if they are valid.
  4718. func (s *CreateConnectionInput) Validate() error {
  4719. invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"}
  4720. if s.Bandwidth == nil {
  4721. invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  4722. }
  4723. if s.ConnectionName == nil {
  4724. invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  4725. }
  4726. if s.Location == nil {
  4727. invalidParams.Add(request.NewErrParamRequired("Location"))
  4728. }
  4729. if invalidParams.Len() > 0 {
  4730. return invalidParams
  4731. }
  4732. return nil
  4733. }
  4734. // SetBandwidth sets the Bandwidth field's value.
  4735. func (s *CreateConnectionInput) SetBandwidth(v string) *CreateConnectionInput {
  4736. s.Bandwidth = &v
  4737. return s
  4738. }
  4739. // SetConnectionName sets the ConnectionName field's value.
  4740. func (s *CreateConnectionInput) SetConnectionName(v string) *CreateConnectionInput {
  4741. s.ConnectionName = &v
  4742. return s
  4743. }
  4744. // SetLagId sets the LagId field's value.
  4745. func (s *CreateConnectionInput) SetLagId(v string) *CreateConnectionInput {
  4746. s.LagId = &v
  4747. return s
  4748. }
  4749. // SetLocation sets the Location field's value.
  4750. func (s *CreateConnectionInput) SetLocation(v string) *CreateConnectionInput {
  4751. s.Location = &v
  4752. return s
  4753. }
  4754. type CreateDirectConnectGatewayAssociationInput struct {
  4755. _ struct{} `type:"structure"`
  4756. // The ID of the Direct Connect gateway.
  4757. //
  4758. // DirectConnectGatewayId is a required field
  4759. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  4760. // The ID of the virtual private gateway.
  4761. //
  4762. // VirtualGatewayId is a required field
  4763. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string" required:"true"`
  4764. }
  4765. // String returns the string representation
  4766. func (s CreateDirectConnectGatewayAssociationInput) String() string {
  4767. return awsutil.Prettify(s)
  4768. }
  4769. // GoString returns the string representation
  4770. func (s CreateDirectConnectGatewayAssociationInput) GoString() string {
  4771. return s.String()
  4772. }
  4773. // Validate inspects the fields of the type to determine if they are valid.
  4774. func (s *CreateDirectConnectGatewayAssociationInput) Validate() error {
  4775. invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayAssociationInput"}
  4776. if s.DirectConnectGatewayId == nil {
  4777. invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  4778. }
  4779. if s.VirtualGatewayId == nil {
  4780. invalidParams.Add(request.NewErrParamRequired("VirtualGatewayId"))
  4781. }
  4782. if invalidParams.Len() > 0 {
  4783. return invalidParams
  4784. }
  4785. return nil
  4786. }
  4787. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  4788. func (s *CreateDirectConnectGatewayAssociationInput) SetDirectConnectGatewayId(v string) *CreateDirectConnectGatewayAssociationInput {
  4789. s.DirectConnectGatewayId = &v
  4790. return s
  4791. }
  4792. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  4793. func (s *CreateDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v string) *CreateDirectConnectGatewayAssociationInput {
  4794. s.VirtualGatewayId = &v
  4795. return s
  4796. }
  4797. type CreateDirectConnectGatewayAssociationOutput struct {
  4798. _ struct{} `type:"structure"`
  4799. // The association to be created.
  4800. DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
  4801. }
  4802. // String returns the string representation
  4803. func (s CreateDirectConnectGatewayAssociationOutput) String() string {
  4804. return awsutil.Prettify(s)
  4805. }
  4806. // GoString returns the string representation
  4807. func (s CreateDirectConnectGatewayAssociationOutput) GoString() string {
  4808. return s.String()
  4809. }
  4810. // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
  4811. func (s *CreateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *CreateDirectConnectGatewayAssociationOutput {
  4812. s.DirectConnectGatewayAssociation = v
  4813. return s
  4814. }
  4815. type CreateDirectConnectGatewayInput struct {
  4816. _ struct{} `type:"structure"`
  4817. // The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be
  4818. // configured on the Amazon side of the connection. The ASN must be in the private
  4819. // range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default
  4820. // is 64512.
  4821. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  4822. // The name of the Direct Connect gateway.
  4823. //
  4824. // DirectConnectGatewayName is a required field
  4825. DirectConnectGatewayName *string `locationName:"directConnectGatewayName" type:"string" required:"true"`
  4826. }
  4827. // String returns the string representation
  4828. func (s CreateDirectConnectGatewayInput) String() string {
  4829. return awsutil.Prettify(s)
  4830. }
  4831. // GoString returns the string representation
  4832. func (s CreateDirectConnectGatewayInput) GoString() string {
  4833. return s.String()
  4834. }
  4835. // Validate inspects the fields of the type to determine if they are valid.
  4836. func (s *CreateDirectConnectGatewayInput) Validate() error {
  4837. invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayInput"}
  4838. if s.DirectConnectGatewayName == nil {
  4839. invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayName"))
  4840. }
  4841. if invalidParams.Len() > 0 {
  4842. return invalidParams
  4843. }
  4844. return nil
  4845. }
  4846. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  4847. func (s *CreateDirectConnectGatewayInput) SetAmazonSideAsn(v int64) *CreateDirectConnectGatewayInput {
  4848. s.AmazonSideAsn = &v
  4849. return s
  4850. }
  4851. // SetDirectConnectGatewayName sets the DirectConnectGatewayName field's value.
  4852. func (s *CreateDirectConnectGatewayInput) SetDirectConnectGatewayName(v string) *CreateDirectConnectGatewayInput {
  4853. s.DirectConnectGatewayName = &v
  4854. return s
  4855. }
  4856. type CreateDirectConnectGatewayOutput struct {
  4857. _ struct{} `type:"structure"`
  4858. // The Direct Connect gateway.
  4859. DirectConnectGateway *Gateway `locationName:"directConnectGateway" type:"structure"`
  4860. }
  4861. // String returns the string representation
  4862. func (s CreateDirectConnectGatewayOutput) String() string {
  4863. return awsutil.Prettify(s)
  4864. }
  4865. // GoString returns the string representation
  4866. func (s CreateDirectConnectGatewayOutput) GoString() string {
  4867. return s.String()
  4868. }
  4869. // SetDirectConnectGateway sets the DirectConnectGateway field's value.
  4870. func (s *CreateDirectConnectGatewayOutput) SetDirectConnectGateway(v *Gateway) *CreateDirectConnectGatewayOutput {
  4871. s.DirectConnectGateway = v
  4872. return s
  4873. }
  4874. type CreateInterconnectInput struct {
  4875. _ struct{} `type:"structure"`
  4876. // The port bandwidth, in Gbps. The possible values are 1 and 10.
  4877. //
  4878. // Bandwidth is a required field
  4879. Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  4880. // The name of the interconnect.
  4881. //
  4882. // InterconnectName is a required field
  4883. InterconnectName *string `locationName:"interconnectName" type:"string" required:"true"`
  4884. // The ID of the LAG.
  4885. LagId *string `locationName:"lagId" type:"string"`
  4886. // The location of the interconnect.
  4887. //
  4888. // Location is a required field
  4889. Location *string `locationName:"location" type:"string" required:"true"`
  4890. }
  4891. // String returns the string representation
  4892. func (s CreateInterconnectInput) String() string {
  4893. return awsutil.Prettify(s)
  4894. }
  4895. // GoString returns the string representation
  4896. func (s CreateInterconnectInput) GoString() string {
  4897. return s.String()
  4898. }
  4899. // Validate inspects the fields of the type to determine if they are valid.
  4900. func (s *CreateInterconnectInput) Validate() error {
  4901. invalidParams := request.ErrInvalidParams{Context: "CreateInterconnectInput"}
  4902. if s.Bandwidth == nil {
  4903. invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  4904. }
  4905. if s.InterconnectName == nil {
  4906. invalidParams.Add(request.NewErrParamRequired("InterconnectName"))
  4907. }
  4908. if s.Location == nil {
  4909. invalidParams.Add(request.NewErrParamRequired("Location"))
  4910. }
  4911. if invalidParams.Len() > 0 {
  4912. return invalidParams
  4913. }
  4914. return nil
  4915. }
  4916. // SetBandwidth sets the Bandwidth field's value.
  4917. func (s *CreateInterconnectInput) SetBandwidth(v string) *CreateInterconnectInput {
  4918. s.Bandwidth = &v
  4919. return s
  4920. }
  4921. // SetInterconnectName sets the InterconnectName field's value.
  4922. func (s *CreateInterconnectInput) SetInterconnectName(v string) *CreateInterconnectInput {
  4923. s.InterconnectName = &v
  4924. return s
  4925. }
  4926. // SetLagId sets the LagId field's value.
  4927. func (s *CreateInterconnectInput) SetLagId(v string) *CreateInterconnectInput {
  4928. s.LagId = &v
  4929. return s
  4930. }
  4931. // SetLocation sets the Location field's value.
  4932. func (s *CreateInterconnectInput) SetLocation(v string) *CreateInterconnectInput {
  4933. s.Location = &v
  4934. return s
  4935. }
  4936. type CreateLagInput struct {
  4937. _ struct{} `type:"structure"`
  4938. // The ID of an existing connection to migrate to the LAG.
  4939. ConnectionId *string `locationName:"connectionId" type:"string"`
  4940. // The bandwidth of the individual physical connections bundled by the LAG.
  4941. // The possible values are 1Gbps and 10Gbps.
  4942. //
  4943. // ConnectionsBandwidth is a required field
  4944. ConnectionsBandwidth *string `locationName:"connectionsBandwidth" type:"string" required:"true"`
  4945. // The name of the LAG.
  4946. //
  4947. // LagName is a required field
  4948. LagName *string `locationName:"lagName" type:"string" required:"true"`
  4949. // The location for the LAG.
  4950. //
  4951. // Location is a required field
  4952. Location *string `locationName:"location" type:"string" required:"true"`
  4953. // The number of physical connections initially provisioned and bundled by the
  4954. // LAG.
  4955. //
  4956. // NumberOfConnections is a required field
  4957. NumberOfConnections *int64 `locationName:"numberOfConnections" type:"integer" required:"true"`
  4958. }
  4959. // String returns the string representation
  4960. func (s CreateLagInput) String() string {
  4961. return awsutil.Prettify(s)
  4962. }
  4963. // GoString returns the string representation
  4964. func (s CreateLagInput) GoString() string {
  4965. return s.String()
  4966. }
  4967. // Validate inspects the fields of the type to determine if they are valid.
  4968. func (s *CreateLagInput) Validate() error {
  4969. invalidParams := request.ErrInvalidParams{Context: "CreateLagInput"}
  4970. if s.ConnectionsBandwidth == nil {
  4971. invalidParams.Add(request.NewErrParamRequired("ConnectionsBandwidth"))
  4972. }
  4973. if s.LagName == nil {
  4974. invalidParams.Add(request.NewErrParamRequired("LagName"))
  4975. }
  4976. if s.Location == nil {
  4977. invalidParams.Add(request.NewErrParamRequired("Location"))
  4978. }
  4979. if s.NumberOfConnections == nil {
  4980. invalidParams.Add(request.NewErrParamRequired("NumberOfConnections"))
  4981. }
  4982. if invalidParams.Len() > 0 {
  4983. return invalidParams
  4984. }
  4985. return nil
  4986. }
  4987. // SetConnectionId sets the ConnectionId field's value.
  4988. func (s *CreateLagInput) SetConnectionId(v string) *CreateLagInput {
  4989. s.ConnectionId = &v
  4990. return s
  4991. }
  4992. // SetConnectionsBandwidth sets the ConnectionsBandwidth field's value.
  4993. func (s *CreateLagInput) SetConnectionsBandwidth(v string) *CreateLagInput {
  4994. s.ConnectionsBandwidth = &v
  4995. return s
  4996. }
  4997. // SetLagName sets the LagName field's value.
  4998. func (s *CreateLagInput) SetLagName(v string) *CreateLagInput {
  4999. s.LagName = &v
  5000. return s
  5001. }
  5002. // SetLocation sets the Location field's value.
  5003. func (s *CreateLagInput) SetLocation(v string) *CreateLagInput {
  5004. s.Location = &v
  5005. return s
  5006. }
  5007. // SetNumberOfConnections sets the NumberOfConnections field's value.
  5008. func (s *CreateLagInput) SetNumberOfConnections(v int64) *CreateLagInput {
  5009. s.NumberOfConnections = &v
  5010. return s
  5011. }
  5012. type CreatePrivateVirtualInterfaceInput struct {
  5013. _ struct{} `type:"structure"`
  5014. // The ID of the connection.
  5015. //
  5016. // ConnectionId is a required field
  5017. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5018. // Information about the private virtual interface.
  5019. //
  5020. // NewPrivateVirtualInterface is a required field
  5021. NewPrivateVirtualInterface *NewPrivateVirtualInterface `locationName:"newPrivateVirtualInterface" type:"structure" required:"true"`
  5022. }
  5023. // String returns the string representation
  5024. func (s CreatePrivateVirtualInterfaceInput) String() string {
  5025. return awsutil.Prettify(s)
  5026. }
  5027. // GoString returns the string representation
  5028. func (s CreatePrivateVirtualInterfaceInput) GoString() string {
  5029. return s.String()
  5030. }
  5031. // Validate inspects the fields of the type to determine if they are valid.
  5032. func (s *CreatePrivateVirtualInterfaceInput) Validate() error {
  5033. invalidParams := request.ErrInvalidParams{Context: "CreatePrivateVirtualInterfaceInput"}
  5034. if s.ConnectionId == nil {
  5035. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5036. }
  5037. if s.NewPrivateVirtualInterface == nil {
  5038. invalidParams.Add(request.NewErrParamRequired("NewPrivateVirtualInterface"))
  5039. }
  5040. if s.NewPrivateVirtualInterface != nil {
  5041. if err := s.NewPrivateVirtualInterface.Validate(); err != nil {
  5042. invalidParams.AddNested("NewPrivateVirtualInterface", err.(request.ErrInvalidParams))
  5043. }
  5044. }
  5045. if invalidParams.Len() > 0 {
  5046. return invalidParams
  5047. }
  5048. return nil
  5049. }
  5050. // SetConnectionId sets the ConnectionId field's value.
  5051. func (s *CreatePrivateVirtualInterfaceInput) SetConnectionId(v string) *CreatePrivateVirtualInterfaceInput {
  5052. s.ConnectionId = &v
  5053. return s
  5054. }
  5055. // SetNewPrivateVirtualInterface sets the NewPrivateVirtualInterface field's value.
  5056. func (s *CreatePrivateVirtualInterfaceInput) SetNewPrivateVirtualInterface(v *NewPrivateVirtualInterface) *CreatePrivateVirtualInterfaceInput {
  5057. s.NewPrivateVirtualInterface = v
  5058. return s
  5059. }
  5060. type CreatePublicVirtualInterfaceInput struct {
  5061. _ struct{} `type:"structure"`
  5062. // The ID of the connection.
  5063. //
  5064. // ConnectionId is a required field
  5065. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5066. // Information about the public virtual interface.
  5067. //
  5068. // NewPublicVirtualInterface is a required field
  5069. NewPublicVirtualInterface *NewPublicVirtualInterface `locationName:"newPublicVirtualInterface" type:"structure" required:"true"`
  5070. }
  5071. // String returns the string representation
  5072. func (s CreatePublicVirtualInterfaceInput) String() string {
  5073. return awsutil.Prettify(s)
  5074. }
  5075. // GoString returns the string representation
  5076. func (s CreatePublicVirtualInterfaceInput) GoString() string {
  5077. return s.String()
  5078. }
  5079. // Validate inspects the fields of the type to determine if they are valid.
  5080. func (s *CreatePublicVirtualInterfaceInput) Validate() error {
  5081. invalidParams := request.ErrInvalidParams{Context: "CreatePublicVirtualInterfaceInput"}
  5082. if s.ConnectionId == nil {
  5083. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5084. }
  5085. if s.NewPublicVirtualInterface == nil {
  5086. invalidParams.Add(request.NewErrParamRequired("NewPublicVirtualInterface"))
  5087. }
  5088. if s.NewPublicVirtualInterface != nil {
  5089. if err := s.NewPublicVirtualInterface.Validate(); err != nil {
  5090. invalidParams.AddNested("NewPublicVirtualInterface", err.(request.ErrInvalidParams))
  5091. }
  5092. }
  5093. if invalidParams.Len() > 0 {
  5094. return invalidParams
  5095. }
  5096. return nil
  5097. }
  5098. // SetConnectionId sets the ConnectionId field's value.
  5099. func (s *CreatePublicVirtualInterfaceInput) SetConnectionId(v string) *CreatePublicVirtualInterfaceInput {
  5100. s.ConnectionId = &v
  5101. return s
  5102. }
  5103. // SetNewPublicVirtualInterface sets the NewPublicVirtualInterface field's value.
  5104. func (s *CreatePublicVirtualInterfaceInput) SetNewPublicVirtualInterface(v *NewPublicVirtualInterface) *CreatePublicVirtualInterfaceInput {
  5105. s.NewPublicVirtualInterface = v
  5106. return s
  5107. }
  5108. type DeleteBGPPeerInput struct {
  5109. _ struct{} `type:"structure"`
  5110. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  5111. Asn *int64 `locationName:"asn" type:"integer"`
  5112. // The ID of the BGP peer.
  5113. BgpPeerId *string `locationName:"bgpPeerId" type:"string"`
  5114. // The IP address assigned to the customer interface.
  5115. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  5116. // The ID of the virtual interface.
  5117. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  5118. }
  5119. // String returns the string representation
  5120. func (s DeleteBGPPeerInput) String() string {
  5121. return awsutil.Prettify(s)
  5122. }
  5123. // GoString returns the string representation
  5124. func (s DeleteBGPPeerInput) GoString() string {
  5125. return s.String()
  5126. }
  5127. // SetAsn sets the Asn field's value.
  5128. func (s *DeleteBGPPeerInput) SetAsn(v int64) *DeleteBGPPeerInput {
  5129. s.Asn = &v
  5130. return s
  5131. }
  5132. // SetBgpPeerId sets the BgpPeerId field's value.
  5133. func (s *DeleteBGPPeerInput) SetBgpPeerId(v string) *DeleteBGPPeerInput {
  5134. s.BgpPeerId = &v
  5135. return s
  5136. }
  5137. // SetCustomerAddress sets the CustomerAddress field's value.
  5138. func (s *DeleteBGPPeerInput) SetCustomerAddress(v string) *DeleteBGPPeerInput {
  5139. s.CustomerAddress = &v
  5140. return s
  5141. }
  5142. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  5143. func (s *DeleteBGPPeerInput) SetVirtualInterfaceId(v string) *DeleteBGPPeerInput {
  5144. s.VirtualInterfaceId = &v
  5145. return s
  5146. }
  5147. type DeleteBGPPeerOutput struct {
  5148. _ struct{} `type:"structure"`
  5149. // The virtual interface.
  5150. VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  5151. }
  5152. // String returns the string representation
  5153. func (s DeleteBGPPeerOutput) String() string {
  5154. return awsutil.Prettify(s)
  5155. }
  5156. // GoString returns the string representation
  5157. func (s DeleteBGPPeerOutput) GoString() string {
  5158. return s.String()
  5159. }
  5160. // SetVirtualInterface sets the VirtualInterface field's value.
  5161. func (s *DeleteBGPPeerOutput) SetVirtualInterface(v *VirtualInterface) *DeleteBGPPeerOutput {
  5162. s.VirtualInterface = v
  5163. return s
  5164. }
  5165. type DeleteConnectionInput struct {
  5166. _ struct{} `type:"structure"`
  5167. // The ID of the connection.
  5168. //
  5169. // ConnectionId is a required field
  5170. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5171. }
  5172. // String returns the string representation
  5173. func (s DeleteConnectionInput) String() string {
  5174. return awsutil.Prettify(s)
  5175. }
  5176. // GoString returns the string representation
  5177. func (s DeleteConnectionInput) GoString() string {
  5178. return s.String()
  5179. }
  5180. // Validate inspects the fields of the type to determine if they are valid.
  5181. func (s *DeleteConnectionInput) Validate() error {
  5182. invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
  5183. if s.ConnectionId == nil {
  5184. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5185. }
  5186. if invalidParams.Len() > 0 {
  5187. return invalidParams
  5188. }
  5189. return nil
  5190. }
  5191. // SetConnectionId sets the ConnectionId field's value.
  5192. func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput {
  5193. s.ConnectionId = &v
  5194. return s
  5195. }
  5196. type DeleteDirectConnectGatewayAssociationInput struct {
  5197. _ struct{} `type:"structure"`
  5198. // The ID of the Direct Connect gateway.
  5199. //
  5200. // DirectConnectGatewayId is a required field
  5201. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  5202. // The ID of the virtual private gateway.
  5203. //
  5204. // VirtualGatewayId is a required field
  5205. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string" required:"true"`
  5206. }
  5207. // String returns the string representation
  5208. func (s DeleteDirectConnectGatewayAssociationInput) String() string {
  5209. return awsutil.Prettify(s)
  5210. }
  5211. // GoString returns the string representation
  5212. func (s DeleteDirectConnectGatewayAssociationInput) GoString() string {
  5213. return s.String()
  5214. }
  5215. // Validate inspects the fields of the type to determine if they are valid.
  5216. func (s *DeleteDirectConnectGatewayAssociationInput) Validate() error {
  5217. invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayAssociationInput"}
  5218. if s.DirectConnectGatewayId == nil {
  5219. invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  5220. }
  5221. if s.VirtualGatewayId == nil {
  5222. invalidParams.Add(request.NewErrParamRequired("VirtualGatewayId"))
  5223. }
  5224. if invalidParams.Len() > 0 {
  5225. return invalidParams
  5226. }
  5227. return nil
  5228. }
  5229. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5230. func (s *DeleteDirectConnectGatewayAssociationInput) SetDirectConnectGatewayId(v string) *DeleteDirectConnectGatewayAssociationInput {
  5231. s.DirectConnectGatewayId = &v
  5232. return s
  5233. }
  5234. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  5235. func (s *DeleteDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v string) *DeleteDirectConnectGatewayAssociationInput {
  5236. s.VirtualGatewayId = &v
  5237. return s
  5238. }
  5239. type DeleteDirectConnectGatewayAssociationOutput struct {
  5240. _ struct{} `type:"structure"`
  5241. // The association to be deleted.
  5242. DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
  5243. }
  5244. // String returns the string representation
  5245. func (s DeleteDirectConnectGatewayAssociationOutput) String() string {
  5246. return awsutil.Prettify(s)
  5247. }
  5248. // GoString returns the string representation
  5249. func (s DeleteDirectConnectGatewayAssociationOutput) GoString() string {
  5250. return s.String()
  5251. }
  5252. // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
  5253. func (s *DeleteDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *DeleteDirectConnectGatewayAssociationOutput {
  5254. s.DirectConnectGatewayAssociation = v
  5255. return s
  5256. }
  5257. type DeleteDirectConnectGatewayInput struct {
  5258. _ struct{} `type:"structure"`
  5259. // The ID of the Direct Connect gateway.
  5260. //
  5261. // DirectConnectGatewayId is a required field
  5262. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  5263. }
  5264. // String returns the string representation
  5265. func (s DeleteDirectConnectGatewayInput) String() string {
  5266. return awsutil.Prettify(s)
  5267. }
  5268. // GoString returns the string representation
  5269. func (s DeleteDirectConnectGatewayInput) GoString() string {
  5270. return s.String()
  5271. }
  5272. // Validate inspects the fields of the type to determine if they are valid.
  5273. func (s *DeleteDirectConnectGatewayInput) Validate() error {
  5274. invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayInput"}
  5275. if s.DirectConnectGatewayId == nil {
  5276. invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  5277. }
  5278. if invalidParams.Len() > 0 {
  5279. return invalidParams
  5280. }
  5281. return nil
  5282. }
  5283. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5284. func (s *DeleteDirectConnectGatewayInput) SetDirectConnectGatewayId(v string) *DeleteDirectConnectGatewayInput {
  5285. s.DirectConnectGatewayId = &v
  5286. return s
  5287. }
  5288. type DeleteDirectConnectGatewayOutput struct {
  5289. _ struct{} `type:"structure"`
  5290. // The Direct Connect gateway.
  5291. DirectConnectGateway *Gateway `locationName:"directConnectGateway" type:"structure"`
  5292. }
  5293. // String returns the string representation
  5294. func (s DeleteDirectConnectGatewayOutput) String() string {
  5295. return awsutil.Prettify(s)
  5296. }
  5297. // GoString returns the string representation
  5298. func (s DeleteDirectConnectGatewayOutput) GoString() string {
  5299. return s.String()
  5300. }
  5301. // SetDirectConnectGateway sets the DirectConnectGateway field's value.
  5302. func (s *DeleteDirectConnectGatewayOutput) SetDirectConnectGateway(v *Gateway) *DeleteDirectConnectGatewayOutput {
  5303. s.DirectConnectGateway = v
  5304. return s
  5305. }
  5306. type DeleteInterconnectInput struct {
  5307. _ struct{} `type:"structure"`
  5308. // The ID of the interconnect.
  5309. //
  5310. // InterconnectId is a required field
  5311. InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  5312. }
  5313. // String returns the string representation
  5314. func (s DeleteInterconnectInput) String() string {
  5315. return awsutil.Prettify(s)
  5316. }
  5317. // GoString returns the string representation
  5318. func (s DeleteInterconnectInput) GoString() string {
  5319. return s.String()
  5320. }
  5321. // Validate inspects the fields of the type to determine if they are valid.
  5322. func (s *DeleteInterconnectInput) Validate() error {
  5323. invalidParams := request.ErrInvalidParams{Context: "DeleteInterconnectInput"}
  5324. if s.InterconnectId == nil {
  5325. invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  5326. }
  5327. if invalidParams.Len() > 0 {
  5328. return invalidParams
  5329. }
  5330. return nil
  5331. }
  5332. // SetInterconnectId sets the InterconnectId field's value.
  5333. func (s *DeleteInterconnectInput) SetInterconnectId(v string) *DeleteInterconnectInput {
  5334. s.InterconnectId = &v
  5335. return s
  5336. }
  5337. type DeleteInterconnectOutput struct {
  5338. _ struct{} `type:"structure"`
  5339. // The state of the interconnect. The following are the possible values:
  5340. //
  5341. // * requested: The initial state of an interconnect. The interconnect stays
  5342. // in the requested state until the Letter of Authorization (LOA) is sent
  5343. // to the customer.
  5344. //
  5345. // * pending: The interconnect is approved, and is being initialized.
  5346. //
  5347. // * available: The network link is up, and the interconnect is ready for
  5348. // use.
  5349. //
  5350. // * down: The network link is down.
  5351. //
  5352. // * deleting: The interconnect is being deleted.
  5353. //
  5354. // * deleted: The interconnect is deleted.
  5355. InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"`
  5356. }
  5357. // String returns the string representation
  5358. func (s DeleteInterconnectOutput) String() string {
  5359. return awsutil.Prettify(s)
  5360. }
  5361. // GoString returns the string representation
  5362. func (s DeleteInterconnectOutput) GoString() string {
  5363. return s.String()
  5364. }
  5365. // SetInterconnectState sets the InterconnectState field's value.
  5366. func (s *DeleteInterconnectOutput) SetInterconnectState(v string) *DeleteInterconnectOutput {
  5367. s.InterconnectState = &v
  5368. return s
  5369. }
  5370. type DeleteLagInput struct {
  5371. _ struct{} `type:"structure"`
  5372. // The ID of the LAG.
  5373. //
  5374. // LagId is a required field
  5375. LagId *string `locationName:"lagId" type:"string" required:"true"`
  5376. }
  5377. // String returns the string representation
  5378. func (s DeleteLagInput) String() string {
  5379. return awsutil.Prettify(s)
  5380. }
  5381. // GoString returns the string representation
  5382. func (s DeleteLagInput) GoString() string {
  5383. return s.String()
  5384. }
  5385. // Validate inspects the fields of the type to determine if they are valid.
  5386. func (s *DeleteLagInput) Validate() error {
  5387. invalidParams := request.ErrInvalidParams{Context: "DeleteLagInput"}
  5388. if s.LagId == nil {
  5389. invalidParams.Add(request.NewErrParamRequired("LagId"))
  5390. }
  5391. if invalidParams.Len() > 0 {
  5392. return invalidParams
  5393. }
  5394. return nil
  5395. }
  5396. // SetLagId sets the LagId field's value.
  5397. func (s *DeleteLagInput) SetLagId(v string) *DeleteLagInput {
  5398. s.LagId = &v
  5399. return s
  5400. }
  5401. type DeleteVirtualInterfaceInput struct {
  5402. _ struct{} `type:"structure"`
  5403. // The ID of the virtual interface.
  5404. //
  5405. // VirtualInterfaceId is a required field
  5406. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  5407. }
  5408. // String returns the string representation
  5409. func (s DeleteVirtualInterfaceInput) String() string {
  5410. return awsutil.Prettify(s)
  5411. }
  5412. // GoString returns the string representation
  5413. func (s DeleteVirtualInterfaceInput) GoString() string {
  5414. return s.String()
  5415. }
  5416. // Validate inspects the fields of the type to determine if they are valid.
  5417. func (s *DeleteVirtualInterfaceInput) Validate() error {
  5418. invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualInterfaceInput"}
  5419. if s.VirtualInterfaceId == nil {
  5420. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  5421. }
  5422. if invalidParams.Len() > 0 {
  5423. return invalidParams
  5424. }
  5425. return nil
  5426. }
  5427. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  5428. func (s *DeleteVirtualInterfaceInput) SetVirtualInterfaceId(v string) *DeleteVirtualInterfaceInput {
  5429. s.VirtualInterfaceId = &v
  5430. return s
  5431. }
  5432. type DeleteVirtualInterfaceOutput struct {
  5433. _ struct{} `type:"structure"`
  5434. // The state of the virtual interface. The following are the possible values:
  5435. //
  5436. // * confirming: The creation of the virtual interface is pending confirmation
  5437. // from the virtual interface owner. If the owner of the virtual interface
  5438. // is different from the owner of the connection on which it is provisioned,
  5439. // then the virtual interface will remain in this state until it is confirmed
  5440. // by the virtual interface owner.
  5441. //
  5442. // * verifying: This state only applies to public virtual interfaces. Each
  5443. // public virtual interface needs validation before the virtual interface
  5444. // can be created.
  5445. //
  5446. // * pending: A virtual interface is in this state from the time that it
  5447. // is created until the virtual interface is ready to forward traffic.
  5448. //
  5449. // * available: A virtual interface that is able to forward traffic.
  5450. //
  5451. // * down: A virtual interface that is BGP down.
  5452. //
  5453. // * deleting: A virtual interface is in this state immediately after calling
  5454. // DeleteVirtualInterface until it can no longer forward traffic.
  5455. //
  5456. // * deleted: A virtual interface that cannot forward traffic.
  5457. //
  5458. // * rejected: The virtual interface owner has declined creation of the virtual
  5459. // interface. If a virtual interface in the Confirming state is deleted by
  5460. // the virtual interface owner, the virtual interface enters the Rejected
  5461. // state.
  5462. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  5463. }
  5464. // String returns the string representation
  5465. func (s DeleteVirtualInterfaceOutput) String() string {
  5466. return awsutil.Prettify(s)
  5467. }
  5468. // GoString returns the string representation
  5469. func (s DeleteVirtualInterfaceOutput) GoString() string {
  5470. return s.String()
  5471. }
  5472. // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  5473. func (s *DeleteVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *DeleteVirtualInterfaceOutput {
  5474. s.VirtualInterfaceState = &v
  5475. return s
  5476. }
  5477. type DescribeConnectionLoaInput struct {
  5478. _ struct{} `type:"structure"`
  5479. // The ID of the connection.
  5480. //
  5481. // ConnectionId is a required field
  5482. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5483. // The standard media type for the LOA-CFA document. The only supported value
  5484. // is application/pdf.
  5485. LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  5486. // The name of the APN partner or service provider who establishes connectivity
  5487. // on your behalf. If you specify this parameter, the LOA-CFA lists the provider
  5488. // name alongside your company name as the requester of the cross connect.
  5489. ProviderName *string `locationName:"providerName" type:"string"`
  5490. }
  5491. // String returns the string representation
  5492. func (s DescribeConnectionLoaInput) String() string {
  5493. return awsutil.Prettify(s)
  5494. }
  5495. // GoString returns the string representation
  5496. func (s DescribeConnectionLoaInput) GoString() string {
  5497. return s.String()
  5498. }
  5499. // Validate inspects the fields of the type to determine if they are valid.
  5500. func (s *DescribeConnectionLoaInput) Validate() error {
  5501. invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionLoaInput"}
  5502. if s.ConnectionId == nil {
  5503. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5504. }
  5505. if invalidParams.Len() > 0 {
  5506. return invalidParams
  5507. }
  5508. return nil
  5509. }
  5510. // SetConnectionId sets the ConnectionId field's value.
  5511. func (s *DescribeConnectionLoaInput) SetConnectionId(v string) *DescribeConnectionLoaInput {
  5512. s.ConnectionId = &v
  5513. return s
  5514. }
  5515. // SetLoaContentType sets the LoaContentType field's value.
  5516. func (s *DescribeConnectionLoaInput) SetLoaContentType(v string) *DescribeConnectionLoaInput {
  5517. s.LoaContentType = &v
  5518. return s
  5519. }
  5520. // SetProviderName sets the ProviderName field's value.
  5521. func (s *DescribeConnectionLoaInput) SetProviderName(v string) *DescribeConnectionLoaInput {
  5522. s.ProviderName = &v
  5523. return s
  5524. }
  5525. type DescribeConnectionLoaOutput struct {
  5526. _ struct{} `type:"structure"`
  5527. // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).
  5528. Loa *Loa `locationName:"loa" type:"structure"`
  5529. }
  5530. // String returns the string representation
  5531. func (s DescribeConnectionLoaOutput) String() string {
  5532. return awsutil.Prettify(s)
  5533. }
  5534. // GoString returns the string representation
  5535. func (s DescribeConnectionLoaOutput) GoString() string {
  5536. return s.String()
  5537. }
  5538. // SetLoa sets the Loa field's value.
  5539. func (s *DescribeConnectionLoaOutput) SetLoa(v *Loa) *DescribeConnectionLoaOutput {
  5540. s.Loa = v
  5541. return s
  5542. }
  5543. type DescribeConnectionsInput struct {
  5544. _ struct{} `type:"structure"`
  5545. // The ID of the connection.
  5546. ConnectionId *string `locationName:"connectionId" type:"string"`
  5547. }
  5548. // String returns the string representation
  5549. func (s DescribeConnectionsInput) String() string {
  5550. return awsutil.Prettify(s)
  5551. }
  5552. // GoString returns the string representation
  5553. func (s DescribeConnectionsInput) GoString() string {
  5554. return s.String()
  5555. }
  5556. // SetConnectionId sets the ConnectionId field's value.
  5557. func (s *DescribeConnectionsInput) SetConnectionId(v string) *DescribeConnectionsInput {
  5558. s.ConnectionId = &v
  5559. return s
  5560. }
  5561. type DescribeConnectionsOnInterconnectInput struct {
  5562. _ struct{} `type:"structure"`
  5563. // The ID of the interconnect.
  5564. //
  5565. // InterconnectId is a required field
  5566. InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  5567. }
  5568. // String returns the string representation
  5569. func (s DescribeConnectionsOnInterconnectInput) String() string {
  5570. return awsutil.Prettify(s)
  5571. }
  5572. // GoString returns the string representation
  5573. func (s DescribeConnectionsOnInterconnectInput) GoString() string {
  5574. return s.String()
  5575. }
  5576. // Validate inspects the fields of the type to determine if they are valid.
  5577. func (s *DescribeConnectionsOnInterconnectInput) Validate() error {
  5578. invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionsOnInterconnectInput"}
  5579. if s.InterconnectId == nil {
  5580. invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  5581. }
  5582. if invalidParams.Len() > 0 {
  5583. return invalidParams
  5584. }
  5585. return nil
  5586. }
  5587. // SetInterconnectId sets the InterconnectId field's value.
  5588. func (s *DescribeConnectionsOnInterconnectInput) SetInterconnectId(v string) *DescribeConnectionsOnInterconnectInput {
  5589. s.InterconnectId = &v
  5590. return s
  5591. }
  5592. type DescribeDirectConnectGatewayAssociationsInput struct {
  5593. _ struct{} `type:"structure"`
  5594. // The ID of the Direct Connect gateway.
  5595. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  5596. // The maximum number of associations to return per page.
  5597. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5598. // The token provided in the previous call to retrieve the next page.
  5599. NextToken *string `locationName:"nextToken" type:"string"`
  5600. // The ID of the virtual private gateway.
  5601. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  5602. }
  5603. // String returns the string representation
  5604. func (s DescribeDirectConnectGatewayAssociationsInput) String() string {
  5605. return awsutil.Prettify(s)
  5606. }
  5607. // GoString returns the string representation
  5608. func (s DescribeDirectConnectGatewayAssociationsInput) GoString() string {
  5609. return s.String()
  5610. }
  5611. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5612. func (s *DescribeDirectConnectGatewayAssociationsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  5613. s.DirectConnectGatewayId = &v
  5614. return s
  5615. }
  5616. // SetMaxResults sets the MaxResults field's value.
  5617. func (s *DescribeDirectConnectGatewayAssociationsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAssociationsInput {
  5618. s.MaxResults = &v
  5619. return s
  5620. }
  5621. // SetNextToken sets the NextToken field's value.
  5622. func (s *DescribeDirectConnectGatewayAssociationsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationsInput {
  5623. s.NextToken = &v
  5624. return s
  5625. }
  5626. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  5627. func (s *DescribeDirectConnectGatewayAssociationsInput) SetVirtualGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  5628. s.VirtualGatewayId = &v
  5629. return s
  5630. }
  5631. type DescribeDirectConnectGatewayAssociationsOutput struct {
  5632. _ struct{} `type:"structure"`
  5633. // The associations.
  5634. DirectConnectGatewayAssociations []*GatewayAssociation `locationName:"directConnectGatewayAssociations" type:"list"`
  5635. // The token to retrieve the next page.
  5636. NextToken *string `locationName:"nextToken" type:"string"`
  5637. }
  5638. // String returns the string representation
  5639. func (s DescribeDirectConnectGatewayAssociationsOutput) String() string {
  5640. return awsutil.Prettify(s)
  5641. }
  5642. // GoString returns the string representation
  5643. func (s DescribeDirectConnectGatewayAssociationsOutput) GoString() string {
  5644. return s.String()
  5645. }
  5646. // SetDirectConnectGatewayAssociations sets the DirectConnectGatewayAssociations field's value.
  5647. func (s *DescribeDirectConnectGatewayAssociationsOutput) SetDirectConnectGatewayAssociations(v []*GatewayAssociation) *DescribeDirectConnectGatewayAssociationsOutput {
  5648. s.DirectConnectGatewayAssociations = v
  5649. return s
  5650. }
  5651. // SetNextToken sets the NextToken field's value.
  5652. func (s *DescribeDirectConnectGatewayAssociationsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationsOutput {
  5653. s.NextToken = &v
  5654. return s
  5655. }
  5656. type DescribeDirectConnectGatewayAttachmentsInput struct {
  5657. _ struct{} `type:"structure"`
  5658. // The ID of the Direct Connect gateway.
  5659. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  5660. // The maximum number of attachments to return per page.
  5661. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5662. // The token provided in the previous call to retrieve the next page.
  5663. NextToken *string `locationName:"nextToken" type:"string"`
  5664. // The ID of the virtual interface.
  5665. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  5666. }
  5667. // String returns the string representation
  5668. func (s DescribeDirectConnectGatewayAttachmentsInput) String() string {
  5669. return awsutil.Prettify(s)
  5670. }
  5671. // GoString returns the string representation
  5672. func (s DescribeDirectConnectGatewayAttachmentsInput) GoString() string {
  5673. return s.String()
  5674. }
  5675. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5676. func (s *DescribeDirectConnectGatewayAttachmentsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  5677. s.DirectConnectGatewayId = &v
  5678. return s
  5679. }
  5680. // SetMaxResults sets the MaxResults field's value.
  5681. func (s *DescribeDirectConnectGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAttachmentsInput {
  5682. s.MaxResults = &v
  5683. return s
  5684. }
  5685. // SetNextToken sets the NextToken field's value.
  5686. func (s *DescribeDirectConnectGatewayAttachmentsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  5687. s.NextToken = &v
  5688. return s
  5689. }
  5690. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  5691. func (s *DescribeDirectConnectGatewayAttachmentsInput) SetVirtualInterfaceId(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  5692. s.VirtualInterfaceId = &v
  5693. return s
  5694. }
  5695. type DescribeDirectConnectGatewayAttachmentsOutput struct {
  5696. _ struct{} `type:"structure"`
  5697. // The attachments.
  5698. DirectConnectGatewayAttachments []*GatewayAttachment `locationName:"directConnectGatewayAttachments" type:"list"`
  5699. // The token to retrieve the next page.
  5700. NextToken *string `locationName:"nextToken" type:"string"`
  5701. }
  5702. // String returns the string representation
  5703. func (s DescribeDirectConnectGatewayAttachmentsOutput) String() string {
  5704. return awsutil.Prettify(s)
  5705. }
  5706. // GoString returns the string representation
  5707. func (s DescribeDirectConnectGatewayAttachmentsOutput) GoString() string {
  5708. return s.String()
  5709. }
  5710. // SetDirectConnectGatewayAttachments sets the DirectConnectGatewayAttachments field's value.
  5711. func (s *DescribeDirectConnectGatewayAttachmentsOutput) SetDirectConnectGatewayAttachments(v []*GatewayAttachment) *DescribeDirectConnectGatewayAttachmentsOutput {
  5712. s.DirectConnectGatewayAttachments = v
  5713. return s
  5714. }
  5715. // SetNextToken sets the NextToken field's value.
  5716. func (s *DescribeDirectConnectGatewayAttachmentsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAttachmentsOutput {
  5717. s.NextToken = &v
  5718. return s
  5719. }
  5720. type DescribeDirectConnectGatewaysInput struct {
  5721. _ struct{} `type:"structure"`
  5722. // The ID of the Direct Connect gateway.
  5723. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  5724. // The maximum number of Direct Connect gateways to return per page.
  5725. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5726. // The token provided in the previous call to retrieve the next page.
  5727. NextToken *string `locationName:"nextToken" type:"string"`
  5728. }
  5729. // String returns the string representation
  5730. func (s DescribeDirectConnectGatewaysInput) String() string {
  5731. return awsutil.Prettify(s)
  5732. }
  5733. // GoString returns the string representation
  5734. func (s DescribeDirectConnectGatewaysInput) GoString() string {
  5735. return s.String()
  5736. }
  5737. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5738. func (s *DescribeDirectConnectGatewaysInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewaysInput {
  5739. s.DirectConnectGatewayId = &v
  5740. return s
  5741. }
  5742. // SetMaxResults sets the MaxResults field's value.
  5743. func (s *DescribeDirectConnectGatewaysInput) SetMaxResults(v int64) *DescribeDirectConnectGatewaysInput {
  5744. s.MaxResults = &v
  5745. return s
  5746. }
  5747. // SetNextToken sets the NextToken field's value.
  5748. func (s *DescribeDirectConnectGatewaysInput) SetNextToken(v string) *DescribeDirectConnectGatewaysInput {
  5749. s.NextToken = &v
  5750. return s
  5751. }
  5752. type DescribeDirectConnectGatewaysOutput struct {
  5753. _ struct{} `type:"structure"`
  5754. // The Direct Connect gateways.
  5755. DirectConnectGateways []*Gateway `locationName:"directConnectGateways" type:"list"`
  5756. // The token to retrieve the next page.
  5757. NextToken *string `locationName:"nextToken" type:"string"`
  5758. }
  5759. // String returns the string representation
  5760. func (s DescribeDirectConnectGatewaysOutput) String() string {
  5761. return awsutil.Prettify(s)
  5762. }
  5763. // GoString returns the string representation
  5764. func (s DescribeDirectConnectGatewaysOutput) GoString() string {
  5765. return s.String()
  5766. }
  5767. // SetDirectConnectGateways sets the DirectConnectGateways field's value.
  5768. func (s *DescribeDirectConnectGatewaysOutput) SetDirectConnectGateways(v []*Gateway) *DescribeDirectConnectGatewaysOutput {
  5769. s.DirectConnectGateways = v
  5770. return s
  5771. }
  5772. // SetNextToken sets the NextToken field's value.
  5773. func (s *DescribeDirectConnectGatewaysOutput) SetNextToken(v string) *DescribeDirectConnectGatewaysOutput {
  5774. s.NextToken = &v
  5775. return s
  5776. }
  5777. type DescribeHostedConnectionsInput struct {
  5778. _ struct{} `type:"structure"`
  5779. // The ID of the interconnect or LAG.
  5780. //
  5781. // ConnectionId is a required field
  5782. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5783. }
  5784. // String returns the string representation
  5785. func (s DescribeHostedConnectionsInput) String() string {
  5786. return awsutil.Prettify(s)
  5787. }
  5788. // GoString returns the string representation
  5789. func (s DescribeHostedConnectionsInput) GoString() string {
  5790. return s.String()
  5791. }
  5792. // Validate inspects the fields of the type to determine if they are valid.
  5793. func (s *DescribeHostedConnectionsInput) Validate() error {
  5794. invalidParams := request.ErrInvalidParams{Context: "DescribeHostedConnectionsInput"}
  5795. if s.ConnectionId == nil {
  5796. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5797. }
  5798. if invalidParams.Len() > 0 {
  5799. return invalidParams
  5800. }
  5801. return nil
  5802. }
  5803. // SetConnectionId sets the ConnectionId field's value.
  5804. func (s *DescribeHostedConnectionsInput) SetConnectionId(v string) *DescribeHostedConnectionsInput {
  5805. s.ConnectionId = &v
  5806. return s
  5807. }
  5808. type DescribeInterconnectLoaInput struct {
  5809. _ struct{} `type:"structure"`
  5810. // The ID of the interconnect.
  5811. //
  5812. // InterconnectId is a required field
  5813. InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  5814. // The standard media type for the LOA-CFA document. The only supported value
  5815. // is application/pdf.
  5816. LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  5817. // The name of the service provider who establishes connectivity on your behalf.
  5818. // If you supply this parameter, the LOA-CFA lists the provider name alongside
  5819. // your company name as the requester of the cross connect.
  5820. ProviderName *string `locationName:"providerName" type:"string"`
  5821. }
  5822. // String returns the string representation
  5823. func (s DescribeInterconnectLoaInput) String() string {
  5824. return awsutil.Prettify(s)
  5825. }
  5826. // GoString returns the string representation
  5827. func (s DescribeInterconnectLoaInput) GoString() string {
  5828. return s.String()
  5829. }
  5830. // Validate inspects the fields of the type to determine if they are valid.
  5831. func (s *DescribeInterconnectLoaInput) Validate() error {
  5832. invalidParams := request.ErrInvalidParams{Context: "DescribeInterconnectLoaInput"}
  5833. if s.InterconnectId == nil {
  5834. invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  5835. }
  5836. if invalidParams.Len() > 0 {
  5837. return invalidParams
  5838. }
  5839. return nil
  5840. }
  5841. // SetInterconnectId sets the InterconnectId field's value.
  5842. func (s *DescribeInterconnectLoaInput) SetInterconnectId(v string) *DescribeInterconnectLoaInput {
  5843. s.InterconnectId = &v
  5844. return s
  5845. }
  5846. // SetLoaContentType sets the LoaContentType field's value.
  5847. func (s *DescribeInterconnectLoaInput) SetLoaContentType(v string) *DescribeInterconnectLoaInput {
  5848. s.LoaContentType = &v
  5849. return s
  5850. }
  5851. // SetProviderName sets the ProviderName field's value.
  5852. func (s *DescribeInterconnectLoaInput) SetProviderName(v string) *DescribeInterconnectLoaInput {
  5853. s.ProviderName = &v
  5854. return s
  5855. }
  5856. type DescribeInterconnectLoaOutput struct {
  5857. _ struct{} `type:"structure"`
  5858. // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).
  5859. Loa *Loa `locationName:"loa" type:"structure"`
  5860. }
  5861. // String returns the string representation
  5862. func (s DescribeInterconnectLoaOutput) String() string {
  5863. return awsutil.Prettify(s)
  5864. }
  5865. // GoString returns the string representation
  5866. func (s DescribeInterconnectLoaOutput) GoString() string {
  5867. return s.String()
  5868. }
  5869. // SetLoa sets the Loa field's value.
  5870. func (s *DescribeInterconnectLoaOutput) SetLoa(v *Loa) *DescribeInterconnectLoaOutput {
  5871. s.Loa = v
  5872. return s
  5873. }
  5874. type DescribeInterconnectsInput struct {
  5875. _ struct{} `type:"structure"`
  5876. // The ID of the interconnect.
  5877. InterconnectId *string `locationName:"interconnectId" type:"string"`
  5878. }
  5879. // String returns the string representation
  5880. func (s DescribeInterconnectsInput) String() string {
  5881. return awsutil.Prettify(s)
  5882. }
  5883. // GoString returns the string representation
  5884. func (s DescribeInterconnectsInput) GoString() string {
  5885. return s.String()
  5886. }
  5887. // SetInterconnectId sets the InterconnectId field's value.
  5888. func (s *DescribeInterconnectsInput) SetInterconnectId(v string) *DescribeInterconnectsInput {
  5889. s.InterconnectId = &v
  5890. return s
  5891. }
  5892. type DescribeInterconnectsOutput struct {
  5893. _ struct{} `type:"structure"`
  5894. // The interconnects.
  5895. Interconnects []*Interconnect `locationName:"interconnects" type:"list"`
  5896. }
  5897. // String returns the string representation
  5898. func (s DescribeInterconnectsOutput) String() string {
  5899. return awsutil.Prettify(s)
  5900. }
  5901. // GoString returns the string representation
  5902. func (s DescribeInterconnectsOutput) GoString() string {
  5903. return s.String()
  5904. }
  5905. // SetInterconnects sets the Interconnects field's value.
  5906. func (s *DescribeInterconnectsOutput) SetInterconnects(v []*Interconnect) *DescribeInterconnectsOutput {
  5907. s.Interconnects = v
  5908. return s
  5909. }
  5910. type DescribeLagsInput struct {
  5911. _ struct{} `type:"structure"`
  5912. // The ID of the LAG.
  5913. LagId *string `locationName:"lagId" type:"string"`
  5914. }
  5915. // String returns the string representation
  5916. func (s DescribeLagsInput) String() string {
  5917. return awsutil.Prettify(s)
  5918. }
  5919. // GoString returns the string representation
  5920. func (s DescribeLagsInput) GoString() string {
  5921. return s.String()
  5922. }
  5923. // SetLagId sets the LagId field's value.
  5924. func (s *DescribeLagsInput) SetLagId(v string) *DescribeLagsInput {
  5925. s.LagId = &v
  5926. return s
  5927. }
  5928. type DescribeLagsOutput struct {
  5929. _ struct{} `type:"structure"`
  5930. // The LAGs.
  5931. Lags []*Lag `locationName:"lags" type:"list"`
  5932. }
  5933. // String returns the string representation
  5934. func (s DescribeLagsOutput) String() string {
  5935. return awsutil.Prettify(s)
  5936. }
  5937. // GoString returns the string representation
  5938. func (s DescribeLagsOutput) GoString() string {
  5939. return s.String()
  5940. }
  5941. // SetLags sets the Lags field's value.
  5942. func (s *DescribeLagsOutput) SetLags(v []*Lag) *DescribeLagsOutput {
  5943. s.Lags = v
  5944. return s
  5945. }
  5946. type DescribeLoaInput struct {
  5947. _ struct{} `type:"structure"`
  5948. // The ID of a connection, LAG, or interconnect.
  5949. //
  5950. // ConnectionId is a required field
  5951. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5952. // The standard media type for the LOA-CFA document. The only supported value
  5953. // is application/pdf.
  5954. LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  5955. // The name of the service provider who establishes connectivity on your behalf.
  5956. // If you specify this parameter, the LOA-CFA lists the provider name alongside
  5957. // your company name as the requester of the cross connect.
  5958. ProviderName *string `locationName:"providerName" type:"string"`
  5959. }
  5960. // String returns the string representation
  5961. func (s DescribeLoaInput) String() string {
  5962. return awsutil.Prettify(s)
  5963. }
  5964. // GoString returns the string representation
  5965. func (s DescribeLoaInput) GoString() string {
  5966. return s.String()
  5967. }
  5968. // Validate inspects the fields of the type to determine if they are valid.
  5969. func (s *DescribeLoaInput) Validate() error {
  5970. invalidParams := request.ErrInvalidParams{Context: "DescribeLoaInput"}
  5971. if s.ConnectionId == nil {
  5972. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5973. }
  5974. if invalidParams.Len() > 0 {
  5975. return invalidParams
  5976. }
  5977. return nil
  5978. }
  5979. // SetConnectionId sets the ConnectionId field's value.
  5980. func (s *DescribeLoaInput) SetConnectionId(v string) *DescribeLoaInput {
  5981. s.ConnectionId = &v
  5982. return s
  5983. }
  5984. // SetLoaContentType sets the LoaContentType field's value.
  5985. func (s *DescribeLoaInput) SetLoaContentType(v string) *DescribeLoaInput {
  5986. s.LoaContentType = &v
  5987. return s
  5988. }
  5989. // SetProviderName sets the ProviderName field's value.
  5990. func (s *DescribeLoaInput) SetProviderName(v string) *DescribeLoaInput {
  5991. s.ProviderName = &v
  5992. return s
  5993. }
  5994. type DescribeLocationsInput struct {
  5995. _ struct{} `type:"structure"`
  5996. }
  5997. // String returns the string representation
  5998. func (s DescribeLocationsInput) String() string {
  5999. return awsutil.Prettify(s)
  6000. }
  6001. // GoString returns the string representation
  6002. func (s DescribeLocationsInput) GoString() string {
  6003. return s.String()
  6004. }
  6005. type DescribeLocationsOutput struct {
  6006. _ struct{} `type:"structure"`
  6007. // The locations.
  6008. Locations []*Location `locationName:"locations" type:"list"`
  6009. }
  6010. // String returns the string representation
  6011. func (s DescribeLocationsOutput) String() string {
  6012. return awsutil.Prettify(s)
  6013. }
  6014. // GoString returns the string representation
  6015. func (s DescribeLocationsOutput) GoString() string {
  6016. return s.String()
  6017. }
  6018. // SetLocations sets the Locations field's value.
  6019. func (s *DescribeLocationsOutput) SetLocations(v []*Location) *DescribeLocationsOutput {
  6020. s.Locations = v
  6021. return s
  6022. }
  6023. type DescribeTagsInput struct {
  6024. _ struct{} `type:"structure"`
  6025. // The Amazon Resource Names (ARNs) of the resources.
  6026. //
  6027. // ResourceArns is a required field
  6028. ResourceArns []*string `locationName:"resourceArns" type:"list" required:"true"`
  6029. }
  6030. // String returns the string representation
  6031. func (s DescribeTagsInput) String() string {
  6032. return awsutil.Prettify(s)
  6033. }
  6034. // GoString returns the string representation
  6035. func (s DescribeTagsInput) GoString() string {
  6036. return s.String()
  6037. }
  6038. // Validate inspects the fields of the type to determine if they are valid.
  6039. func (s *DescribeTagsInput) Validate() error {
  6040. invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
  6041. if s.ResourceArns == nil {
  6042. invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
  6043. }
  6044. if invalidParams.Len() > 0 {
  6045. return invalidParams
  6046. }
  6047. return nil
  6048. }
  6049. // SetResourceArns sets the ResourceArns field's value.
  6050. func (s *DescribeTagsInput) SetResourceArns(v []*string) *DescribeTagsInput {
  6051. s.ResourceArns = v
  6052. return s
  6053. }
  6054. type DescribeTagsOutput struct {
  6055. _ struct{} `type:"structure"`
  6056. // Information about the tags.
  6057. ResourceTags []*ResourceTag `locationName:"resourceTags" type:"list"`
  6058. }
  6059. // String returns the string representation
  6060. func (s DescribeTagsOutput) String() string {
  6061. return awsutil.Prettify(s)
  6062. }
  6063. // GoString returns the string representation
  6064. func (s DescribeTagsOutput) GoString() string {
  6065. return s.String()
  6066. }
  6067. // SetResourceTags sets the ResourceTags field's value.
  6068. func (s *DescribeTagsOutput) SetResourceTags(v []*ResourceTag) *DescribeTagsOutput {
  6069. s.ResourceTags = v
  6070. return s
  6071. }
  6072. type DescribeVirtualGatewaysInput struct {
  6073. _ struct{} `type:"structure"`
  6074. }
  6075. // String returns the string representation
  6076. func (s DescribeVirtualGatewaysInput) String() string {
  6077. return awsutil.Prettify(s)
  6078. }
  6079. // GoString returns the string representation
  6080. func (s DescribeVirtualGatewaysInput) GoString() string {
  6081. return s.String()
  6082. }
  6083. type DescribeVirtualGatewaysOutput struct {
  6084. _ struct{} `type:"structure"`
  6085. // The virtual private gateways.
  6086. VirtualGateways []*VirtualGateway `locationName:"virtualGateways" type:"list"`
  6087. }
  6088. // String returns the string representation
  6089. func (s DescribeVirtualGatewaysOutput) String() string {
  6090. return awsutil.Prettify(s)
  6091. }
  6092. // GoString returns the string representation
  6093. func (s DescribeVirtualGatewaysOutput) GoString() string {
  6094. return s.String()
  6095. }
  6096. // SetVirtualGateways sets the VirtualGateways field's value.
  6097. func (s *DescribeVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGateway) *DescribeVirtualGatewaysOutput {
  6098. s.VirtualGateways = v
  6099. return s
  6100. }
  6101. type DescribeVirtualInterfacesInput struct {
  6102. _ struct{} `type:"structure"`
  6103. // The ID of the connection.
  6104. ConnectionId *string `locationName:"connectionId" type:"string"`
  6105. // The ID of the virtual interface.
  6106. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  6107. }
  6108. // String returns the string representation
  6109. func (s DescribeVirtualInterfacesInput) String() string {
  6110. return awsutil.Prettify(s)
  6111. }
  6112. // GoString returns the string representation
  6113. func (s DescribeVirtualInterfacesInput) GoString() string {
  6114. return s.String()
  6115. }
  6116. // SetConnectionId sets the ConnectionId field's value.
  6117. func (s *DescribeVirtualInterfacesInput) SetConnectionId(v string) *DescribeVirtualInterfacesInput {
  6118. s.ConnectionId = &v
  6119. return s
  6120. }
  6121. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6122. func (s *DescribeVirtualInterfacesInput) SetVirtualInterfaceId(v string) *DescribeVirtualInterfacesInput {
  6123. s.VirtualInterfaceId = &v
  6124. return s
  6125. }
  6126. type DescribeVirtualInterfacesOutput struct {
  6127. _ struct{} `type:"structure"`
  6128. // The virtual interfaces
  6129. VirtualInterfaces []*VirtualInterface `locationName:"virtualInterfaces" type:"list"`
  6130. }
  6131. // String returns the string representation
  6132. func (s DescribeVirtualInterfacesOutput) String() string {
  6133. return awsutil.Prettify(s)
  6134. }
  6135. // GoString returns the string representation
  6136. func (s DescribeVirtualInterfacesOutput) GoString() string {
  6137. return s.String()
  6138. }
  6139. // SetVirtualInterfaces sets the VirtualInterfaces field's value.
  6140. func (s *DescribeVirtualInterfacesOutput) SetVirtualInterfaces(v []*VirtualInterface) *DescribeVirtualInterfacesOutput {
  6141. s.VirtualInterfaces = v
  6142. return s
  6143. }
  6144. type DisassociateConnectionFromLagInput struct {
  6145. _ struct{} `type:"structure"`
  6146. // The ID of the connection. For example, dxcon-abc123.
  6147. //
  6148. // ConnectionId is a required field
  6149. ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  6150. // The ID of the LAG. For example, dxlag-abc123.
  6151. //
  6152. // LagId is a required field
  6153. LagId *string `locationName:"lagId" type:"string" required:"true"`
  6154. }
  6155. // String returns the string representation
  6156. func (s DisassociateConnectionFromLagInput) String() string {
  6157. return awsutil.Prettify(s)
  6158. }
  6159. // GoString returns the string representation
  6160. func (s DisassociateConnectionFromLagInput) GoString() string {
  6161. return s.String()
  6162. }
  6163. // Validate inspects the fields of the type to determine if they are valid.
  6164. func (s *DisassociateConnectionFromLagInput) Validate() error {
  6165. invalidParams := request.ErrInvalidParams{Context: "DisassociateConnectionFromLagInput"}
  6166. if s.ConnectionId == nil {
  6167. invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6168. }
  6169. if s.LagId == nil {
  6170. invalidParams.Add(request.NewErrParamRequired("LagId"))
  6171. }
  6172. if invalidParams.Len() > 0 {
  6173. return invalidParams
  6174. }
  6175. return nil
  6176. }
  6177. // SetConnectionId sets the ConnectionId field's value.
  6178. func (s *DisassociateConnectionFromLagInput) SetConnectionId(v string) *DisassociateConnectionFromLagInput {
  6179. s.ConnectionId = &v
  6180. return s
  6181. }
  6182. // SetLagId sets the LagId field's value.
  6183. func (s *DisassociateConnectionFromLagInput) SetLagId(v string) *DisassociateConnectionFromLagInput {
  6184. s.LagId = &v
  6185. return s
  6186. }
  6187. // Information about a Direct Connect gateway, which enables you to connect
  6188. // virtual interfaces and virtual private gateways.
  6189. type Gateway struct {
  6190. _ struct{} `type:"structure"`
  6191. // The autonomous system number (ASN) for the Amazon side of the connection.
  6192. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  6193. // The ID of the Direct Connect gateway.
  6194. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  6195. // The name of the Direct Connect gateway.
  6196. DirectConnectGatewayName *string `locationName:"directConnectGatewayName" type:"string"`
  6197. // The state of the Direct Connect gateway. The following are the possible values:
  6198. //
  6199. // * pending: The initial state after calling CreateDirectConnectGateway.
  6200. //
  6201. // * available: The Direct Connect gateway is ready for use.
  6202. //
  6203. // * deleting: The initial state after calling DeleteDirectConnectGateway.
  6204. //
  6205. // * deleted: The Direct Connect gateway is deleted and cannot pass traffic.
  6206. DirectConnectGatewayState *string `locationName:"directConnectGatewayState" type:"string" enum:"GatewayState"`
  6207. // The ID of the AWS account that owns the Direct Connect gateway.
  6208. OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  6209. // The error message if the state of an object failed to advance.
  6210. StateChangeError *string `locationName:"stateChangeError" type:"string"`
  6211. }
  6212. // String returns the string representation
  6213. func (s Gateway) String() string {
  6214. return awsutil.Prettify(s)
  6215. }
  6216. // GoString returns the string representation
  6217. func (s Gateway) GoString() string {
  6218. return s.String()
  6219. }
  6220. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  6221. func (s *Gateway) SetAmazonSideAsn(v int64) *Gateway {
  6222. s.AmazonSideAsn = &v
  6223. return s
  6224. }
  6225. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6226. func (s *Gateway) SetDirectConnectGatewayId(v string) *Gateway {
  6227. s.DirectConnectGatewayId = &v
  6228. return s
  6229. }
  6230. // SetDirectConnectGatewayName sets the DirectConnectGatewayName field's value.
  6231. func (s *Gateway) SetDirectConnectGatewayName(v string) *Gateway {
  6232. s.DirectConnectGatewayName = &v
  6233. return s
  6234. }
  6235. // SetDirectConnectGatewayState sets the DirectConnectGatewayState field's value.
  6236. func (s *Gateway) SetDirectConnectGatewayState(v string) *Gateway {
  6237. s.DirectConnectGatewayState = &v
  6238. return s
  6239. }
  6240. // SetOwnerAccount sets the OwnerAccount field's value.
  6241. func (s *Gateway) SetOwnerAccount(v string) *Gateway {
  6242. s.OwnerAccount = &v
  6243. return s
  6244. }
  6245. // SetStateChangeError sets the StateChangeError field's value.
  6246. func (s *Gateway) SetStateChangeError(v string) *Gateway {
  6247. s.StateChangeError = &v
  6248. return s
  6249. }
  6250. // Information about an association between a Direct Connect gateway and a virtual
  6251. // private gateway.
  6252. type GatewayAssociation struct {
  6253. _ struct{} `type:"structure"`
  6254. // The state of the association. The following are the possible values:
  6255. //
  6256. // * associating: The initial state after calling CreateDirectConnectGatewayAssociation.
  6257. //
  6258. // * associated: The Direct Connect gateway and virtual private gateway are
  6259. // successfully associated and ready to pass traffic.
  6260. //
  6261. // * disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.
  6262. //
  6263. // * disassociated: The virtual private gateway is disassociated from the
  6264. // Direct Connect gateway. Traffic flow between the Direct Connect gateway
  6265. // and virtual private gateway is stopped.
  6266. AssociationState *string `locationName:"associationState" type:"string" enum:"GatewayAssociationState"`
  6267. // The ID of the Direct Connect gateway.
  6268. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  6269. // The error message if the state of an object failed to advance.
  6270. StateChangeError *string `locationName:"stateChangeError" type:"string"`
  6271. // The ID of the virtual private gateway. Applies only to private virtual interfaces.
  6272. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  6273. // The ID of the AWS account that owns the virtual private gateway.
  6274. VirtualGatewayOwnerAccount *string `locationName:"virtualGatewayOwnerAccount" type:"string"`
  6275. // The AWS Region where the virtual private gateway is located.
  6276. VirtualGatewayRegion *string `locationName:"virtualGatewayRegion" type:"string"`
  6277. }
  6278. // String returns the string representation
  6279. func (s GatewayAssociation) String() string {
  6280. return awsutil.Prettify(s)
  6281. }
  6282. // GoString returns the string representation
  6283. func (s GatewayAssociation) GoString() string {
  6284. return s.String()
  6285. }
  6286. // SetAssociationState sets the AssociationState field's value.
  6287. func (s *GatewayAssociation) SetAssociationState(v string) *GatewayAssociation {
  6288. s.AssociationState = &v
  6289. return s
  6290. }
  6291. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6292. func (s *GatewayAssociation) SetDirectConnectGatewayId(v string) *GatewayAssociation {
  6293. s.DirectConnectGatewayId = &v
  6294. return s
  6295. }
  6296. // SetStateChangeError sets the StateChangeError field's value.
  6297. func (s *GatewayAssociation) SetStateChangeError(v string) *GatewayAssociation {
  6298. s.StateChangeError = &v
  6299. return s
  6300. }
  6301. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  6302. func (s *GatewayAssociation) SetVirtualGatewayId(v string) *GatewayAssociation {
  6303. s.VirtualGatewayId = &v
  6304. return s
  6305. }
  6306. // SetVirtualGatewayOwnerAccount sets the VirtualGatewayOwnerAccount field's value.
  6307. func (s *GatewayAssociation) SetVirtualGatewayOwnerAccount(v string) *GatewayAssociation {
  6308. s.VirtualGatewayOwnerAccount = &v
  6309. return s
  6310. }
  6311. // SetVirtualGatewayRegion sets the VirtualGatewayRegion field's value.
  6312. func (s *GatewayAssociation) SetVirtualGatewayRegion(v string) *GatewayAssociation {
  6313. s.VirtualGatewayRegion = &v
  6314. return s
  6315. }
  6316. // Information about an attachment between a Direct Connect gateway and a virtual
  6317. // interface.
  6318. type GatewayAttachment struct {
  6319. _ struct{} `type:"structure"`
  6320. // The state of the attachment. The following are the possible values:
  6321. //
  6322. // * attaching: The initial state after a virtual interface is created using
  6323. // the Direct Connect gateway.
  6324. //
  6325. // * attached: The Direct Connect gateway and virtual interface are attached
  6326. // and ready to pass traffic.
  6327. //
  6328. // * detaching: The initial state after calling DeleteVirtualInterface.
  6329. //
  6330. // * detached: The virtual interface is detached from the Direct Connect
  6331. // gateway. Traffic flow between the Direct Connect gateway and virtual interface
  6332. // is stopped.
  6333. AttachmentState *string `locationName:"attachmentState" type:"string" enum:"GatewayAttachmentState"`
  6334. // The ID of the Direct Connect gateway.
  6335. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  6336. // The error message if the state of an object failed to advance.
  6337. StateChangeError *string `locationName:"stateChangeError" type:"string"`
  6338. // The ID of the virtual interface.
  6339. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  6340. // The ID of the AWS account that owns the virtual interface.
  6341. VirtualInterfaceOwnerAccount *string `locationName:"virtualInterfaceOwnerAccount" type:"string"`
  6342. // The AWS Region where the virtual interface is located.
  6343. VirtualInterfaceRegion *string `locationName:"virtualInterfaceRegion" type:"string"`
  6344. }
  6345. // String returns the string representation
  6346. func (s GatewayAttachment) String() string {
  6347. return awsutil.Prettify(s)
  6348. }
  6349. // GoString returns the string representation
  6350. func (s GatewayAttachment) GoString() string {
  6351. return s.String()
  6352. }
  6353. // SetAttachmentState sets the AttachmentState field's value.
  6354. func (s *GatewayAttachment) SetAttachmentState(v string) *GatewayAttachment {
  6355. s.AttachmentState = &v
  6356. return s
  6357. }
  6358. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6359. func (s *GatewayAttachment) SetDirectConnectGatewayId(v string) *GatewayAttachment {
  6360. s.DirectConnectGatewayId = &v
  6361. return s
  6362. }
  6363. // SetStateChangeError sets the StateChangeError field's value.
  6364. func (s *GatewayAttachment) SetStateChangeError(v string) *GatewayAttachment {
  6365. s.StateChangeError = &v
  6366. return s
  6367. }
  6368. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6369. func (s *GatewayAttachment) SetVirtualInterfaceId(v string) *GatewayAttachment {
  6370. s.VirtualInterfaceId = &v
  6371. return s
  6372. }
  6373. // SetVirtualInterfaceOwnerAccount sets the VirtualInterfaceOwnerAccount field's value.
  6374. func (s *GatewayAttachment) SetVirtualInterfaceOwnerAccount(v string) *GatewayAttachment {
  6375. s.VirtualInterfaceOwnerAccount = &v
  6376. return s
  6377. }
  6378. // SetVirtualInterfaceRegion sets the VirtualInterfaceRegion field's value.
  6379. func (s *GatewayAttachment) SetVirtualInterfaceRegion(v string) *GatewayAttachment {
  6380. s.VirtualInterfaceRegion = &v
  6381. return s
  6382. }
  6383. // Information about an interconnect.
  6384. type Interconnect struct {
  6385. _ struct{} `type:"structure"`
  6386. // The Direct Connect endpoint on which the physical connection terminates.
  6387. AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
  6388. // The Direct Connect endpoint on which the physical connection terminates.
  6389. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  6390. // The bandwidth of the connection.
  6391. Bandwidth *string `locationName:"bandwidth" type:"string"`
  6392. // Indicates whether the interconnect supports a secondary BGP in the same address
  6393. // family (IPv4/IPv6).
  6394. HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
  6395. // The ID of the interconnect.
  6396. InterconnectId *string `locationName:"interconnectId" type:"string"`
  6397. // The name of the interconnect.
  6398. InterconnectName *string `locationName:"interconnectName" type:"string"`
  6399. // The state of the interconnect. The following are the possible values:
  6400. //
  6401. // * requested: The initial state of an interconnect. The interconnect stays
  6402. // in the requested state until the Letter of Authorization (LOA) is sent
  6403. // to the customer.
  6404. //
  6405. // * pending: The interconnect is approved, and is being initialized.
  6406. //
  6407. // * available: The network link is up, and the interconnect is ready for
  6408. // use.
  6409. //
  6410. // * down: The network link is down.
  6411. //
  6412. // * deleting: The interconnect is being deleted.
  6413. //
  6414. // * deleted: The interconnect is deleted.
  6415. InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"`
  6416. // Indicates whether jumbo frames (9001 MTU) are supported.
  6417. JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  6418. // The ID of the LAG.
  6419. LagId *string `locationName:"lagId" type:"string"`
  6420. // The time of the most recent call to DescribeLoa for this connection.
  6421. LoaIssueTime *time.Time `locationName:"loaIssueTime" type:"timestamp"`
  6422. // The location of the connection.
  6423. Location *string `locationName:"location" type:"string"`
  6424. // The AWS Region where the connection is located.
  6425. Region *string `locationName:"region" type:"string"`
  6426. }
  6427. // String returns the string representation
  6428. func (s Interconnect) String() string {
  6429. return awsutil.Prettify(s)
  6430. }
  6431. // GoString returns the string representation
  6432. func (s Interconnect) GoString() string {
  6433. return s.String()
  6434. }
  6435. // SetAwsDevice sets the AwsDevice field's value.
  6436. func (s *Interconnect) SetAwsDevice(v string) *Interconnect {
  6437. s.AwsDevice = &v
  6438. return s
  6439. }
  6440. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  6441. func (s *Interconnect) SetAwsDeviceV2(v string) *Interconnect {
  6442. s.AwsDeviceV2 = &v
  6443. return s
  6444. }
  6445. // SetBandwidth sets the Bandwidth field's value.
  6446. func (s *Interconnect) SetBandwidth(v string) *Interconnect {
  6447. s.Bandwidth = &v
  6448. return s
  6449. }
  6450. // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
  6451. func (s *Interconnect) SetHasLogicalRedundancy(v string) *Interconnect {
  6452. s.HasLogicalRedundancy = &v
  6453. return s
  6454. }
  6455. // SetInterconnectId sets the InterconnectId field's value.
  6456. func (s *Interconnect) SetInterconnectId(v string) *Interconnect {
  6457. s.InterconnectId = &v
  6458. return s
  6459. }
  6460. // SetInterconnectName sets the InterconnectName field's value.
  6461. func (s *Interconnect) SetInterconnectName(v string) *Interconnect {
  6462. s.InterconnectName = &v
  6463. return s
  6464. }
  6465. // SetInterconnectState sets the InterconnectState field's value.
  6466. func (s *Interconnect) SetInterconnectState(v string) *Interconnect {
  6467. s.InterconnectState = &v
  6468. return s
  6469. }
  6470. // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  6471. func (s *Interconnect) SetJumboFrameCapable(v bool) *Interconnect {
  6472. s.JumboFrameCapable = &v
  6473. return s
  6474. }
  6475. // SetLagId sets the LagId field's value.
  6476. func (s *Interconnect) SetLagId(v string) *Interconnect {
  6477. s.LagId = &v
  6478. return s
  6479. }
  6480. // SetLoaIssueTime sets the LoaIssueTime field's value.
  6481. func (s *Interconnect) SetLoaIssueTime(v time.Time) *Interconnect {
  6482. s.LoaIssueTime = &v
  6483. return s
  6484. }
  6485. // SetLocation sets the Location field's value.
  6486. func (s *Interconnect) SetLocation(v string) *Interconnect {
  6487. s.Location = &v
  6488. return s
  6489. }
  6490. // SetRegion sets the Region field's value.
  6491. func (s *Interconnect) SetRegion(v string) *Interconnect {
  6492. s.Region = &v
  6493. return s
  6494. }
  6495. // Information about a link aggregation group (LAG).
  6496. type Lag struct {
  6497. _ struct{} `type:"structure"`
  6498. // Indicates whether the LAG can host other connections.
  6499. AllowsHostedConnections *bool `locationName:"allowsHostedConnections" type:"boolean"`
  6500. // The Direct Connect endpoint that hosts the LAG.
  6501. AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
  6502. // The Direct Connect endpoint that hosts the LAG.
  6503. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  6504. // The connections bundled by the LAG.
  6505. Connections []*Connection `locationName:"connections" type:"list"`
  6506. // The individual bandwidth of the physical connections bundled by the LAG.
  6507. // The possible values are 1Gbps and 10Gbps.
  6508. ConnectionsBandwidth *string `locationName:"connectionsBandwidth" type:"string"`
  6509. // Indicates whether the LAG supports a secondary BGP peer in the same address
  6510. // family (IPv4/IPv6).
  6511. HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
  6512. // Indicates whether jumbo frames (9001 MTU) are supported.
  6513. JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  6514. // The ID of the LAG.
  6515. LagId *string `locationName:"lagId" type:"string"`
  6516. // The name of the LAG.
  6517. LagName *string `locationName:"lagName" type:"string"`
  6518. // The state of the LAG. The following are the possible values:
  6519. //
  6520. // * requested: The initial state of a LAG. The LAG stays in the requested
  6521. // state until the Letter of Authorization (LOA) is available.
  6522. //
  6523. // * pending: The LAG has been approved and is being initialized.
  6524. //
  6525. // * available: The network link is established and the LAG is ready for
  6526. // use.
  6527. //
  6528. // * down: The network link is down.
  6529. //
  6530. // * deleting: The LAG is being deleted.
  6531. //
  6532. // * deleted: The LAG is deleted.
  6533. LagState *string `locationName:"lagState" type:"string" enum:"LagState"`
  6534. // The location of the LAG.
  6535. Location *string `locationName:"location" type:"string"`
  6536. // The minimum number of physical connections that must be operational for the
  6537. // LAG itself to be operational.
  6538. MinimumLinks *int64 `locationName:"minimumLinks" type:"integer"`
  6539. // The number of physical connections bundled by the LAG, up to a maximum of
  6540. // 10.
  6541. NumberOfConnections *int64 `locationName:"numberOfConnections" type:"integer"`
  6542. // The ID of the AWS account that owns the LAG.
  6543. OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  6544. // The AWS Region where the connection is located.
  6545. Region *string `locationName:"region" type:"string"`
  6546. }
  6547. // String returns the string representation
  6548. func (s Lag) String() string {
  6549. return awsutil.Prettify(s)
  6550. }
  6551. // GoString returns the string representation
  6552. func (s Lag) GoString() string {
  6553. return s.String()
  6554. }
  6555. // SetAllowsHostedConnections sets the AllowsHostedConnections field's value.
  6556. func (s *Lag) SetAllowsHostedConnections(v bool) *Lag {
  6557. s.AllowsHostedConnections = &v
  6558. return s
  6559. }
  6560. // SetAwsDevice sets the AwsDevice field's value.
  6561. func (s *Lag) SetAwsDevice(v string) *Lag {
  6562. s.AwsDevice = &v
  6563. return s
  6564. }
  6565. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  6566. func (s *Lag) SetAwsDeviceV2(v string) *Lag {
  6567. s.AwsDeviceV2 = &v
  6568. return s
  6569. }
  6570. // SetConnections sets the Connections field's value.
  6571. func (s *Lag) SetConnections(v []*Connection) *Lag {
  6572. s.Connections = v
  6573. return s
  6574. }
  6575. // SetConnectionsBandwidth sets the ConnectionsBandwidth field's value.
  6576. func (s *Lag) SetConnectionsBandwidth(v string) *Lag {
  6577. s.ConnectionsBandwidth = &v
  6578. return s
  6579. }
  6580. // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
  6581. func (s *Lag) SetHasLogicalRedundancy(v string) *Lag {
  6582. s.HasLogicalRedundancy = &v
  6583. return s
  6584. }
  6585. // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  6586. func (s *Lag) SetJumboFrameCapable(v bool) *Lag {
  6587. s.JumboFrameCapable = &v
  6588. return s
  6589. }
  6590. // SetLagId sets the LagId field's value.
  6591. func (s *Lag) SetLagId(v string) *Lag {
  6592. s.LagId = &v
  6593. return s
  6594. }
  6595. // SetLagName sets the LagName field's value.
  6596. func (s *Lag) SetLagName(v string) *Lag {
  6597. s.LagName = &v
  6598. return s
  6599. }
  6600. // SetLagState sets the LagState field's value.
  6601. func (s *Lag) SetLagState(v string) *Lag {
  6602. s.LagState = &v
  6603. return s
  6604. }
  6605. // SetLocation sets the Location field's value.
  6606. func (s *Lag) SetLocation(v string) *Lag {
  6607. s.Location = &v
  6608. return s
  6609. }
  6610. // SetMinimumLinks sets the MinimumLinks field's value.
  6611. func (s *Lag) SetMinimumLinks(v int64) *Lag {
  6612. s.MinimumLinks = &v
  6613. return s
  6614. }
  6615. // SetNumberOfConnections sets the NumberOfConnections field's value.
  6616. func (s *Lag) SetNumberOfConnections(v int64) *Lag {
  6617. s.NumberOfConnections = &v
  6618. return s
  6619. }
  6620. // SetOwnerAccount sets the OwnerAccount field's value.
  6621. func (s *Lag) SetOwnerAccount(v string) *Lag {
  6622. s.OwnerAccount = &v
  6623. return s
  6624. }
  6625. // SetRegion sets the Region field's value.
  6626. func (s *Lag) SetRegion(v string) *Lag {
  6627. s.Region = &v
  6628. return s
  6629. }
  6630. // Information about a Letter of Authorization - Connecting Facility Assignment
  6631. // (LOA-CFA) for a connection.
  6632. type Loa struct {
  6633. _ struct{} `type:"structure"`
  6634. // The binary contents of the LOA-CFA document.
  6635. //
  6636. // LoaContent is automatically base64 encoded/decoded by the SDK.
  6637. LoaContent []byte `locationName:"loaContent" type:"blob"`
  6638. // The standard media type for the LOA-CFA document. The only supported value
  6639. // is application/pdf.
  6640. LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  6641. }
  6642. // String returns the string representation
  6643. func (s Loa) String() string {
  6644. return awsutil.Prettify(s)
  6645. }
  6646. // GoString returns the string representation
  6647. func (s Loa) GoString() string {
  6648. return s.String()
  6649. }
  6650. // SetLoaContent sets the LoaContent field's value.
  6651. func (s *Loa) SetLoaContent(v []byte) *Loa {
  6652. s.LoaContent = v
  6653. return s
  6654. }
  6655. // SetLoaContentType sets the LoaContentType field's value.
  6656. func (s *Loa) SetLoaContentType(v string) *Loa {
  6657. s.LoaContentType = &v
  6658. return s
  6659. }
  6660. // Information about an AWS Direct Connect location.
  6661. type Location struct {
  6662. _ struct{} `type:"structure"`
  6663. // The code for the location.
  6664. LocationCode *string `locationName:"locationCode" type:"string"`
  6665. // The name of the location. This includes the name of the colocation partner
  6666. // and the physical site of the building.
  6667. LocationName *string `locationName:"locationName" type:"string"`
  6668. // The AWS Region for the location.
  6669. Region *string `locationName:"region" type:"string"`
  6670. }
  6671. // String returns the string representation
  6672. func (s Location) String() string {
  6673. return awsutil.Prettify(s)
  6674. }
  6675. // GoString returns the string representation
  6676. func (s Location) GoString() string {
  6677. return s.String()
  6678. }
  6679. // SetLocationCode sets the LocationCode field's value.
  6680. func (s *Location) SetLocationCode(v string) *Location {
  6681. s.LocationCode = &v
  6682. return s
  6683. }
  6684. // SetLocationName sets the LocationName field's value.
  6685. func (s *Location) SetLocationName(v string) *Location {
  6686. s.LocationName = &v
  6687. return s
  6688. }
  6689. // SetRegion sets the Region field's value.
  6690. func (s *Location) SetRegion(v string) *Location {
  6691. s.Region = &v
  6692. return s
  6693. }
  6694. // Information about a new BGP peer.
  6695. type NewBGPPeer struct {
  6696. _ struct{} `type:"structure"`
  6697. // The address family for the BGP peer.
  6698. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  6699. // The IP address assigned to the Amazon interface.
  6700. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  6701. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  6702. Asn *int64 `locationName:"asn" type:"integer"`
  6703. // The authentication key for BGP configuration.
  6704. AuthKey *string `locationName:"authKey" type:"string"`
  6705. // The IP address assigned to the customer interface.
  6706. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  6707. }
  6708. // String returns the string representation
  6709. func (s NewBGPPeer) String() string {
  6710. return awsutil.Prettify(s)
  6711. }
  6712. // GoString returns the string representation
  6713. func (s NewBGPPeer) GoString() string {
  6714. return s.String()
  6715. }
  6716. // SetAddressFamily sets the AddressFamily field's value.
  6717. func (s *NewBGPPeer) SetAddressFamily(v string) *NewBGPPeer {
  6718. s.AddressFamily = &v
  6719. return s
  6720. }
  6721. // SetAmazonAddress sets the AmazonAddress field's value.
  6722. func (s *NewBGPPeer) SetAmazonAddress(v string) *NewBGPPeer {
  6723. s.AmazonAddress = &v
  6724. return s
  6725. }
  6726. // SetAsn sets the Asn field's value.
  6727. func (s *NewBGPPeer) SetAsn(v int64) *NewBGPPeer {
  6728. s.Asn = &v
  6729. return s
  6730. }
  6731. // SetAuthKey sets the AuthKey field's value.
  6732. func (s *NewBGPPeer) SetAuthKey(v string) *NewBGPPeer {
  6733. s.AuthKey = &v
  6734. return s
  6735. }
  6736. // SetCustomerAddress sets the CustomerAddress field's value.
  6737. func (s *NewBGPPeer) SetCustomerAddress(v string) *NewBGPPeer {
  6738. s.CustomerAddress = &v
  6739. return s
  6740. }
  6741. // Information about a private virtual interface.
  6742. type NewPrivateVirtualInterface struct {
  6743. _ struct{} `type:"structure"`
  6744. // The address family for the BGP peer.
  6745. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  6746. // The IP address assigned to the Amazon interface.
  6747. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  6748. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  6749. //
  6750. // Asn is a required field
  6751. Asn *int64 `locationName:"asn" type:"integer" required:"true"`
  6752. // The authentication key for BGP configuration.
  6753. AuthKey *string `locationName:"authKey" type:"string"`
  6754. // The IP address assigned to the customer interface.
  6755. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  6756. // The ID of the Direct Connect gateway.
  6757. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  6758. // The maximum transmission unit (MTU), in bytes. The supported values are 1500
  6759. // and 9001. The default value is 1500.
  6760. Mtu *int64 `locationName:"mtu" type:"integer"`
  6761. // The ID of the virtual private gateway.
  6762. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  6763. // The name of the virtual interface assigned by the customer network.
  6764. //
  6765. // VirtualInterfaceName is a required field
  6766. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
  6767. // The ID of the VLAN.
  6768. //
  6769. // Vlan is a required field
  6770. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  6771. }
  6772. // String returns the string representation
  6773. func (s NewPrivateVirtualInterface) String() string {
  6774. return awsutil.Prettify(s)
  6775. }
  6776. // GoString returns the string representation
  6777. func (s NewPrivateVirtualInterface) GoString() string {
  6778. return s.String()
  6779. }
  6780. // Validate inspects the fields of the type to determine if they are valid.
  6781. func (s *NewPrivateVirtualInterface) Validate() error {
  6782. invalidParams := request.ErrInvalidParams{Context: "NewPrivateVirtualInterface"}
  6783. if s.Asn == nil {
  6784. invalidParams.Add(request.NewErrParamRequired("Asn"))
  6785. }
  6786. if s.VirtualInterfaceName == nil {
  6787. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
  6788. }
  6789. if s.Vlan == nil {
  6790. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  6791. }
  6792. if invalidParams.Len() > 0 {
  6793. return invalidParams
  6794. }
  6795. return nil
  6796. }
  6797. // SetAddressFamily sets the AddressFamily field's value.
  6798. func (s *NewPrivateVirtualInterface) SetAddressFamily(v string) *NewPrivateVirtualInterface {
  6799. s.AddressFamily = &v
  6800. return s
  6801. }
  6802. // SetAmazonAddress sets the AmazonAddress field's value.
  6803. func (s *NewPrivateVirtualInterface) SetAmazonAddress(v string) *NewPrivateVirtualInterface {
  6804. s.AmazonAddress = &v
  6805. return s
  6806. }
  6807. // SetAsn sets the Asn field's value.
  6808. func (s *NewPrivateVirtualInterface) SetAsn(v int64) *NewPrivateVirtualInterface {
  6809. s.Asn = &v
  6810. return s
  6811. }
  6812. // SetAuthKey sets the AuthKey field's value.
  6813. func (s *NewPrivateVirtualInterface) SetAuthKey(v string) *NewPrivateVirtualInterface {
  6814. s.AuthKey = &v
  6815. return s
  6816. }
  6817. // SetCustomerAddress sets the CustomerAddress field's value.
  6818. func (s *NewPrivateVirtualInterface) SetCustomerAddress(v string) *NewPrivateVirtualInterface {
  6819. s.CustomerAddress = &v
  6820. return s
  6821. }
  6822. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6823. func (s *NewPrivateVirtualInterface) SetDirectConnectGatewayId(v string) *NewPrivateVirtualInterface {
  6824. s.DirectConnectGatewayId = &v
  6825. return s
  6826. }
  6827. // SetMtu sets the Mtu field's value.
  6828. func (s *NewPrivateVirtualInterface) SetMtu(v int64) *NewPrivateVirtualInterface {
  6829. s.Mtu = &v
  6830. return s
  6831. }
  6832. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  6833. func (s *NewPrivateVirtualInterface) SetVirtualGatewayId(v string) *NewPrivateVirtualInterface {
  6834. s.VirtualGatewayId = &v
  6835. return s
  6836. }
  6837. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  6838. func (s *NewPrivateVirtualInterface) SetVirtualInterfaceName(v string) *NewPrivateVirtualInterface {
  6839. s.VirtualInterfaceName = &v
  6840. return s
  6841. }
  6842. // SetVlan sets the Vlan field's value.
  6843. func (s *NewPrivateVirtualInterface) SetVlan(v int64) *NewPrivateVirtualInterface {
  6844. s.Vlan = &v
  6845. return s
  6846. }
  6847. // Information about a private virtual interface to be provisioned on a connection.
  6848. type NewPrivateVirtualInterfaceAllocation struct {
  6849. _ struct{} `type:"structure"`
  6850. // The address family for the BGP peer.
  6851. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  6852. // The IP address assigned to the Amazon interface.
  6853. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  6854. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  6855. //
  6856. // Asn is a required field
  6857. Asn *int64 `locationName:"asn" type:"integer" required:"true"`
  6858. // The authentication key for BGP configuration.
  6859. AuthKey *string `locationName:"authKey" type:"string"`
  6860. // The IP address assigned to the customer interface.
  6861. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  6862. // The maximum transmission unit (MTU), in bytes. The supported values are 1500
  6863. // and 9001. The default value is 1500.
  6864. Mtu *int64 `locationName:"mtu" type:"integer"`
  6865. // The name of the virtual interface assigned by the customer network.
  6866. //
  6867. // VirtualInterfaceName is a required field
  6868. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
  6869. // The ID of the VLAN.
  6870. //
  6871. // Vlan is a required field
  6872. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  6873. }
  6874. // String returns the string representation
  6875. func (s NewPrivateVirtualInterfaceAllocation) String() string {
  6876. return awsutil.Prettify(s)
  6877. }
  6878. // GoString returns the string representation
  6879. func (s NewPrivateVirtualInterfaceAllocation) GoString() string {
  6880. return s.String()
  6881. }
  6882. // Validate inspects the fields of the type to determine if they are valid.
  6883. func (s *NewPrivateVirtualInterfaceAllocation) Validate() error {
  6884. invalidParams := request.ErrInvalidParams{Context: "NewPrivateVirtualInterfaceAllocation"}
  6885. if s.Asn == nil {
  6886. invalidParams.Add(request.NewErrParamRequired("Asn"))
  6887. }
  6888. if s.VirtualInterfaceName == nil {
  6889. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
  6890. }
  6891. if s.Vlan == nil {
  6892. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  6893. }
  6894. if invalidParams.Len() > 0 {
  6895. return invalidParams
  6896. }
  6897. return nil
  6898. }
  6899. // SetAddressFamily sets the AddressFamily field's value.
  6900. func (s *NewPrivateVirtualInterfaceAllocation) SetAddressFamily(v string) *NewPrivateVirtualInterfaceAllocation {
  6901. s.AddressFamily = &v
  6902. return s
  6903. }
  6904. // SetAmazonAddress sets the AmazonAddress field's value.
  6905. func (s *NewPrivateVirtualInterfaceAllocation) SetAmazonAddress(v string) *NewPrivateVirtualInterfaceAllocation {
  6906. s.AmazonAddress = &v
  6907. return s
  6908. }
  6909. // SetAsn sets the Asn field's value.
  6910. func (s *NewPrivateVirtualInterfaceAllocation) SetAsn(v int64) *NewPrivateVirtualInterfaceAllocation {
  6911. s.Asn = &v
  6912. return s
  6913. }
  6914. // SetAuthKey sets the AuthKey field's value.
  6915. func (s *NewPrivateVirtualInterfaceAllocation) SetAuthKey(v string) *NewPrivateVirtualInterfaceAllocation {
  6916. s.AuthKey = &v
  6917. return s
  6918. }
  6919. // SetCustomerAddress sets the CustomerAddress field's value.
  6920. func (s *NewPrivateVirtualInterfaceAllocation) SetCustomerAddress(v string) *NewPrivateVirtualInterfaceAllocation {
  6921. s.CustomerAddress = &v
  6922. return s
  6923. }
  6924. // SetMtu sets the Mtu field's value.
  6925. func (s *NewPrivateVirtualInterfaceAllocation) SetMtu(v int64) *NewPrivateVirtualInterfaceAllocation {
  6926. s.Mtu = &v
  6927. return s
  6928. }
  6929. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  6930. func (s *NewPrivateVirtualInterfaceAllocation) SetVirtualInterfaceName(v string) *NewPrivateVirtualInterfaceAllocation {
  6931. s.VirtualInterfaceName = &v
  6932. return s
  6933. }
  6934. // SetVlan sets the Vlan field's value.
  6935. func (s *NewPrivateVirtualInterfaceAllocation) SetVlan(v int64) *NewPrivateVirtualInterfaceAllocation {
  6936. s.Vlan = &v
  6937. return s
  6938. }
  6939. // Information about a public virtual interface.
  6940. type NewPublicVirtualInterface struct {
  6941. _ struct{} `type:"structure"`
  6942. // The address family for the BGP peer.
  6943. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  6944. // The IP address assigned to the Amazon interface.
  6945. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  6946. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  6947. //
  6948. // Asn is a required field
  6949. Asn *int64 `locationName:"asn" type:"integer" required:"true"`
  6950. // The authentication key for BGP configuration.
  6951. AuthKey *string `locationName:"authKey" type:"string"`
  6952. // The IP address assigned to the customer interface.
  6953. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  6954. // The routes to be advertised to the AWS network in this Region. Applies to
  6955. // public virtual interfaces.
  6956. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
  6957. // The name of the virtual interface assigned by the customer network.
  6958. //
  6959. // VirtualInterfaceName is a required field
  6960. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
  6961. // The ID of the VLAN.
  6962. //
  6963. // Vlan is a required field
  6964. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  6965. }
  6966. // String returns the string representation
  6967. func (s NewPublicVirtualInterface) String() string {
  6968. return awsutil.Prettify(s)
  6969. }
  6970. // GoString returns the string representation
  6971. func (s NewPublicVirtualInterface) GoString() string {
  6972. return s.String()
  6973. }
  6974. // Validate inspects the fields of the type to determine if they are valid.
  6975. func (s *NewPublicVirtualInterface) Validate() error {
  6976. invalidParams := request.ErrInvalidParams{Context: "NewPublicVirtualInterface"}
  6977. if s.Asn == nil {
  6978. invalidParams.Add(request.NewErrParamRequired("Asn"))
  6979. }
  6980. if s.VirtualInterfaceName == nil {
  6981. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
  6982. }
  6983. if s.Vlan == nil {
  6984. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  6985. }
  6986. if invalidParams.Len() > 0 {
  6987. return invalidParams
  6988. }
  6989. return nil
  6990. }
  6991. // SetAddressFamily sets the AddressFamily field's value.
  6992. func (s *NewPublicVirtualInterface) SetAddressFamily(v string) *NewPublicVirtualInterface {
  6993. s.AddressFamily = &v
  6994. return s
  6995. }
  6996. // SetAmazonAddress sets the AmazonAddress field's value.
  6997. func (s *NewPublicVirtualInterface) SetAmazonAddress(v string) *NewPublicVirtualInterface {
  6998. s.AmazonAddress = &v
  6999. return s
  7000. }
  7001. // SetAsn sets the Asn field's value.
  7002. func (s *NewPublicVirtualInterface) SetAsn(v int64) *NewPublicVirtualInterface {
  7003. s.Asn = &v
  7004. return s
  7005. }
  7006. // SetAuthKey sets the AuthKey field's value.
  7007. func (s *NewPublicVirtualInterface) SetAuthKey(v string) *NewPublicVirtualInterface {
  7008. s.AuthKey = &v
  7009. return s
  7010. }
  7011. // SetCustomerAddress sets the CustomerAddress field's value.
  7012. func (s *NewPublicVirtualInterface) SetCustomerAddress(v string) *NewPublicVirtualInterface {
  7013. s.CustomerAddress = &v
  7014. return s
  7015. }
  7016. // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
  7017. func (s *NewPublicVirtualInterface) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *NewPublicVirtualInterface {
  7018. s.RouteFilterPrefixes = v
  7019. return s
  7020. }
  7021. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  7022. func (s *NewPublicVirtualInterface) SetVirtualInterfaceName(v string) *NewPublicVirtualInterface {
  7023. s.VirtualInterfaceName = &v
  7024. return s
  7025. }
  7026. // SetVlan sets the Vlan field's value.
  7027. func (s *NewPublicVirtualInterface) SetVlan(v int64) *NewPublicVirtualInterface {
  7028. s.Vlan = &v
  7029. return s
  7030. }
  7031. // Information about a public virtual interface to be provisioned on a connection.
  7032. type NewPublicVirtualInterfaceAllocation struct {
  7033. _ struct{} `type:"structure"`
  7034. // The address family for the BGP peer.
  7035. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  7036. // The IP address assigned to the Amazon interface.
  7037. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  7038. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  7039. //
  7040. // Asn is a required field
  7041. Asn *int64 `locationName:"asn" type:"integer" required:"true"`
  7042. // The authentication key for BGP configuration.
  7043. AuthKey *string `locationName:"authKey" type:"string"`
  7044. // The IP address assigned to the customer interface.
  7045. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  7046. // The routes to be advertised to the AWS network in this Region. Applies to
  7047. // public virtual interfaces.
  7048. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
  7049. // The name of the virtual interface assigned by the customer network.
  7050. //
  7051. // VirtualInterfaceName is a required field
  7052. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
  7053. // The ID of the VLAN.
  7054. //
  7055. // Vlan is a required field
  7056. Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  7057. }
  7058. // String returns the string representation
  7059. func (s NewPublicVirtualInterfaceAllocation) String() string {
  7060. return awsutil.Prettify(s)
  7061. }
  7062. // GoString returns the string representation
  7063. func (s NewPublicVirtualInterfaceAllocation) GoString() string {
  7064. return s.String()
  7065. }
  7066. // Validate inspects the fields of the type to determine if they are valid.
  7067. func (s *NewPublicVirtualInterfaceAllocation) Validate() error {
  7068. invalidParams := request.ErrInvalidParams{Context: "NewPublicVirtualInterfaceAllocation"}
  7069. if s.Asn == nil {
  7070. invalidParams.Add(request.NewErrParamRequired("Asn"))
  7071. }
  7072. if s.VirtualInterfaceName == nil {
  7073. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
  7074. }
  7075. if s.Vlan == nil {
  7076. invalidParams.Add(request.NewErrParamRequired("Vlan"))
  7077. }
  7078. if invalidParams.Len() > 0 {
  7079. return invalidParams
  7080. }
  7081. return nil
  7082. }
  7083. // SetAddressFamily sets the AddressFamily field's value.
  7084. func (s *NewPublicVirtualInterfaceAllocation) SetAddressFamily(v string) *NewPublicVirtualInterfaceAllocation {
  7085. s.AddressFamily = &v
  7086. return s
  7087. }
  7088. // SetAmazonAddress sets the AmazonAddress field's value.
  7089. func (s *NewPublicVirtualInterfaceAllocation) SetAmazonAddress(v string) *NewPublicVirtualInterfaceAllocation {
  7090. s.AmazonAddress = &v
  7091. return s
  7092. }
  7093. // SetAsn sets the Asn field's value.
  7094. func (s *NewPublicVirtualInterfaceAllocation) SetAsn(v int64) *NewPublicVirtualInterfaceAllocation {
  7095. s.Asn = &v
  7096. return s
  7097. }
  7098. // SetAuthKey sets the AuthKey field's value.
  7099. func (s *NewPublicVirtualInterfaceAllocation) SetAuthKey(v string) *NewPublicVirtualInterfaceAllocation {
  7100. s.AuthKey = &v
  7101. return s
  7102. }
  7103. // SetCustomerAddress sets the CustomerAddress field's value.
  7104. func (s *NewPublicVirtualInterfaceAllocation) SetCustomerAddress(v string) *NewPublicVirtualInterfaceAllocation {
  7105. s.CustomerAddress = &v
  7106. return s
  7107. }
  7108. // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
  7109. func (s *NewPublicVirtualInterfaceAllocation) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *NewPublicVirtualInterfaceAllocation {
  7110. s.RouteFilterPrefixes = v
  7111. return s
  7112. }
  7113. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  7114. func (s *NewPublicVirtualInterfaceAllocation) SetVirtualInterfaceName(v string) *NewPublicVirtualInterfaceAllocation {
  7115. s.VirtualInterfaceName = &v
  7116. return s
  7117. }
  7118. // SetVlan sets the Vlan field's value.
  7119. func (s *NewPublicVirtualInterfaceAllocation) SetVlan(v int64) *NewPublicVirtualInterfaceAllocation {
  7120. s.Vlan = &v
  7121. return s
  7122. }
  7123. // Information about a tag associated with an AWS Direct Connect resource.
  7124. type ResourceTag struct {
  7125. _ struct{} `type:"structure"`
  7126. // The Amazon Resource Name (ARN) of the resource.
  7127. ResourceArn *string `locationName:"resourceArn" type:"string"`
  7128. // The tags.
  7129. Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  7130. }
  7131. // String returns the string representation
  7132. func (s ResourceTag) String() string {
  7133. return awsutil.Prettify(s)
  7134. }
  7135. // GoString returns the string representation
  7136. func (s ResourceTag) GoString() string {
  7137. return s.String()
  7138. }
  7139. // SetResourceArn sets the ResourceArn field's value.
  7140. func (s *ResourceTag) SetResourceArn(v string) *ResourceTag {
  7141. s.ResourceArn = &v
  7142. return s
  7143. }
  7144. // SetTags sets the Tags field's value.
  7145. func (s *ResourceTag) SetTags(v []*Tag) *ResourceTag {
  7146. s.Tags = v
  7147. return s
  7148. }
  7149. // Information about a route filter prefix that a customer can advertise through
  7150. // Border Gateway Protocol (BGP) over a public virtual interface.
  7151. type RouteFilterPrefix struct {
  7152. _ struct{} `type:"structure"`
  7153. // The CIDR block for the advertised route. Separate multiple routes using commas.
  7154. // An IPv6 CIDR must use /64 or shorter.
  7155. Cidr *string `locationName:"cidr" type:"string"`
  7156. }
  7157. // String returns the string representation
  7158. func (s RouteFilterPrefix) String() string {
  7159. return awsutil.Prettify(s)
  7160. }
  7161. // GoString returns the string representation
  7162. func (s RouteFilterPrefix) GoString() string {
  7163. return s.String()
  7164. }
  7165. // SetCidr sets the Cidr field's value.
  7166. func (s *RouteFilterPrefix) SetCidr(v string) *RouteFilterPrefix {
  7167. s.Cidr = &v
  7168. return s
  7169. }
  7170. // Information about a tag.
  7171. type Tag struct {
  7172. _ struct{} `type:"structure"`
  7173. // The key.
  7174. //
  7175. // Key is a required field
  7176. Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  7177. // The value.
  7178. Value *string `locationName:"value" type:"string"`
  7179. }
  7180. // String returns the string representation
  7181. func (s Tag) String() string {
  7182. return awsutil.Prettify(s)
  7183. }
  7184. // GoString returns the string representation
  7185. func (s Tag) GoString() string {
  7186. return s.String()
  7187. }
  7188. // Validate inspects the fields of the type to determine if they are valid.
  7189. func (s *Tag) Validate() error {
  7190. invalidParams := request.ErrInvalidParams{Context: "Tag"}
  7191. if s.Key == nil {
  7192. invalidParams.Add(request.NewErrParamRequired("Key"))
  7193. }
  7194. if s.Key != nil && len(*s.Key) < 1 {
  7195. invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  7196. }
  7197. if invalidParams.Len() > 0 {
  7198. return invalidParams
  7199. }
  7200. return nil
  7201. }
  7202. // SetKey sets the Key field's value.
  7203. func (s *Tag) SetKey(v string) *Tag {
  7204. s.Key = &v
  7205. return s
  7206. }
  7207. // SetValue sets the Value field's value.
  7208. func (s *Tag) SetValue(v string) *Tag {
  7209. s.Value = &v
  7210. return s
  7211. }
  7212. type TagResourceInput struct {
  7213. _ struct{} `type:"structure"`
  7214. // The Amazon Resource Name (ARN) of the resource.
  7215. //
  7216. // ResourceArn is a required field
  7217. ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  7218. // The tags to add.
  7219. //
  7220. // Tags is a required field
  7221. Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"`
  7222. }
  7223. // String returns the string representation
  7224. func (s TagResourceInput) String() string {
  7225. return awsutil.Prettify(s)
  7226. }
  7227. // GoString returns the string representation
  7228. func (s TagResourceInput) GoString() string {
  7229. return s.String()
  7230. }
  7231. // Validate inspects the fields of the type to determine if they are valid.
  7232. func (s *TagResourceInput) Validate() error {
  7233. invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  7234. if s.ResourceArn == nil {
  7235. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7236. }
  7237. if s.Tags == nil {
  7238. invalidParams.Add(request.NewErrParamRequired("Tags"))
  7239. }
  7240. if s.Tags != nil && len(s.Tags) < 1 {
  7241. invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7242. }
  7243. if s.Tags != nil {
  7244. for i, v := range s.Tags {
  7245. if v == nil {
  7246. continue
  7247. }
  7248. if err := v.Validate(); err != nil {
  7249. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7250. }
  7251. }
  7252. }
  7253. if invalidParams.Len() > 0 {
  7254. return invalidParams
  7255. }
  7256. return nil
  7257. }
  7258. // SetResourceArn sets the ResourceArn field's value.
  7259. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  7260. s.ResourceArn = &v
  7261. return s
  7262. }
  7263. // SetTags sets the Tags field's value.
  7264. func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  7265. s.Tags = v
  7266. return s
  7267. }
  7268. type TagResourceOutput struct {
  7269. _ struct{} `type:"structure"`
  7270. }
  7271. // String returns the string representation
  7272. func (s TagResourceOutput) String() string {
  7273. return awsutil.Prettify(s)
  7274. }
  7275. // GoString returns the string representation
  7276. func (s TagResourceOutput) GoString() string {
  7277. return s.String()
  7278. }
  7279. type UntagResourceInput struct {
  7280. _ struct{} `type:"structure"`
  7281. // The Amazon Resource Name (ARN) of the resource.
  7282. //
  7283. // ResourceArn is a required field
  7284. ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  7285. // The tag keys of the tags to remove.
  7286. //
  7287. // TagKeys is a required field
  7288. TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
  7289. }
  7290. // String returns the string representation
  7291. func (s UntagResourceInput) String() string {
  7292. return awsutil.Prettify(s)
  7293. }
  7294. // GoString returns the string representation
  7295. func (s UntagResourceInput) GoString() string {
  7296. return s.String()
  7297. }
  7298. // Validate inspects the fields of the type to determine if they are valid.
  7299. func (s *UntagResourceInput) Validate() error {
  7300. invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  7301. if s.ResourceArn == nil {
  7302. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7303. }
  7304. if s.TagKeys == nil {
  7305. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  7306. }
  7307. if invalidParams.Len() > 0 {
  7308. return invalidParams
  7309. }
  7310. return nil
  7311. }
  7312. // SetResourceArn sets the ResourceArn field's value.
  7313. func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  7314. s.ResourceArn = &v
  7315. return s
  7316. }
  7317. // SetTagKeys sets the TagKeys field's value.
  7318. func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  7319. s.TagKeys = v
  7320. return s
  7321. }
  7322. type UntagResourceOutput struct {
  7323. _ struct{} `type:"structure"`
  7324. }
  7325. // String returns the string representation
  7326. func (s UntagResourceOutput) String() string {
  7327. return awsutil.Prettify(s)
  7328. }
  7329. // GoString returns the string representation
  7330. func (s UntagResourceOutput) GoString() string {
  7331. return s.String()
  7332. }
  7333. type UpdateLagInput struct {
  7334. _ struct{} `type:"structure"`
  7335. // The ID of the LAG.
  7336. //
  7337. // LagId is a required field
  7338. LagId *string `locationName:"lagId" type:"string" required:"true"`
  7339. // The name of the LAG.
  7340. LagName *string `locationName:"lagName" type:"string"`
  7341. // The minimum number of physical connections that must be operational for the
  7342. // LAG itself to be operational.
  7343. MinimumLinks *int64 `locationName:"minimumLinks" type:"integer"`
  7344. }
  7345. // String returns the string representation
  7346. func (s UpdateLagInput) String() string {
  7347. return awsutil.Prettify(s)
  7348. }
  7349. // GoString returns the string representation
  7350. func (s UpdateLagInput) GoString() string {
  7351. return s.String()
  7352. }
  7353. // Validate inspects the fields of the type to determine if they are valid.
  7354. func (s *UpdateLagInput) Validate() error {
  7355. invalidParams := request.ErrInvalidParams{Context: "UpdateLagInput"}
  7356. if s.LagId == nil {
  7357. invalidParams.Add(request.NewErrParamRequired("LagId"))
  7358. }
  7359. if invalidParams.Len() > 0 {
  7360. return invalidParams
  7361. }
  7362. return nil
  7363. }
  7364. // SetLagId sets the LagId field's value.
  7365. func (s *UpdateLagInput) SetLagId(v string) *UpdateLagInput {
  7366. s.LagId = &v
  7367. return s
  7368. }
  7369. // SetLagName sets the LagName field's value.
  7370. func (s *UpdateLagInput) SetLagName(v string) *UpdateLagInput {
  7371. s.LagName = &v
  7372. return s
  7373. }
  7374. // SetMinimumLinks sets the MinimumLinks field's value.
  7375. func (s *UpdateLagInput) SetMinimumLinks(v int64) *UpdateLagInput {
  7376. s.MinimumLinks = &v
  7377. return s
  7378. }
  7379. type UpdateVirtualInterfaceAttributesInput struct {
  7380. _ struct{} `type:"structure"`
  7381. // The maximum transmission unit (MTU), in bytes. The supported values are 1500
  7382. // and 9001. The default value is 1500.
  7383. Mtu *int64 `locationName:"mtu" type:"integer"`
  7384. // The ID of the virtual private interface.
  7385. //
  7386. // VirtualInterfaceId is a required field
  7387. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  7388. }
  7389. // String returns the string representation
  7390. func (s UpdateVirtualInterfaceAttributesInput) String() string {
  7391. return awsutil.Prettify(s)
  7392. }
  7393. // GoString returns the string representation
  7394. func (s UpdateVirtualInterfaceAttributesInput) GoString() string {
  7395. return s.String()
  7396. }
  7397. // Validate inspects the fields of the type to determine if they are valid.
  7398. func (s *UpdateVirtualInterfaceAttributesInput) Validate() error {
  7399. invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualInterfaceAttributesInput"}
  7400. if s.VirtualInterfaceId == nil {
  7401. invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  7402. }
  7403. if invalidParams.Len() > 0 {
  7404. return invalidParams
  7405. }
  7406. return nil
  7407. }
  7408. // SetMtu sets the Mtu field's value.
  7409. func (s *UpdateVirtualInterfaceAttributesInput) SetMtu(v int64) *UpdateVirtualInterfaceAttributesInput {
  7410. s.Mtu = &v
  7411. return s
  7412. }
  7413. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  7414. func (s *UpdateVirtualInterfaceAttributesInput) SetVirtualInterfaceId(v string) *UpdateVirtualInterfaceAttributesInput {
  7415. s.VirtualInterfaceId = &v
  7416. return s
  7417. }
  7418. // Information about a virtual interface.
  7419. type UpdateVirtualInterfaceAttributesOutput struct {
  7420. _ struct{} `type:"structure"`
  7421. // The address family for the BGP peer.
  7422. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  7423. // The IP address assigned to the Amazon interface.
  7424. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  7425. // The autonomous system number (ASN) for the Amazon side of the connection.
  7426. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  7427. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  7428. Asn *int64 `locationName:"asn" type:"integer"`
  7429. // The authentication key for BGP configuration.
  7430. AuthKey *string `locationName:"authKey" type:"string"`
  7431. // The Direct Connect endpoint on which the virtual interface terminates.
  7432. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  7433. // The BGP peers configured on this virtual interface.
  7434. BgpPeers []*BGPPeer `locationName:"bgpPeers" type:"list"`
  7435. // The ID of the connection.
  7436. ConnectionId *string `locationName:"connectionId" type:"string"`
  7437. // The IP address assigned to the customer interface.
  7438. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  7439. // The customer router configuration.
  7440. CustomerRouterConfig *string `locationName:"customerRouterConfig" type:"string"`
  7441. // The ID of the Direct Connect gateway.
  7442. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  7443. // Indicates whether jumbo frames (9001 MTU) are supported.
  7444. JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  7445. // The location of the connection.
  7446. Location *string `locationName:"location" type:"string"`
  7447. // The maximum transmission unit (MTU), in bytes. The supported values are 1500
  7448. // and 9001. The default value is 1500.
  7449. Mtu *int64 `locationName:"mtu" type:"integer"`
  7450. // The ID of the AWS account that owns the virtual interface.
  7451. OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  7452. // The AWS Region where the virtual interface is located.
  7453. Region *string `locationName:"region" type:"string"`
  7454. // The routes to be advertised to the AWS network in this Region. Applies to
  7455. // public virtual interfaces.
  7456. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
  7457. // The ID of the virtual private gateway. Applies only to private virtual interfaces.
  7458. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  7459. // The ID of the virtual interface.
  7460. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  7461. // The name of the virtual interface assigned by the customer network.
  7462. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
  7463. // The state of the virtual interface. The following are the possible values:
  7464. //
  7465. // * confirming: The creation of the virtual interface is pending confirmation
  7466. // from the virtual interface owner. If the owner of the virtual interface
  7467. // is different from the owner of the connection on which it is provisioned,
  7468. // then the virtual interface will remain in this state until it is confirmed
  7469. // by the virtual interface owner.
  7470. //
  7471. // * verifying: This state only applies to public virtual interfaces. Each
  7472. // public virtual interface needs validation before the virtual interface
  7473. // can be created.
  7474. //
  7475. // * pending: A virtual interface is in this state from the time that it
  7476. // is created until the virtual interface is ready to forward traffic.
  7477. //
  7478. // * available: A virtual interface that is able to forward traffic.
  7479. //
  7480. // * down: A virtual interface that is BGP down.
  7481. //
  7482. // * deleting: A virtual interface is in this state immediately after calling
  7483. // DeleteVirtualInterface until it can no longer forward traffic.
  7484. //
  7485. // * deleted: A virtual interface that cannot forward traffic.
  7486. //
  7487. // * rejected: The virtual interface owner has declined creation of the virtual
  7488. // interface. If a virtual interface in the Confirming state is deleted by
  7489. // the virtual interface owner, the virtual interface enters the Rejected
  7490. // state.
  7491. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  7492. // The type of virtual interface. The possible values are private and public.
  7493. VirtualInterfaceType *string `locationName:"virtualInterfaceType" type:"string"`
  7494. // The ID of the VLAN.
  7495. Vlan *int64 `locationName:"vlan" type:"integer"`
  7496. }
  7497. // String returns the string representation
  7498. func (s UpdateVirtualInterfaceAttributesOutput) String() string {
  7499. return awsutil.Prettify(s)
  7500. }
  7501. // GoString returns the string representation
  7502. func (s UpdateVirtualInterfaceAttributesOutput) GoString() string {
  7503. return s.String()
  7504. }
  7505. // SetAddressFamily sets the AddressFamily field's value.
  7506. func (s *UpdateVirtualInterfaceAttributesOutput) SetAddressFamily(v string) *UpdateVirtualInterfaceAttributesOutput {
  7507. s.AddressFamily = &v
  7508. return s
  7509. }
  7510. // SetAmazonAddress sets the AmazonAddress field's value.
  7511. func (s *UpdateVirtualInterfaceAttributesOutput) SetAmazonAddress(v string) *UpdateVirtualInterfaceAttributesOutput {
  7512. s.AmazonAddress = &v
  7513. return s
  7514. }
  7515. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  7516. func (s *UpdateVirtualInterfaceAttributesOutput) SetAmazonSideAsn(v int64) *UpdateVirtualInterfaceAttributesOutput {
  7517. s.AmazonSideAsn = &v
  7518. return s
  7519. }
  7520. // SetAsn sets the Asn field's value.
  7521. func (s *UpdateVirtualInterfaceAttributesOutput) SetAsn(v int64) *UpdateVirtualInterfaceAttributesOutput {
  7522. s.Asn = &v
  7523. return s
  7524. }
  7525. // SetAuthKey sets the AuthKey field's value.
  7526. func (s *UpdateVirtualInterfaceAttributesOutput) SetAuthKey(v string) *UpdateVirtualInterfaceAttributesOutput {
  7527. s.AuthKey = &v
  7528. return s
  7529. }
  7530. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  7531. func (s *UpdateVirtualInterfaceAttributesOutput) SetAwsDeviceV2(v string) *UpdateVirtualInterfaceAttributesOutput {
  7532. s.AwsDeviceV2 = &v
  7533. return s
  7534. }
  7535. // SetBgpPeers sets the BgpPeers field's value.
  7536. func (s *UpdateVirtualInterfaceAttributesOutput) SetBgpPeers(v []*BGPPeer) *UpdateVirtualInterfaceAttributesOutput {
  7537. s.BgpPeers = v
  7538. return s
  7539. }
  7540. // SetConnectionId sets the ConnectionId field's value.
  7541. func (s *UpdateVirtualInterfaceAttributesOutput) SetConnectionId(v string) *UpdateVirtualInterfaceAttributesOutput {
  7542. s.ConnectionId = &v
  7543. return s
  7544. }
  7545. // SetCustomerAddress sets the CustomerAddress field's value.
  7546. func (s *UpdateVirtualInterfaceAttributesOutput) SetCustomerAddress(v string) *UpdateVirtualInterfaceAttributesOutput {
  7547. s.CustomerAddress = &v
  7548. return s
  7549. }
  7550. // SetCustomerRouterConfig sets the CustomerRouterConfig field's value.
  7551. func (s *UpdateVirtualInterfaceAttributesOutput) SetCustomerRouterConfig(v string) *UpdateVirtualInterfaceAttributesOutput {
  7552. s.CustomerRouterConfig = &v
  7553. return s
  7554. }
  7555. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  7556. func (s *UpdateVirtualInterfaceAttributesOutput) SetDirectConnectGatewayId(v string) *UpdateVirtualInterfaceAttributesOutput {
  7557. s.DirectConnectGatewayId = &v
  7558. return s
  7559. }
  7560. // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  7561. func (s *UpdateVirtualInterfaceAttributesOutput) SetJumboFrameCapable(v bool) *UpdateVirtualInterfaceAttributesOutput {
  7562. s.JumboFrameCapable = &v
  7563. return s
  7564. }
  7565. // SetLocation sets the Location field's value.
  7566. func (s *UpdateVirtualInterfaceAttributesOutput) SetLocation(v string) *UpdateVirtualInterfaceAttributesOutput {
  7567. s.Location = &v
  7568. return s
  7569. }
  7570. // SetMtu sets the Mtu field's value.
  7571. func (s *UpdateVirtualInterfaceAttributesOutput) SetMtu(v int64) *UpdateVirtualInterfaceAttributesOutput {
  7572. s.Mtu = &v
  7573. return s
  7574. }
  7575. // SetOwnerAccount sets the OwnerAccount field's value.
  7576. func (s *UpdateVirtualInterfaceAttributesOutput) SetOwnerAccount(v string) *UpdateVirtualInterfaceAttributesOutput {
  7577. s.OwnerAccount = &v
  7578. return s
  7579. }
  7580. // SetRegion sets the Region field's value.
  7581. func (s *UpdateVirtualInterfaceAttributesOutput) SetRegion(v string) *UpdateVirtualInterfaceAttributesOutput {
  7582. s.Region = &v
  7583. return s
  7584. }
  7585. // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
  7586. func (s *UpdateVirtualInterfaceAttributesOutput) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *UpdateVirtualInterfaceAttributesOutput {
  7587. s.RouteFilterPrefixes = v
  7588. return s
  7589. }
  7590. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  7591. func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualGatewayId(v string) *UpdateVirtualInterfaceAttributesOutput {
  7592. s.VirtualGatewayId = &v
  7593. return s
  7594. }
  7595. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  7596. func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceId(v string) *UpdateVirtualInterfaceAttributesOutput {
  7597. s.VirtualInterfaceId = &v
  7598. return s
  7599. }
  7600. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  7601. func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceName(v string) *UpdateVirtualInterfaceAttributesOutput {
  7602. s.VirtualInterfaceName = &v
  7603. return s
  7604. }
  7605. // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  7606. func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceState(v string) *UpdateVirtualInterfaceAttributesOutput {
  7607. s.VirtualInterfaceState = &v
  7608. return s
  7609. }
  7610. // SetVirtualInterfaceType sets the VirtualInterfaceType field's value.
  7611. func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceType(v string) *UpdateVirtualInterfaceAttributesOutput {
  7612. s.VirtualInterfaceType = &v
  7613. return s
  7614. }
  7615. // SetVlan sets the Vlan field's value.
  7616. func (s *UpdateVirtualInterfaceAttributesOutput) SetVlan(v int64) *UpdateVirtualInterfaceAttributesOutput {
  7617. s.Vlan = &v
  7618. return s
  7619. }
  7620. // Information about a virtual private gateway for a private virtual interface.
  7621. type VirtualGateway struct {
  7622. _ struct{} `type:"structure"`
  7623. // The ID of the virtual private gateway.
  7624. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  7625. // The state of the virtual private gateway. The following are the possible
  7626. // values:
  7627. //
  7628. // * pending: Initial state after creating the virtual private gateway.
  7629. //
  7630. // * available: Ready for use by a private virtual interface.
  7631. //
  7632. // * deleting: Initial state after deleting the virtual private gateway.
  7633. //
  7634. // * deleted: The virtual private gateway is deleted. The private virtual
  7635. // interface is unable to send traffic over this gateway.
  7636. VirtualGatewayState *string `locationName:"virtualGatewayState" type:"string"`
  7637. }
  7638. // String returns the string representation
  7639. func (s VirtualGateway) String() string {
  7640. return awsutil.Prettify(s)
  7641. }
  7642. // GoString returns the string representation
  7643. func (s VirtualGateway) GoString() string {
  7644. return s.String()
  7645. }
  7646. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  7647. func (s *VirtualGateway) SetVirtualGatewayId(v string) *VirtualGateway {
  7648. s.VirtualGatewayId = &v
  7649. return s
  7650. }
  7651. // SetVirtualGatewayState sets the VirtualGatewayState field's value.
  7652. func (s *VirtualGateway) SetVirtualGatewayState(v string) *VirtualGateway {
  7653. s.VirtualGatewayState = &v
  7654. return s
  7655. }
  7656. // Information about a virtual interface.
  7657. type VirtualInterface struct {
  7658. _ struct{} `type:"structure"`
  7659. // The address family for the BGP peer.
  7660. AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  7661. // The IP address assigned to the Amazon interface.
  7662. AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  7663. // The autonomous system number (ASN) for the Amazon side of the connection.
  7664. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  7665. // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  7666. Asn *int64 `locationName:"asn" type:"integer"`
  7667. // The authentication key for BGP configuration.
  7668. AuthKey *string `locationName:"authKey" type:"string"`
  7669. // The Direct Connect endpoint on which the virtual interface terminates.
  7670. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  7671. // The BGP peers configured on this virtual interface.
  7672. BgpPeers []*BGPPeer `locationName:"bgpPeers" type:"list"`
  7673. // The ID of the connection.
  7674. ConnectionId *string `locationName:"connectionId" type:"string"`
  7675. // The IP address assigned to the customer interface.
  7676. CustomerAddress *string `locationName:"customerAddress" type:"string"`
  7677. // The customer router configuration.
  7678. CustomerRouterConfig *string `locationName:"customerRouterConfig" type:"string"`
  7679. // The ID of the Direct Connect gateway.
  7680. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  7681. // Indicates whether jumbo frames (9001 MTU) are supported.
  7682. JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  7683. // The location of the connection.
  7684. Location *string `locationName:"location" type:"string"`
  7685. // The maximum transmission unit (MTU), in bytes. The supported values are 1500
  7686. // and 9001. The default value is 1500.
  7687. Mtu *int64 `locationName:"mtu" type:"integer"`
  7688. // The ID of the AWS account that owns the virtual interface.
  7689. OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  7690. // The AWS Region where the virtual interface is located.
  7691. Region *string `locationName:"region" type:"string"`
  7692. // The routes to be advertised to the AWS network in this Region. Applies to
  7693. // public virtual interfaces.
  7694. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
  7695. // The ID of the virtual private gateway. Applies only to private virtual interfaces.
  7696. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  7697. // The ID of the virtual interface.
  7698. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  7699. // The name of the virtual interface assigned by the customer network.
  7700. VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
  7701. // The state of the virtual interface. The following are the possible values:
  7702. //
  7703. // * confirming: The creation of the virtual interface is pending confirmation
  7704. // from the virtual interface owner. If the owner of the virtual interface
  7705. // is different from the owner of the connection on which it is provisioned,
  7706. // then the virtual interface will remain in this state until it is confirmed
  7707. // by the virtual interface owner.
  7708. //
  7709. // * verifying: This state only applies to public virtual interfaces. Each
  7710. // public virtual interface needs validation before the virtual interface
  7711. // can be created.
  7712. //
  7713. // * pending: A virtual interface is in this state from the time that it
  7714. // is created until the virtual interface is ready to forward traffic.
  7715. //
  7716. // * available: A virtual interface that is able to forward traffic.
  7717. //
  7718. // * down: A virtual interface that is BGP down.
  7719. //
  7720. // * deleting: A virtual interface is in this state immediately after calling
  7721. // DeleteVirtualInterface until it can no longer forward traffic.
  7722. //
  7723. // * deleted: A virtual interface that cannot forward traffic.
  7724. //
  7725. // * rejected: The virtual interface owner has declined creation of the virtual
  7726. // interface. If a virtual interface in the Confirming state is deleted by
  7727. // the virtual interface owner, the virtual interface enters the Rejected
  7728. // state.
  7729. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  7730. // The type of virtual interface. The possible values are private and public.
  7731. VirtualInterfaceType *string `locationName:"virtualInterfaceType" type:"string"`
  7732. // The ID of the VLAN.
  7733. Vlan *int64 `locationName:"vlan" type:"integer"`
  7734. }
  7735. // String returns the string representation
  7736. func (s VirtualInterface) String() string {
  7737. return awsutil.Prettify(s)
  7738. }
  7739. // GoString returns the string representation
  7740. func (s VirtualInterface) GoString() string {
  7741. return s.String()
  7742. }
  7743. // SetAddressFamily sets the AddressFamily field's value.
  7744. func (s *VirtualInterface) SetAddressFamily(v string) *VirtualInterface {
  7745. s.AddressFamily = &v
  7746. return s
  7747. }
  7748. // SetAmazonAddress sets the AmazonAddress field's value.
  7749. func (s *VirtualInterface) SetAmazonAddress(v string) *VirtualInterface {
  7750. s.AmazonAddress = &v
  7751. return s
  7752. }
  7753. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  7754. func (s *VirtualInterface) SetAmazonSideAsn(v int64) *VirtualInterface {
  7755. s.AmazonSideAsn = &v
  7756. return s
  7757. }
  7758. // SetAsn sets the Asn field's value.
  7759. func (s *VirtualInterface) SetAsn(v int64) *VirtualInterface {
  7760. s.Asn = &v
  7761. return s
  7762. }
  7763. // SetAuthKey sets the AuthKey field's value.
  7764. func (s *VirtualInterface) SetAuthKey(v string) *VirtualInterface {
  7765. s.AuthKey = &v
  7766. return s
  7767. }
  7768. // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  7769. func (s *VirtualInterface) SetAwsDeviceV2(v string) *VirtualInterface {
  7770. s.AwsDeviceV2 = &v
  7771. return s
  7772. }
  7773. // SetBgpPeers sets the BgpPeers field's value.
  7774. func (s *VirtualInterface) SetBgpPeers(v []*BGPPeer) *VirtualInterface {
  7775. s.BgpPeers = v
  7776. return s
  7777. }
  7778. // SetConnectionId sets the ConnectionId field's value.
  7779. func (s *VirtualInterface) SetConnectionId(v string) *VirtualInterface {
  7780. s.ConnectionId = &v
  7781. return s
  7782. }
  7783. // SetCustomerAddress sets the CustomerAddress field's value.
  7784. func (s *VirtualInterface) SetCustomerAddress(v string) *VirtualInterface {
  7785. s.CustomerAddress = &v
  7786. return s
  7787. }
  7788. // SetCustomerRouterConfig sets the CustomerRouterConfig field's value.
  7789. func (s *VirtualInterface) SetCustomerRouterConfig(v string) *VirtualInterface {
  7790. s.CustomerRouterConfig = &v
  7791. return s
  7792. }
  7793. // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  7794. func (s *VirtualInterface) SetDirectConnectGatewayId(v string) *VirtualInterface {
  7795. s.DirectConnectGatewayId = &v
  7796. return s
  7797. }
  7798. // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  7799. func (s *VirtualInterface) SetJumboFrameCapable(v bool) *VirtualInterface {
  7800. s.JumboFrameCapable = &v
  7801. return s
  7802. }
  7803. // SetLocation sets the Location field's value.
  7804. func (s *VirtualInterface) SetLocation(v string) *VirtualInterface {
  7805. s.Location = &v
  7806. return s
  7807. }
  7808. // SetMtu sets the Mtu field's value.
  7809. func (s *VirtualInterface) SetMtu(v int64) *VirtualInterface {
  7810. s.Mtu = &v
  7811. return s
  7812. }
  7813. // SetOwnerAccount sets the OwnerAccount field's value.
  7814. func (s *VirtualInterface) SetOwnerAccount(v string) *VirtualInterface {
  7815. s.OwnerAccount = &v
  7816. return s
  7817. }
  7818. // SetRegion sets the Region field's value.
  7819. func (s *VirtualInterface) SetRegion(v string) *VirtualInterface {
  7820. s.Region = &v
  7821. return s
  7822. }
  7823. // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
  7824. func (s *VirtualInterface) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *VirtualInterface {
  7825. s.RouteFilterPrefixes = v
  7826. return s
  7827. }
  7828. // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  7829. func (s *VirtualInterface) SetVirtualGatewayId(v string) *VirtualInterface {
  7830. s.VirtualGatewayId = &v
  7831. return s
  7832. }
  7833. // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  7834. func (s *VirtualInterface) SetVirtualInterfaceId(v string) *VirtualInterface {
  7835. s.VirtualInterfaceId = &v
  7836. return s
  7837. }
  7838. // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
  7839. func (s *VirtualInterface) SetVirtualInterfaceName(v string) *VirtualInterface {
  7840. s.VirtualInterfaceName = &v
  7841. return s
  7842. }
  7843. // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  7844. func (s *VirtualInterface) SetVirtualInterfaceState(v string) *VirtualInterface {
  7845. s.VirtualInterfaceState = &v
  7846. return s
  7847. }
  7848. // SetVirtualInterfaceType sets the VirtualInterfaceType field's value.
  7849. func (s *VirtualInterface) SetVirtualInterfaceType(v string) *VirtualInterface {
  7850. s.VirtualInterfaceType = &v
  7851. return s
  7852. }
  7853. // SetVlan sets the Vlan field's value.
  7854. func (s *VirtualInterface) SetVlan(v int64) *VirtualInterface {
  7855. s.Vlan = &v
  7856. return s
  7857. }
  7858. const (
  7859. // AddressFamilyIpv4 is a AddressFamily enum value
  7860. AddressFamilyIpv4 = "ipv4"
  7861. // AddressFamilyIpv6 is a AddressFamily enum value
  7862. AddressFamilyIpv6 = "ipv6"
  7863. )
  7864. const (
  7865. // BGPPeerStateVerifying is a BGPPeerState enum value
  7866. BGPPeerStateVerifying = "verifying"
  7867. // BGPPeerStatePending is a BGPPeerState enum value
  7868. BGPPeerStatePending = "pending"
  7869. // BGPPeerStateAvailable is a BGPPeerState enum value
  7870. BGPPeerStateAvailable = "available"
  7871. // BGPPeerStateDeleting is a BGPPeerState enum value
  7872. BGPPeerStateDeleting = "deleting"
  7873. // BGPPeerStateDeleted is a BGPPeerState enum value
  7874. BGPPeerStateDeleted = "deleted"
  7875. )
  7876. const (
  7877. // BGPStatusUp is a BGPStatus enum value
  7878. BGPStatusUp = "up"
  7879. // BGPStatusDown is a BGPStatus enum value
  7880. BGPStatusDown = "down"
  7881. )
  7882. const (
  7883. // ConnectionStateOrdering is a ConnectionState enum value
  7884. ConnectionStateOrdering = "ordering"
  7885. // ConnectionStateRequested is a ConnectionState enum value
  7886. ConnectionStateRequested = "requested"
  7887. // ConnectionStatePending is a ConnectionState enum value
  7888. ConnectionStatePending = "pending"
  7889. // ConnectionStateAvailable is a ConnectionState enum value
  7890. ConnectionStateAvailable = "available"
  7891. // ConnectionStateDown is a ConnectionState enum value
  7892. ConnectionStateDown = "down"
  7893. // ConnectionStateDeleting is a ConnectionState enum value
  7894. ConnectionStateDeleting = "deleting"
  7895. // ConnectionStateDeleted is a ConnectionState enum value
  7896. ConnectionStateDeleted = "deleted"
  7897. // ConnectionStateRejected is a ConnectionState enum value
  7898. ConnectionStateRejected = "rejected"
  7899. )
  7900. const (
  7901. // GatewayAssociationStateAssociating is a GatewayAssociationState enum value
  7902. GatewayAssociationStateAssociating = "associating"
  7903. // GatewayAssociationStateAssociated is a GatewayAssociationState enum value
  7904. GatewayAssociationStateAssociated = "associated"
  7905. // GatewayAssociationStateDisassociating is a GatewayAssociationState enum value
  7906. GatewayAssociationStateDisassociating = "disassociating"
  7907. // GatewayAssociationStateDisassociated is a GatewayAssociationState enum value
  7908. GatewayAssociationStateDisassociated = "disassociated"
  7909. )
  7910. const (
  7911. // GatewayAttachmentStateAttaching is a GatewayAttachmentState enum value
  7912. GatewayAttachmentStateAttaching = "attaching"
  7913. // GatewayAttachmentStateAttached is a GatewayAttachmentState enum value
  7914. GatewayAttachmentStateAttached = "attached"
  7915. // GatewayAttachmentStateDetaching is a GatewayAttachmentState enum value
  7916. GatewayAttachmentStateDetaching = "detaching"
  7917. // GatewayAttachmentStateDetached is a GatewayAttachmentState enum value
  7918. GatewayAttachmentStateDetached = "detached"
  7919. )
  7920. const (
  7921. // GatewayStatePending is a GatewayState enum value
  7922. GatewayStatePending = "pending"
  7923. // GatewayStateAvailable is a GatewayState enum value
  7924. GatewayStateAvailable = "available"
  7925. // GatewayStateDeleting is a GatewayState enum value
  7926. GatewayStateDeleting = "deleting"
  7927. // GatewayStateDeleted is a GatewayState enum value
  7928. GatewayStateDeleted = "deleted"
  7929. )
  7930. const (
  7931. // HasLogicalRedundancyUnknown is a HasLogicalRedundancy enum value
  7932. HasLogicalRedundancyUnknown = "unknown"
  7933. // HasLogicalRedundancyYes is a HasLogicalRedundancy enum value
  7934. HasLogicalRedundancyYes = "yes"
  7935. // HasLogicalRedundancyNo is a HasLogicalRedundancy enum value
  7936. HasLogicalRedundancyNo = "no"
  7937. )
  7938. const (
  7939. // InterconnectStateRequested is a InterconnectState enum value
  7940. InterconnectStateRequested = "requested"
  7941. // InterconnectStatePending is a InterconnectState enum value
  7942. InterconnectStatePending = "pending"
  7943. // InterconnectStateAvailable is a InterconnectState enum value
  7944. InterconnectStateAvailable = "available"
  7945. // InterconnectStateDown is a InterconnectState enum value
  7946. InterconnectStateDown = "down"
  7947. // InterconnectStateDeleting is a InterconnectState enum value
  7948. InterconnectStateDeleting = "deleting"
  7949. // InterconnectStateDeleted is a InterconnectState enum value
  7950. InterconnectStateDeleted = "deleted"
  7951. )
  7952. const (
  7953. // LagStateRequested is a LagState enum value
  7954. LagStateRequested = "requested"
  7955. // LagStatePending is a LagState enum value
  7956. LagStatePending = "pending"
  7957. // LagStateAvailable is a LagState enum value
  7958. LagStateAvailable = "available"
  7959. // LagStateDown is a LagState enum value
  7960. LagStateDown = "down"
  7961. // LagStateDeleting is a LagState enum value
  7962. LagStateDeleting = "deleting"
  7963. // LagStateDeleted is a LagState enum value
  7964. LagStateDeleted = "deleted"
  7965. )
  7966. const (
  7967. // LoaContentTypeApplicationPdf is a LoaContentType enum value
  7968. LoaContentTypeApplicationPdf = "application/pdf"
  7969. )
  7970. const (
  7971. // VirtualInterfaceStateConfirming is a VirtualInterfaceState enum value
  7972. VirtualInterfaceStateConfirming = "confirming"
  7973. // VirtualInterfaceStateVerifying is a VirtualInterfaceState enum value
  7974. VirtualInterfaceStateVerifying = "verifying"
  7975. // VirtualInterfaceStatePending is a VirtualInterfaceState enum value
  7976. VirtualInterfaceStatePending = "pending"
  7977. // VirtualInterfaceStateAvailable is a VirtualInterfaceState enum value
  7978. VirtualInterfaceStateAvailable = "available"
  7979. // VirtualInterfaceStateDown is a VirtualInterfaceState enum value
  7980. VirtualInterfaceStateDown = "down"
  7981. // VirtualInterfaceStateDeleting is a VirtualInterfaceState enum value
  7982. VirtualInterfaceStateDeleting = "deleting"
  7983. // VirtualInterfaceStateDeleted is a VirtualInterfaceState enum value
  7984. VirtualInterfaceStateDeleted = "deleted"
  7985. // VirtualInterfaceStateRejected is a VirtualInterfaceState enum value
  7986. VirtualInterfaceStateRejected = "rejected"
  7987. )