VpcClient.cc 178 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <alibabacloud/vpc/VpcClient.h>
  17. #include <alibabacloud/core/SimpleCredentialsProvider.h>
  18. using namespace AlibabaCloud;
  19. using namespace AlibabaCloud::Location;
  20. using namespace AlibabaCloud::Vpc;
  21. using namespace AlibabaCloud::Vpc::Model;
  22. VpcClient::VpcClient(const Credentials &credentials, const ClientConfiguration &configuration) :
  23. RpcServiceClient(std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
  24. {
  25. auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
  26. endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vpc");
  27. }
  28. VpcClient::VpcClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
  29. RpcServiceClient(credentialsProvider, configuration)
  30. {
  31. auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
  32. endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vpc");
  33. }
  34. VpcClient::VpcClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
  35. RpcServiceClient(std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
  36. {
  37. auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
  38. endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vpc");
  39. }
  40. VpcClient::~VpcClient()
  41. {}
  42. CoreClient::EndpointOutcome VpcClient::endpoint()const
  43. {
  44. if(!configuration().endpoint().empty())
  45. return CoreClient::EndpointOutcome(configuration().endpoint());
  46. auto endpoint = endpointProvider_->getEndpoint();
  47. if (endpoint.empty())
  48. return CoreClient::EndpointOutcome(Error("InvalidEndpoint",""));
  49. else
  50. return CoreClient::EndpointOutcome(endpoint);
  51. }
  52. VpcClient::UnassociateGlobalAccelerationInstanceOutcome VpcClient::unassociateGlobalAccelerationInstance(const UnassociateGlobalAccelerationInstanceRequest &request) const
  53. {
  54. auto endpointOutcome = endpoint();
  55. if (!endpointOutcome.isSuccess())
  56. return UnassociateGlobalAccelerationInstanceOutcome(endpointOutcome.error());
  57. auto outcome = makeRequest(endpointOutcome.result(), request);
  58. if (outcome.isSuccess())
  59. return UnassociateGlobalAccelerationInstanceOutcome(UnassociateGlobalAccelerationInstanceResult(outcome.result()));
  60. else
  61. return UnassociateGlobalAccelerationInstanceOutcome(outcome.error());
  62. }
  63. void VpcClient::unassociateGlobalAccelerationInstanceAsync(const UnassociateGlobalAccelerationInstanceRequest& request, const UnassociateGlobalAccelerationInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  64. {
  65. auto fn = [this, request, handler, context]()
  66. {
  67. handler(this, request, unassociateGlobalAccelerationInstance(request), context);
  68. };
  69. asyncExecute(new Runnable(fn));
  70. }
  71. VpcClient::UnassociateGlobalAccelerationInstanceOutcomeCallable VpcClient::unassociateGlobalAccelerationInstanceCallable(const UnassociateGlobalAccelerationInstanceRequest &request) const
  72. {
  73. auto task = std::make_shared<std::packaged_task<UnassociateGlobalAccelerationInstanceOutcome()>>(
  74. [this, request]()
  75. {
  76. return this->unassociateGlobalAccelerationInstance(request);
  77. });
  78. asyncExecute(new Runnable([task]() { (*task)(); }));
  79. return task->get_future();
  80. }
  81. VpcClient::DeleteCustomerGatewayOutcome VpcClient::deleteCustomerGateway(const DeleteCustomerGatewayRequest &request) const
  82. {
  83. auto endpointOutcome = endpoint();
  84. if (!endpointOutcome.isSuccess())
  85. return DeleteCustomerGatewayOutcome(endpointOutcome.error());
  86. auto outcome = makeRequest(endpointOutcome.result(), request);
  87. if (outcome.isSuccess())
  88. return DeleteCustomerGatewayOutcome(DeleteCustomerGatewayResult(outcome.result()));
  89. else
  90. return DeleteCustomerGatewayOutcome(outcome.error());
  91. }
  92. void VpcClient::deleteCustomerGatewayAsync(const DeleteCustomerGatewayRequest& request, const DeleteCustomerGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  93. {
  94. auto fn = [this, request, handler, context]()
  95. {
  96. handler(this, request, deleteCustomerGateway(request), context);
  97. };
  98. asyncExecute(new Runnable(fn));
  99. }
  100. VpcClient::DeleteCustomerGatewayOutcomeCallable VpcClient::deleteCustomerGatewayCallable(const DeleteCustomerGatewayRequest &request) const
  101. {
  102. auto task = std::make_shared<std::packaged_task<DeleteCustomerGatewayOutcome()>>(
  103. [this, request]()
  104. {
  105. return this->deleteCustomerGateway(request);
  106. });
  107. asyncExecute(new Runnable([task]() { (*task)(); }));
  108. return task->get_future();
  109. }
  110. VpcClient::DescribeRouteTableListOutcome VpcClient::describeRouteTableList(const DescribeRouteTableListRequest &request) const
  111. {
  112. auto endpointOutcome = endpoint();
  113. if (!endpointOutcome.isSuccess())
  114. return DescribeRouteTableListOutcome(endpointOutcome.error());
  115. auto outcome = makeRequest(endpointOutcome.result(), request);
  116. if (outcome.isSuccess())
  117. return DescribeRouteTableListOutcome(DescribeRouteTableListResult(outcome.result()));
  118. else
  119. return DescribeRouteTableListOutcome(outcome.error());
  120. }
  121. void VpcClient::describeRouteTableListAsync(const DescribeRouteTableListRequest& request, const DescribeRouteTableListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  122. {
  123. auto fn = [this, request, handler, context]()
  124. {
  125. handler(this, request, describeRouteTableList(request), context);
  126. };
  127. asyncExecute(new Runnable(fn));
  128. }
  129. VpcClient::DescribeRouteTableListOutcomeCallable VpcClient::describeRouteTableListCallable(const DescribeRouteTableListRequest &request) const
  130. {
  131. auto task = std::make_shared<std::packaged_task<DescribeRouteTableListOutcome()>>(
  132. [this, request]()
  133. {
  134. return this->describeRouteTableList(request);
  135. });
  136. asyncExecute(new Runnable([task]() { (*task)(); }));
  137. return task->get_future();
  138. }
  139. VpcClient::AssociatePhysicalConnectionToVirtualBorderRouterOutcome VpcClient::associatePhysicalConnectionToVirtualBorderRouter(const AssociatePhysicalConnectionToVirtualBorderRouterRequest &request) const
  140. {
  141. auto endpointOutcome = endpoint();
  142. if (!endpointOutcome.isSuccess())
  143. return AssociatePhysicalConnectionToVirtualBorderRouterOutcome(endpointOutcome.error());
  144. auto outcome = makeRequest(endpointOutcome.result(), request);
  145. if (outcome.isSuccess())
  146. return AssociatePhysicalConnectionToVirtualBorderRouterOutcome(AssociatePhysicalConnectionToVirtualBorderRouterResult(outcome.result()));
  147. else
  148. return AssociatePhysicalConnectionToVirtualBorderRouterOutcome(outcome.error());
  149. }
  150. void VpcClient::associatePhysicalConnectionToVirtualBorderRouterAsync(const AssociatePhysicalConnectionToVirtualBorderRouterRequest& request, const AssociatePhysicalConnectionToVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  151. {
  152. auto fn = [this, request, handler, context]()
  153. {
  154. handler(this, request, associatePhysicalConnectionToVirtualBorderRouter(request), context);
  155. };
  156. asyncExecute(new Runnable(fn));
  157. }
  158. VpcClient::AssociatePhysicalConnectionToVirtualBorderRouterOutcomeCallable VpcClient::associatePhysicalConnectionToVirtualBorderRouterCallable(const AssociatePhysicalConnectionToVirtualBorderRouterRequest &request) const
  159. {
  160. auto task = std::make_shared<std::packaged_task<AssociatePhysicalConnectionToVirtualBorderRouterOutcome()>>(
  161. [this, request]()
  162. {
  163. return this->associatePhysicalConnectionToVirtualBorderRouter(request);
  164. });
  165. asyncExecute(new Runnable([task]() { (*task)(); }));
  166. return task->get_future();
  167. }
  168. VpcClient::DeleteGlobalAccelerationInstanceOutcome VpcClient::deleteGlobalAccelerationInstance(const DeleteGlobalAccelerationInstanceRequest &request) const
  169. {
  170. auto endpointOutcome = endpoint();
  171. if (!endpointOutcome.isSuccess())
  172. return DeleteGlobalAccelerationInstanceOutcome(endpointOutcome.error());
  173. auto outcome = makeRequest(endpointOutcome.result(), request);
  174. if (outcome.isSuccess())
  175. return DeleteGlobalAccelerationInstanceOutcome(DeleteGlobalAccelerationInstanceResult(outcome.result()));
  176. else
  177. return DeleteGlobalAccelerationInstanceOutcome(outcome.error());
  178. }
  179. void VpcClient::deleteGlobalAccelerationInstanceAsync(const DeleteGlobalAccelerationInstanceRequest& request, const DeleteGlobalAccelerationInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  180. {
  181. auto fn = [this, request, handler, context]()
  182. {
  183. handler(this, request, deleteGlobalAccelerationInstance(request), context);
  184. };
  185. asyncExecute(new Runnable(fn));
  186. }
  187. VpcClient::DeleteGlobalAccelerationInstanceOutcomeCallable VpcClient::deleteGlobalAccelerationInstanceCallable(const DeleteGlobalAccelerationInstanceRequest &request) const
  188. {
  189. auto task = std::make_shared<std::packaged_task<DeleteGlobalAccelerationInstanceOutcome()>>(
  190. [this, request]()
  191. {
  192. return this->deleteGlobalAccelerationInstance(request);
  193. });
  194. asyncExecute(new Runnable([task]() { (*task)(); }));
  195. return task->get_future();
  196. }
  197. VpcClient::DescribeCustomerGatewaysOutcome VpcClient::describeCustomerGateways(const DescribeCustomerGatewaysRequest &request) const
  198. {
  199. auto endpointOutcome = endpoint();
  200. if (!endpointOutcome.isSuccess())
  201. return DescribeCustomerGatewaysOutcome(endpointOutcome.error());
  202. auto outcome = makeRequest(endpointOutcome.result(), request);
  203. if (outcome.isSuccess())
  204. return DescribeCustomerGatewaysOutcome(DescribeCustomerGatewaysResult(outcome.result()));
  205. else
  206. return DescribeCustomerGatewaysOutcome(outcome.error());
  207. }
  208. void VpcClient::describeCustomerGatewaysAsync(const DescribeCustomerGatewaysRequest& request, const DescribeCustomerGatewaysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  209. {
  210. auto fn = [this, request, handler, context]()
  211. {
  212. handler(this, request, describeCustomerGateways(request), context);
  213. };
  214. asyncExecute(new Runnable(fn));
  215. }
  216. VpcClient::DescribeCustomerGatewaysOutcomeCallable VpcClient::describeCustomerGatewaysCallable(const DescribeCustomerGatewaysRequest &request) const
  217. {
  218. auto task = std::make_shared<std::packaged_task<DescribeCustomerGatewaysOutcome()>>(
  219. [this, request]()
  220. {
  221. return this->describeCustomerGateways(request);
  222. });
  223. asyncExecute(new Runnable([task]() { (*task)(); }));
  224. return task->get_future();
  225. }
  226. VpcClient::DescribeGlobalAccelerationInstancesOutcome VpcClient::describeGlobalAccelerationInstances(const DescribeGlobalAccelerationInstancesRequest &request) const
  227. {
  228. auto endpointOutcome = endpoint();
  229. if (!endpointOutcome.isSuccess())
  230. return DescribeGlobalAccelerationInstancesOutcome(endpointOutcome.error());
  231. auto outcome = makeRequest(endpointOutcome.result(), request);
  232. if (outcome.isSuccess())
  233. return DescribeGlobalAccelerationInstancesOutcome(DescribeGlobalAccelerationInstancesResult(outcome.result()));
  234. else
  235. return DescribeGlobalAccelerationInstancesOutcome(outcome.error());
  236. }
  237. void VpcClient::describeGlobalAccelerationInstancesAsync(const DescribeGlobalAccelerationInstancesRequest& request, const DescribeGlobalAccelerationInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  238. {
  239. auto fn = [this, request, handler, context]()
  240. {
  241. handler(this, request, describeGlobalAccelerationInstances(request), context);
  242. };
  243. asyncExecute(new Runnable(fn));
  244. }
  245. VpcClient::DescribeGlobalAccelerationInstancesOutcomeCallable VpcClient::describeGlobalAccelerationInstancesCallable(const DescribeGlobalAccelerationInstancesRequest &request) const
  246. {
  247. auto task = std::make_shared<std::packaged_task<DescribeGlobalAccelerationInstancesOutcome()>>(
  248. [this, request]()
  249. {
  250. return this->describeGlobalAccelerationInstances(request);
  251. });
  252. asyncExecute(new Runnable([task]() { (*task)(); }));
  253. return task->get_future();
  254. }
  255. VpcClient::ModifySslVpnClientCertOutcome VpcClient::modifySslVpnClientCert(const ModifySslVpnClientCertRequest &request) const
  256. {
  257. auto endpointOutcome = endpoint();
  258. if (!endpointOutcome.isSuccess())
  259. return ModifySslVpnClientCertOutcome(endpointOutcome.error());
  260. auto outcome = makeRequest(endpointOutcome.result(), request);
  261. if (outcome.isSuccess())
  262. return ModifySslVpnClientCertOutcome(ModifySslVpnClientCertResult(outcome.result()));
  263. else
  264. return ModifySslVpnClientCertOutcome(outcome.error());
  265. }
  266. void VpcClient::modifySslVpnClientCertAsync(const ModifySslVpnClientCertRequest& request, const ModifySslVpnClientCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  267. {
  268. auto fn = [this, request, handler, context]()
  269. {
  270. handler(this, request, modifySslVpnClientCert(request), context);
  271. };
  272. asyncExecute(new Runnable(fn));
  273. }
  274. VpcClient::ModifySslVpnClientCertOutcomeCallable VpcClient::modifySslVpnClientCertCallable(const ModifySslVpnClientCertRequest &request) const
  275. {
  276. auto task = std::make_shared<std::packaged_task<ModifySslVpnClientCertOutcome()>>(
  277. [this, request]()
  278. {
  279. return this->modifySslVpnClientCert(request);
  280. });
  281. asyncExecute(new Runnable([task]() { (*task)(); }));
  282. return task->get_future();
  283. }
  284. VpcClient::DeleteVpcOutcome VpcClient::deleteVpc(const DeleteVpcRequest &request) const
  285. {
  286. auto endpointOutcome = endpoint();
  287. if (!endpointOutcome.isSuccess())
  288. return DeleteVpcOutcome(endpointOutcome.error());
  289. auto outcome = makeRequest(endpointOutcome.result(), request);
  290. if (outcome.isSuccess())
  291. return DeleteVpcOutcome(DeleteVpcResult(outcome.result()));
  292. else
  293. return DeleteVpcOutcome(outcome.error());
  294. }
  295. void VpcClient::deleteVpcAsync(const DeleteVpcRequest& request, const DeleteVpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  296. {
  297. auto fn = [this, request, handler, context]()
  298. {
  299. handler(this, request, deleteVpc(request), context);
  300. };
  301. asyncExecute(new Runnable(fn));
  302. }
  303. VpcClient::DeleteVpcOutcomeCallable VpcClient::deleteVpcCallable(const DeleteVpcRequest &request) const
  304. {
  305. auto task = std::make_shared<std::packaged_task<DeleteVpcOutcome()>>(
  306. [this, request]()
  307. {
  308. return this->deleteVpc(request);
  309. });
  310. asyncExecute(new Runnable([task]() { (*task)(); }));
  311. return task->get_future();
  312. }
  313. VpcClient::DownloadVpnConnectionConfigOutcome VpcClient::downloadVpnConnectionConfig(const DownloadVpnConnectionConfigRequest &request) const
  314. {
  315. auto endpointOutcome = endpoint();
  316. if (!endpointOutcome.isSuccess())
  317. return DownloadVpnConnectionConfigOutcome(endpointOutcome.error());
  318. auto outcome = makeRequest(endpointOutcome.result(), request);
  319. if (outcome.isSuccess())
  320. return DownloadVpnConnectionConfigOutcome(DownloadVpnConnectionConfigResult(outcome.result()));
  321. else
  322. return DownloadVpnConnectionConfigOutcome(outcome.error());
  323. }
  324. void VpcClient::downloadVpnConnectionConfigAsync(const DownloadVpnConnectionConfigRequest& request, const DownloadVpnConnectionConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  325. {
  326. auto fn = [this, request, handler, context]()
  327. {
  328. handler(this, request, downloadVpnConnectionConfig(request), context);
  329. };
  330. asyncExecute(new Runnable(fn));
  331. }
  332. VpcClient::DownloadVpnConnectionConfigOutcomeCallable VpcClient::downloadVpnConnectionConfigCallable(const DownloadVpnConnectionConfigRequest &request) const
  333. {
  334. auto task = std::make_shared<std::packaged_task<DownloadVpnConnectionConfigOutcome()>>(
  335. [this, request]()
  336. {
  337. return this->downloadVpnConnectionConfig(request);
  338. });
  339. asyncExecute(new Runnable([task]() { (*task)(); }));
  340. return task->get_future();
  341. }
  342. VpcClient::RemoveCommonBandwidthPackageIpOutcome VpcClient::removeCommonBandwidthPackageIp(const RemoveCommonBandwidthPackageIpRequest &request) const
  343. {
  344. auto endpointOutcome = endpoint();
  345. if (!endpointOutcome.isSuccess())
  346. return RemoveCommonBandwidthPackageIpOutcome(endpointOutcome.error());
  347. auto outcome = makeRequest(endpointOutcome.result(), request);
  348. if (outcome.isSuccess())
  349. return RemoveCommonBandwidthPackageIpOutcome(RemoveCommonBandwidthPackageIpResult(outcome.result()));
  350. else
  351. return RemoveCommonBandwidthPackageIpOutcome(outcome.error());
  352. }
  353. void VpcClient::removeCommonBandwidthPackageIpAsync(const RemoveCommonBandwidthPackageIpRequest& request, const RemoveCommonBandwidthPackageIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  354. {
  355. auto fn = [this, request, handler, context]()
  356. {
  357. handler(this, request, removeCommonBandwidthPackageIp(request), context);
  358. };
  359. asyncExecute(new Runnable(fn));
  360. }
  361. VpcClient::RemoveCommonBandwidthPackageIpOutcomeCallable VpcClient::removeCommonBandwidthPackageIpCallable(const RemoveCommonBandwidthPackageIpRequest &request) const
  362. {
  363. auto task = std::make_shared<std::packaged_task<RemoveCommonBandwidthPackageIpOutcome()>>(
  364. [this, request]()
  365. {
  366. return this->removeCommonBandwidthPackageIp(request);
  367. });
  368. asyncExecute(new Runnable([task]() { (*task)(); }));
  369. return task->get_future();
  370. }
  371. VpcClient::ModifyBandwidthPackageSpecOutcome VpcClient::modifyBandwidthPackageSpec(const ModifyBandwidthPackageSpecRequest &request) const
  372. {
  373. auto endpointOutcome = endpoint();
  374. if (!endpointOutcome.isSuccess())
  375. return ModifyBandwidthPackageSpecOutcome(endpointOutcome.error());
  376. auto outcome = makeRequest(endpointOutcome.result(), request);
  377. if (outcome.isSuccess())
  378. return ModifyBandwidthPackageSpecOutcome(ModifyBandwidthPackageSpecResult(outcome.result()));
  379. else
  380. return ModifyBandwidthPackageSpecOutcome(outcome.error());
  381. }
  382. void VpcClient::modifyBandwidthPackageSpecAsync(const ModifyBandwidthPackageSpecRequest& request, const ModifyBandwidthPackageSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  383. {
  384. auto fn = [this, request, handler, context]()
  385. {
  386. handler(this, request, modifyBandwidthPackageSpec(request), context);
  387. };
  388. asyncExecute(new Runnable(fn));
  389. }
  390. VpcClient::ModifyBandwidthPackageSpecOutcomeCallable VpcClient::modifyBandwidthPackageSpecCallable(const ModifyBandwidthPackageSpecRequest &request) const
  391. {
  392. auto task = std::make_shared<std::packaged_task<ModifyBandwidthPackageSpecOutcome()>>(
  393. [this, request]()
  394. {
  395. return this->modifyBandwidthPackageSpec(request);
  396. });
  397. asyncExecute(new Runnable([task]() { (*task)(); }));
  398. return task->get_future();
  399. }
  400. VpcClient::CreateNatGatewayOutcome VpcClient::createNatGateway(const CreateNatGatewayRequest &request) const
  401. {
  402. auto endpointOutcome = endpoint();
  403. if (!endpointOutcome.isSuccess())
  404. return CreateNatGatewayOutcome(endpointOutcome.error());
  405. auto outcome = makeRequest(endpointOutcome.result(), request);
  406. if (outcome.isSuccess())
  407. return CreateNatGatewayOutcome(CreateNatGatewayResult(outcome.result()));
  408. else
  409. return CreateNatGatewayOutcome(outcome.error());
  410. }
  411. void VpcClient::createNatGatewayAsync(const CreateNatGatewayRequest& request, const CreateNatGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  412. {
  413. auto fn = [this, request, handler, context]()
  414. {
  415. handler(this, request, createNatGateway(request), context);
  416. };
  417. asyncExecute(new Runnable(fn));
  418. }
  419. VpcClient::CreateNatGatewayOutcomeCallable VpcClient::createNatGatewayCallable(const CreateNatGatewayRequest &request) const
  420. {
  421. auto task = std::make_shared<std::packaged_task<CreateNatGatewayOutcome()>>(
  422. [this, request]()
  423. {
  424. return this->createNatGateway(request);
  425. });
  426. asyncExecute(new Runnable([task]() { (*task)(); }));
  427. return task->get_future();
  428. }
  429. VpcClient::DeleteVSwitchOutcome VpcClient::deleteVSwitch(const DeleteVSwitchRequest &request) const
  430. {
  431. auto endpointOutcome = endpoint();
  432. if (!endpointOutcome.isSuccess())
  433. return DeleteVSwitchOutcome(endpointOutcome.error());
  434. auto outcome = makeRequest(endpointOutcome.result(), request);
  435. if (outcome.isSuccess())
  436. return DeleteVSwitchOutcome(DeleteVSwitchResult(outcome.result()));
  437. else
  438. return DeleteVSwitchOutcome(outcome.error());
  439. }
  440. void VpcClient::deleteVSwitchAsync(const DeleteVSwitchRequest& request, const DeleteVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  441. {
  442. auto fn = [this, request, handler, context]()
  443. {
  444. handler(this, request, deleteVSwitch(request), context);
  445. };
  446. asyncExecute(new Runnable(fn));
  447. }
  448. VpcClient::DeleteVSwitchOutcomeCallable VpcClient::deleteVSwitchCallable(const DeleteVSwitchRequest &request) const
  449. {
  450. auto task = std::make_shared<std::packaged_task<DeleteVSwitchOutcome()>>(
  451. [this, request]()
  452. {
  453. return this->deleteVSwitch(request);
  454. });
  455. asyncExecute(new Runnable([task]() { (*task)(); }));
  456. return task->get_future();
  457. }
  458. VpcClient::CreateHaVipOutcome VpcClient::createHaVip(const CreateHaVipRequest &request) const
  459. {
  460. auto endpointOutcome = endpoint();
  461. if (!endpointOutcome.isSuccess())
  462. return CreateHaVipOutcome(endpointOutcome.error());
  463. auto outcome = makeRequest(endpointOutcome.result(), request);
  464. if (outcome.isSuccess())
  465. return CreateHaVipOutcome(CreateHaVipResult(outcome.result()));
  466. else
  467. return CreateHaVipOutcome(outcome.error());
  468. }
  469. void VpcClient::createHaVipAsync(const CreateHaVipRequest& request, const CreateHaVipAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  470. {
  471. auto fn = [this, request, handler, context]()
  472. {
  473. handler(this, request, createHaVip(request), context);
  474. };
  475. asyncExecute(new Runnable(fn));
  476. }
  477. VpcClient::CreateHaVipOutcomeCallable VpcClient::createHaVipCallable(const CreateHaVipRequest &request) const
  478. {
  479. auto task = std::make_shared<std::packaged_task<CreateHaVipOutcome()>>(
  480. [this, request]()
  481. {
  482. return this->createHaVip(request);
  483. });
  484. asyncExecute(new Runnable([task]() { (*task)(); }));
  485. return task->get_future();
  486. }
  487. VpcClient::CreateBandwidthPackageOutcome VpcClient::createBandwidthPackage(const CreateBandwidthPackageRequest &request) const
  488. {
  489. auto endpointOutcome = endpoint();
  490. if (!endpointOutcome.isSuccess())
  491. return CreateBandwidthPackageOutcome(endpointOutcome.error());
  492. auto outcome = makeRequest(endpointOutcome.result(), request);
  493. if (outcome.isSuccess())
  494. return CreateBandwidthPackageOutcome(CreateBandwidthPackageResult(outcome.result()));
  495. else
  496. return CreateBandwidthPackageOutcome(outcome.error());
  497. }
  498. void VpcClient::createBandwidthPackageAsync(const CreateBandwidthPackageRequest& request, const CreateBandwidthPackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  499. {
  500. auto fn = [this, request, handler, context]()
  501. {
  502. handler(this, request, createBandwidthPackage(request), context);
  503. };
  504. asyncExecute(new Runnable(fn));
  505. }
  506. VpcClient::CreateBandwidthPackageOutcomeCallable VpcClient::createBandwidthPackageCallable(const CreateBandwidthPackageRequest &request) const
  507. {
  508. auto task = std::make_shared<std::packaged_task<CreateBandwidthPackageOutcome()>>(
  509. [this, request]()
  510. {
  511. return this->createBandwidthPackage(request);
  512. });
  513. asyncExecute(new Runnable([task]() { (*task)(); }));
  514. return task->get_future();
  515. }
  516. VpcClient::RecoverVirtualBorderRouterOutcome VpcClient::recoverVirtualBorderRouter(const RecoverVirtualBorderRouterRequest &request) const
  517. {
  518. auto endpointOutcome = endpoint();
  519. if (!endpointOutcome.isSuccess())
  520. return RecoverVirtualBorderRouterOutcome(endpointOutcome.error());
  521. auto outcome = makeRequest(endpointOutcome.result(), request);
  522. if (outcome.isSuccess())
  523. return RecoverVirtualBorderRouterOutcome(RecoverVirtualBorderRouterResult(outcome.result()));
  524. else
  525. return RecoverVirtualBorderRouterOutcome(outcome.error());
  526. }
  527. void VpcClient::recoverVirtualBorderRouterAsync(const RecoverVirtualBorderRouterRequest& request, const RecoverVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  528. {
  529. auto fn = [this, request, handler, context]()
  530. {
  531. handler(this, request, recoverVirtualBorderRouter(request), context);
  532. };
  533. asyncExecute(new Runnable(fn));
  534. }
  535. VpcClient::RecoverVirtualBorderRouterOutcomeCallable VpcClient::recoverVirtualBorderRouterCallable(const RecoverVirtualBorderRouterRequest &request) const
  536. {
  537. auto task = std::make_shared<std::packaged_task<RecoverVirtualBorderRouterOutcome()>>(
  538. [this, request]()
  539. {
  540. return this->recoverVirtualBorderRouter(request);
  541. });
  542. asyncExecute(new Runnable([task]() { (*task)(); }));
  543. return task->get_future();
  544. }
  545. VpcClient::AssociateEipAddressOutcome VpcClient::associateEipAddress(const AssociateEipAddressRequest &request) const
  546. {
  547. auto endpointOutcome = endpoint();
  548. if (!endpointOutcome.isSuccess())
  549. return AssociateEipAddressOutcome(endpointOutcome.error());
  550. auto outcome = makeRequest(endpointOutcome.result(), request);
  551. if (outcome.isSuccess())
  552. return AssociateEipAddressOutcome(AssociateEipAddressResult(outcome.result()));
  553. else
  554. return AssociateEipAddressOutcome(outcome.error());
  555. }
  556. void VpcClient::associateEipAddressAsync(const AssociateEipAddressRequest& request, const AssociateEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  557. {
  558. auto fn = [this, request, handler, context]()
  559. {
  560. handler(this, request, associateEipAddress(request), context);
  561. };
  562. asyncExecute(new Runnable(fn));
  563. }
  564. VpcClient::AssociateEipAddressOutcomeCallable VpcClient::associateEipAddressCallable(const AssociateEipAddressRequest &request) const
  565. {
  566. auto task = std::make_shared<std::packaged_task<AssociateEipAddressOutcome()>>(
  567. [this, request]()
  568. {
  569. return this->associateEipAddress(request);
  570. });
  571. asyncExecute(new Runnable([task]() { (*task)(); }));
  572. return task->get_future();
  573. }
  574. VpcClient::DescribeEipAddressesOutcome VpcClient::describeEipAddresses(const DescribeEipAddressesRequest &request) const
  575. {
  576. auto endpointOutcome = endpoint();
  577. if (!endpointOutcome.isSuccess())
  578. return DescribeEipAddressesOutcome(endpointOutcome.error());
  579. auto outcome = makeRequest(endpointOutcome.result(), request);
  580. if (outcome.isSuccess())
  581. return DescribeEipAddressesOutcome(DescribeEipAddressesResult(outcome.result()));
  582. else
  583. return DescribeEipAddressesOutcome(outcome.error());
  584. }
  585. void VpcClient::describeEipAddressesAsync(const DescribeEipAddressesRequest& request, const DescribeEipAddressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  586. {
  587. auto fn = [this, request, handler, context]()
  588. {
  589. handler(this, request, describeEipAddresses(request), context);
  590. };
  591. asyncExecute(new Runnable(fn));
  592. }
  593. VpcClient::DescribeEipAddressesOutcomeCallable VpcClient::describeEipAddressesCallable(const DescribeEipAddressesRequest &request) const
  594. {
  595. auto task = std::make_shared<std::packaged_task<DescribeEipAddressesOutcome()>>(
  596. [this, request]()
  597. {
  598. return this->describeEipAddresses(request);
  599. });
  600. asyncExecute(new Runnable([task]() { (*task)(); }));
  601. return task->get_future();
  602. }
  603. VpcClient::CreateCustomerGatewayOutcome VpcClient::createCustomerGateway(const CreateCustomerGatewayRequest &request) const
  604. {
  605. auto endpointOutcome = endpoint();
  606. if (!endpointOutcome.isSuccess())
  607. return CreateCustomerGatewayOutcome(endpointOutcome.error());
  608. auto outcome = makeRequest(endpointOutcome.result(), request);
  609. if (outcome.isSuccess())
  610. return CreateCustomerGatewayOutcome(CreateCustomerGatewayResult(outcome.result()));
  611. else
  612. return CreateCustomerGatewayOutcome(outcome.error());
  613. }
  614. void VpcClient::createCustomerGatewayAsync(const CreateCustomerGatewayRequest& request, const CreateCustomerGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  615. {
  616. auto fn = [this, request, handler, context]()
  617. {
  618. handler(this, request, createCustomerGateway(request), context);
  619. };
  620. asyncExecute(new Runnable(fn));
  621. }
  622. VpcClient::CreateCustomerGatewayOutcomeCallable VpcClient::createCustomerGatewayCallable(const CreateCustomerGatewayRequest &request) const
  623. {
  624. auto task = std::make_shared<std::packaged_task<CreateCustomerGatewayOutcome()>>(
  625. [this, request]()
  626. {
  627. return this->createCustomerGateway(request);
  628. });
  629. asyncExecute(new Runnable([task]() { (*task)(); }));
  630. return task->get_future();
  631. }
  632. VpcClient::ActivateRouterInterfaceOutcome VpcClient::activateRouterInterface(const ActivateRouterInterfaceRequest &request) const
  633. {
  634. auto endpointOutcome = endpoint();
  635. if (!endpointOutcome.isSuccess())
  636. return ActivateRouterInterfaceOutcome(endpointOutcome.error());
  637. auto outcome = makeRequest(endpointOutcome.result(), request);
  638. if (outcome.isSuccess())
  639. return ActivateRouterInterfaceOutcome(ActivateRouterInterfaceResult(outcome.result()));
  640. else
  641. return ActivateRouterInterfaceOutcome(outcome.error());
  642. }
  643. void VpcClient::activateRouterInterfaceAsync(const ActivateRouterInterfaceRequest& request, const ActivateRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  644. {
  645. auto fn = [this, request, handler, context]()
  646. {
  647. handler(this, request, activateRouterInterface(request), context);
  648. };
  649. asyncExecute(new Runnable(fn));
  650. }
  651. VpcClient::ActivateRouterInterfaceOutcomeCallable VpcClient::activateRouterInterfaceCallable(const ActivateRouterInterfaceRequest &request) const
  652. {
  653. auto task = std::make_shared<std::packaged_task<ActivateRouterInterfaceOutcome()>>(
  654. [this, request]()
  655. {
  656. return this->activateRouterInterface(request);
  657. });
  658. asyncExecute(new Runnable([task]() { (*task)(); }));
  659. return task->get_future();
  660. }
  661. VpcClient::DeleteSslVpnServerOutcome VpcClient::deleteSslVpnServer(const DeleteSslVpnServerRequest &request) const
  662. {
  663. auto endpointOutcome = endpoint();
  664. if (!endpointOutcome.isSuccess())
  665. return DeleteSslVpnServerOutcome(endpointOutcome.error());
  666. auto outcome = makeRequest(endpointOutcome.result(), request);
  667. if (outcome.isSuccess())
  668. return DeleteSslVpnServerOutcome(DeleteSslVpnServerResult(outcome.result()));
  669. else
  670. return DeleteSslVpnServerOutcome(outcome.error());
  671. }
  672. void VpcClient::deleteSslVpnServerAsync(const DeleteSslVpnServerRequest& request, const DeleteSslVpnServerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  673. {
  674. auto fn = [this, request, handler, context]()
  675. {
  676. handler(this, request, deleteSslVpnServer(request), context);
  677. };
  678. asyncExecute(new Runnable(fn));
  679. }
  680. VpcClient::DeleteSslVpnServerOutcomeCallable VpcClient::deleteSslVpnServerCallable(const DeleteSslVpnServerRequest &request) const
  681. {
  682. auto task = std::make_shared<std::packaged_task<DeleteSslVpnServerOutcome()>>(
  683. [this, request]()
  684. {
  685. return this->deleteSslVpnServer(request);
  686. });
  687. asyncExecute(new Runnable([task]() { (*task)(); }));
  688. return task->get_future();
  689. }
  690. VpcClient::DeleteBandwidthPackageOutcome VpcClient::deleteBandwidthPackage(const DeleteBandwidthPackageRequest &request) const
  691. {
  692. auto endpointOutcome = endpoint();
  693. if (!endpointOutcome.isSuccess())
  694. return DeleteBandwidthPackageOutcome(endpointOutcome.error());
  695. auto outcome = makeRequest(endpointOutcome.result(), request);
  696. if (outcome.isSuccess())
  697. return DeleteBandwidthPackageOutcome(DeleteBandwidthPackageResult(outcome.result()));
  698. else
  699. return DeleteBandwidthPackageOutcome(outcome.error());
  700. }
  701. void VpcClient::deleteBandwidthPackageAsync(const DeleteBandwidthPackageRequest& request, const DeleteBandwidthPackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  702. {
  703. auto fn = [this, request, handler, context]()
  704. {
  705. handler(this, request, deleteBandwidthPackage(request), context);
  706. };
  707. asyncExecute(new Runnable(fn));
  708. }
  709. VpcClient::DeleteBandwidthPackageOutcomeCallable VpcClient::deleteBandwidthPackageCallable(const DeleteBandwidthPackageRequest &request) const
  710. {
  711. auto task = std::make_shared<std::packaged_task<DeleteBandwidthPackageOutcome()>>(
  712. [this, request]()
  713. {
  714. return this->deleteBandwidthPackage(request);
  715. });
  716. asyncExecute(new Runnable([task]() { (*task)(); }));
  717. return task->get_future();
  718. }
  719. VpcClient::DeleteBgpPeerOutcome VpcClient::deleteBgpPeer(const DeleteBgpPeerRequest &request) const
  720. {
  721. auto endpointOutcome = endpoint();
  722. if (!endpointOutcome.isSuccess())
  723. return DeleteBgpPeerOutcome(endpointOutcome.error());
  724. auto outcome = makeRequest(endpointOutcome.result(), request);
  725. if (outcome.isSuccess())
  726. return DeleteBgpPeerOutcome(DeleteBgpPeerResult(outcome.result()));
  727. else
  728. return DeleteBgpPeerOutcome(outcome.error());
  729. }
  730. void VpcClient::deleteBgpPeerAsync(const DeleteBgpPeerRequest& request, const DeleteBgpPeerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  731. {
  732. auto fn = [this, request, handler, context]()
  733. {
  734. handler(this, request, deleteBgpPeer(request), context);
  735. };
  736. asyncExecute(new Runnable(fn));
  737. }
  738. VpcClient::DeleteBgpPeerOutcomeCallable VpcClient::deleteBgpPeerCallable(const DeleteBgpPeerRequest &request) const
  739. {
  740. auto task = std::make_shared<std::packaged_task<DeleteBgpPeerOutcome()>>(
  741. [this, request]()
  742. {
  743. return this->deleteBgpPeer(request);
  744. });
  745. asyncExecute(new Runnable([task]() { (*task)(); }));
  746. return task->get_future();
  747. }
  748. VpcClient::DeleteNqaOutcome VpcClient::deleteNqa(const DeleteNqaRequest &request) const
  749. {
  750. auto endpointOutcome = endpoint();
  751. if (!endpointOutcome.isSuccess())
  752. return DeleteNqaOutcome(endpointOutcome.error());
  753. auto outcome = makeRequest(endpointOutcome.result(), request);
  754. if (outcome.isSuccess())
  755. return DeleteNqaOutcome(DeleteNqaResult(outcome.result()));
  756. else
  757. return DeleteNqaOutcome(outcome.error());
  758. }
  759. void VpcClient::deleteNqaAsync(const DeleteNqaRequest& request, const DeleteNqaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  760. {
  761. auto fn = [this, request, handler, context]()
  762. {
  763. handler(this, request, deleteNqa(request), context);
  764. };
  765. asyncExecute(new Runnable(fn));
  766. }
  767. VpcClient::DeleteNqaOutcomeCallable VpcClient::deleteNqaCallable(const DeleteNqaRequest &request) const
  768. {
  769. auto task = std::make_shared<std::packaged_task<DeleteNqaOutcome()>>(
  770. [this, request]()
  771. {
  772. return this->deleteNqa(request);
  773. });
  774. asyncExecute(new Runnable([task]() { (*task)(); }));
  775. return task->get_future();
  776. }
  777. VpcClient::TerminateVirtualBorderRouterOutcome VpcClient::terminateVirtualBorderRouter(const TerminateVirtualBorderRouterRequest &request) const
  778. {
  779. auto endpointOutcome = endpoint();
  780. if (!endpointOutcome.isSuccess())
  781. return TerminateVirtualBorderRouterOutcome(endpointOutcome.error());
  782. auto outcome = makeRequest(endpointOutcome.result(), request);
  783. if (outcome.isSuccess())
  784. return TerminateVirtualBorderRouterOutcome(TerminateVirtualBorderRouterResult(outcome.result()));
  785. else
  786. return TerminateVirtualBorderRouterOutcome(outcome.error());
  787. }
  788. void VpcClient::terminateVirtualBorderRouterAsync(const TerminateVirtualBorderRouterRequest& request, const TerminateVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  789. {
  790. auto fn = [this, request, handler, context]()
  791. {
  792. handler(this, request, terminateVirtualBorderRouter(request), context);
  793. };
  794. asyncExecute(new Runnable(fn));
  795. }
  796. VpcClient::TerminateVirtualBorderRouterOutcomeCallable VpcClient::terminateVirtualBorderRouterCallable(const TerminateVirtualBorderRouterRequest &request) const
  797. {
  798. auto task = std::make_shared<std::packaged_task<TerminateVirtualBorderRouterOutcome()>>(
  799. [this, request]()
  800. {
  801. return this->terminateVirtualBorderRouter(request);
  802. });
  803. asyncExecute(new Runnable([task]() { (*task)(); }));
  804. return task->get_future();
  805. }
  806. VpcClient::ModifyRouteTableAttributesOutcome VpcClient::modifyRouteTableAttributes(const ModifyRouteTableAttributesRequest &request) const
  807. {
  808. auto endpointOutcome = endpoint();
  809. if (!endpointOutcome.isSuccess())
  810. return ModifyRouteTableAttributesOutcome(endpointOutcome.error());
  811. auto outcome = makeRequest(endpointOutcome.result(), request);
  812. if (outcome.isSuccess())
  813. return ModifyRouteTableAttributesOutcome(ModifyRouteTableAttributesResult(outcome.result()));
  814. else
  815. return ModifyRouteTableAttributesOutcome(outcome.error());
  816. }
  817. void VpcClient::modifyRouteTableAttributesAsync(const ModifyRouteTableAttributesRequest& request, const ModifyRouteTableAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  818. {
  819. auto fn = [this, request, handler, context]()
  820. {
  821. handler(this, request, modifyRouteTableAttributes(request), context);
  822. };
  823. asyncExecute(new Runnable(fn));
  824. }
  825. VpcClient::ModifyRouteTableAttributesOutcomeCallable VpcClient::modifyRouteTableAttributesCallable(const ModifyRouteTableAttributesRequest &request) const
  826. {
  827. auto task = std::make_shared<std::packaged_task<ModifyRouteTableAttributesOutcome()>>(
  828. [this, request]()
  829. {
  830. return this->modifyRouteTableAttributes(request);
  831. });
  832. asyncExecute(new Runnable([task]() { (*task)(); }));
  833. return task->get_future();
  834. }
  835. VpcClient::DeletePhysicalConnectionOutcome VpcClient::deletePhysicalConnection(const DeletePhysicalConnectionRequest &request) const
  836. {
  837. auto endpointOutcome = endpoint();
  838. if (!endpointOutcome.isSuccess())
  839. return DeletePhysicalConnectionOutcome(endpointOutcome.error());
  840. auto outcome = makeRequest(endpointOutcome.result(), request);
  841. if (outcome.isSuccess())
  842. return DeletePhysicalConnectionOutcome(DeletePhysicalConnectionResult(outcome.result()));
  843. else
  844. return DeletePhysicalConnectionOutcome(outcome.error());
  845. }
  846. void VpcClient::deletePhysicalConnectionAsync(const DeletePhysicalConnectionRequest& request, const DeletePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  847. {
  848. auto fn = [this, request, handler, context]()
  849. {
  850. handler(this, request, deletePhysicalConnection(request), context);
  851. };
  852. asyncExecute(new Runnable(fn));
  853. }
  854. VpcClient::DeletePhysicalConnectionOutcomeCallable VpcClient::deletePhysicalConnectionCallable(const DeletePhysicalConnectionRequest &request) const
  855. {
  856. auto task = std::make_shared<std::packaged_task<DeletePhysicalConnectionOutcome()>>(
  857. [this, request]()
  858. {
  859. return this->deletePhysicalConnection(request);
  860. });
  861. asyncExecute(new Runnable([task]() { (*task)(); }));
  862. return task->get_future();
  863. }
  864. VpcClient::ModifyForwardEntryOutcome VpcClient::modifyForwardEntry(const ModifyForwardEntryRequest &request) const
  865. {
  866. auto endpointOutcome = endpoint();
  867. if (!endpointOutcome.isSuccess())
  868. return ModifyForwardEntryOutcome(endpointOutcome.error());
  869. auto outcome = makeRequest(endpointOutcome.result(), request);
  870. if (outcome.isSuccess())
  871. return ModifyForwardEntryOutcome(ModifyForwardEntryResult(outcome.result()));
  872. else
  873. return ModifyForwardEntryOutcome(outcome.error());
  874. }
  875. void VpcClient::modifyForwardEntryAsync(const ModifyForwardEntryRequest& request, const ModifyForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  876. {
  877. auto fn = [this, request, handler, context]()
  878. {
  879. handler(this, request, modifyForwardEntry(request), context);
  880. };
  881. asyncExecute(new Runnable(fn));
  882. }
  883. VpcClient::ModifyForwardEntryOutcomeCallable VpcClient::modifyForwardEntryCallable(const ModifyForwardEntryRequest &request) const
  884. {
  885. auto task = std::make_shared<std::packaged_task<ModifyForwardEntryOutcome()>>(
  886. [this, request]()
  887. {
  888. return this->modifyForwardEntry(request);
  889. });
  890. asyncExecute(new Runnable([task]() { (*task)(); }));
  891. return task->get_future();
  892. }
  893. VpcClient::CreateVpcOutcome VpcClient::createVpc(const CreateVpcRequest &request) const
  894. {
  895. auto endpointOutcome = endpoint();
  896. if (!endpointOutcome.isSuccess())
  897. return CreateVpcOutcome(endpointOutcome.error());
  898. auto outcome = makeRequest(endpointOutcome.result(), request);
  899. if (outcome.isSuccess())
  900. return CreateVpcOutcome(CreateVpcResult(outcome.result()));
  901. else
  902. return CreateVpcOutcome(outcome.error());
  903. }
  904. void VpcClient::createVpcAsync(const CreateVpcRequest& request, const CreateVpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  905. {
  906. auto fn = [this, request, handler, context]()
  907. {
  908. handler(this, request, createVpc(request), context);
  909. };
  910. asyncExecute(new Runnable(fn));
  911. }
  912. VpcClient::CreateVpcOutcomeCallable VpcClient::createVpcCallable(const CreateVpcRequest &request) const
  913. {
  914. auto task = std::make_shared<std::packaged_task<CreateVpcOutcome()>>(
  915. [this, request]()
  916. {
  917. return this->createVpc(request);
  918. });
  919. asyncExecute(new Runnable([task]() { (*task)(); }));
  920. return task->get_future();
  921. }
  922. VpcClient::DescribeForwardTableEntriesOutcome VpcClient::describeForwardTableEntries(const DescribeForwardTableEntriesRequest &request) const
  923. {
  924. auto endpointOutcome = endpoint();
  925. if (!endpointOutcome.isSuccess())
  926. return DescribeForwardTableEntriesOutcome(endpointOutcome.error());
  927. auto outcome = makeRequest(endpointOutcome.result(), request);
  928. if (outcome.isSuccess())
  929. return DescribeForwardTableEntriesOutcome(DescribeForwardTableEntriesResult(outcome.result()));
  930. else
  931. return DescribeForwardTableEntriesOutcome(outcome.error());
  932. }
  933. void VpcClient::describeForwardTableEntriesAsync(const DescribeForwardTableEntriesRequest& request, const DescribeForwardTableEntriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  934. {
  935. auto fn = [this, request, handler, context]()
  936. {
  937. handler(this, request, describeForwardTableEntries(request), context);
  938. };
  939. asyncExecute(new Runnable(fn));
  940. }
  941. VpcClient::DescribeForwardTableEntriesOutcomeCallable VpcClient::describeForwardTableEntriesCallable(const DescribeForwardTableEntriesRequest &request) const
  942. {
  943. auto task = std::make_shared<std::packaged_task<DescribeForwardTableEntriesOutcome()>>(
  944. [this, request]()
  945. {
  946. return this->describeForwardTableEntries(request);
  947. });
  948. asyncExecute(new Runnable([task]() { (*task)(); }));
  949. return task->get_future();
  950. }
  951. VpcClient::UnassociateEipAddressOutcome VpcClient::unassociateEipAddress(const UnassociateEipAddressRequest &request) const
  952. {
  953. auto endpointOutcome = endpoint();
  954. if (!endpointOutcome.isSuccess())
  955. return UnassociateEipAddressOutcome(endpointOutcome.error());
  956. auto outcome = makeRequest(endpointOutcome.result(), request);
  957. if (outcome.isSuccess())
  958. return UnassociateEipAddressOutcome(UnassociateEipAddressResult(outcome.result()));
  959. else
  960. return UnassociateEipAddressOutcome(outcome.error());
  961. }
  962. void VpcClient::unassociateEipAddressAsync(const UnassociateEipAddressRequest& request, const UnassociateEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  963. {
  964. auto fn = [this, request, handler, context]()
  965. {
  966. handler(this, request, unassociateEipAddress(request), context);
  967. };
  968. asyncExecute(new Runnable(fn));
  969. }
  970. VpcClient::UnassociateEipAddressOutcomeCallable VpcClient::unassociateEipAddressCallable(const UnassociateEipAddressRequest &request) const
  971. {
  972. auto task = std::make_shared<std::packaged_task<UnassociateEipAddressOutcome()>>(
  973. [this, request]()
  974. {
  975. return this->unassociateEipAddress(request);
  976. });
  977. asyncExecute(new Runnable([task]() { (*task)(); }));
  978. return task->get_future();
  979. }
  980. VpcClient::DescribeSslVpnClientCertsOutcome VpcClient::describeSslVpnClientCerts(const DescribeSslVpnClientCertsRequest &request) const
  981. {
  982. auto endpointOutcome = endpoint();
  983. if (!endpointOutcome.isSuccess())
  984. return DescribeSslVpnClientCertsOutcome(endpointOutcome.error());
  985. auto outcome = makeRequest(endpointOutcome.result(), request);
  986. if (outcome.isSuccess())
  987. return DescribeSslVpnClientCertsOutcome(DescribeSslVpnClientCertsResult(outcome.result()));
  988. else
  989. return DescribeSslVpnClientCertsOutcome(outcome.error());
  990. }
  991. void VpcClient::describeSslVpnClientCertsAsync(const DescribeSslVpnClientCertsRequest& request, const DescribeSslVpnClientCertsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  992. {
  993. auto fn = [this, request, handler, context]()
  994. {
  995. handler(this, request, describeSslVpnClientCerts(request), context);
  996. };
  997. asyncExecute(new Runnable(fn));
  998. }
  999. VpcClient::DescribeSslVpnClientCertsOutcomeCallable VpcClient::describeSslVpnClientCertsCallable(const DescribeSslVpnClientCertsRequest &request) const
  1000. {
  1001. auto task = std::make_shared<std::packaged_task<DescribeSslVpnClientCertsOutcome()>>(
  1002. [this, request]()
  1003. {
  1004. return this->describeSslVpnClientCerts(request);
  1005. });
  1006. asyncExecute(new Runnable([task]() { (*task)(); }));
  1007. return task->get_future();
  1008. }
  1009. VpcClient::DescribeVpnConnectionOutcome VpcClient::describeVpnConnection(const DescribeVpnConnectionRequest &request) const
  1010. {
  1011. auto endpointOutcome = endpoint();
  1012. if (!endpointOutcome.isSuccess())
  1013. return DescribeVpnConnectionOutcome(endpointOutcome.error());
  1014. auto outcome = makeRequest(endpointOutcome.result(), request);
  1015. if (outcome.isSuccess())
  1016. return DescribeVpnConnectionOutcome(DescribeVpnConnectionResult(outcome.result()));
  1017. else
  1018. return DescribeVpnConnectionOutcome(outcome.error());
  1019. }
  1020. void VpcClient::describeVpnConnectionAsync(const DescribeVpnConnectionRequest& request, const DescribeVpnConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1021. {
  1022. auto fn = [this, request, handler, context]()
  1023. {
  1024. handler(this, request, describeVpnConnection(request), context);
  1025. };
  1026. asyncExecute(new Runnable(fn));
  1027. }
  1028. VpcClient::DescribeVpnConnectionOutcomeCallable VpcClient::describeVpnConnectionCallable(const DescribeVpnConnectionRequest &request) const
  1029. {
  1030. auto task = std::make_shared<std::packaged_task<DescribeVpnConnectionOutcome()>>(
  1031. [this, request]()
  1032. {
  1033. return this->describeVpnConnection(request);
  1034. });
  1035. asyncExecute(new Runnable([task]() { (*task)(); }));
  1036. return task->get_future();
  1037. }
  1038. VpcClient::ModifyGlobalAccelerationInstanceSpecOutcome VpcClient::modifyGlobalAccelerationInstanceSpec(const ModifyGlobalAccelerationInstanceSpecRequest &request) const
  1039. {
  1040. auto endpointOutcome = endpoint();
  1041. if (!endpointOutcome.isSuccess())
  1042. return ModifyGlobalAccelerationInstanceSpecOutcome(endpointOutcome.error());
  1043. auto outcome = makeRequest(endpointOutcome.result(), request);
  1044. if (outcome.isSuccess())
  1045. return ModifyGlobalAccelerationInstanceSpecOutcome(ModifyGlobalAccelerationInstanceSpecResult(outcome.result()));
  1046. else
  1047. return ModifyGlobalAccelerationInstanceSpecOutcome(outcome.error());
  1048. }
  1049. void VpcClient::modifyGlobalAccelerationInstanceSpecAsync(const ModifyGlobalAccelerationInstanceSpecRequest& request, const ModifyGlobalAccelerationInstanceSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1050. {
  1051. auto fn = [this, request, handler, context]()
  1052. {
  1053. handler(this, request, modifyGlobalAccelerationInstanceSpec(request), context);
  1054. };
  1055. asyncExecute(new Runnable(fn));
  1056. }
  1057. VpcClient::ModifyGlobalAccelerationInstanceSpecOutcomeCallable VpcClient::modifyGlobalAccelerationInstanceSpecCallable(const ModifyGlobalAccelerationInstanceSpecRequest &request) const
  1058. {
  1059. auto task = std::make_shared<std::packaged_task<ModifyGlobalAccelerationInstanceSpecOutcome()>>(
  1060. [this, request]()
  1061. {
  1062. return this->modifyGlobalAccelerationInstanceSpec(request);
  1063. });
  1064. asyncExecute(new Runnable([task]() { (*task)(); }));
  1065. return task->get_future();
  1066. }
  1067. VpcClient::AddGlobalAccelerationInstanceIpOutcome VpcClient::addGlobalAccelerationInstanceIp(const AddGlobalAccelerationInstanceIpRequest &request) const
  1068. {
  1069. auto endpointOutcome = endpoint();
  1070. if (!endpointOutcome.isSuccess())
  1071. return AddGlobalAccelerationInstanceIpOutcome(endpointOutcome.error());
  1072. auto outcome = makeRequest(endpointOutcome.result(), request);
  1073. if (outcome.isSuccess())
  1074. return AddGlobalAccelerationInstanceIpOutcome(AddGlobalAccelerationInstanceIpResult(outcome.result()));
  1075. else
  1076. return AddGlobalAccelerationInstanceIpOutcome(outcome.error());
  1077. }
  1078. void VpcClient::addGlobalAccelerationInstanceIpAsync(const AddGlobalAccelerationInstanceIpRequest& request, const AddGlobalAccelerationInstanceIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1079. {
  1080. auto fn = [this, request, handler, context]()
  1081. {
  1082. handler(this, request, addGlobalAccelerationInstanceIp(request), context);
  1083. };
  1084. asyncExecute(new Runnable(fn));
  1085. }
  1086. VpcClient::AddGlobalAccelerationInstanceIpOutcomeCallable VpcClient::addGlobalAccelerationInstanceIpCallable(const AddGlobalAccelerationInstanceIpRequest &request) const
  1087. {
  1088. auto task = std::make_shared<std::packaged_task<AddGlobalAccelerationInstanceIpOutcome()>>(
  1089. [this, request]()
  1090. {
  1091. return this->addGlobalAccelerationInstanceIp(request);
  1092. });
  1093. asyncExecute(new Runnable([task]() { (*task)(); }));
  1094. return task->get_future();
  1095. }
  1096. VpcClient::DeleteRouterInterfaceOutcome VpcClient::deleteRouterInterface(const DeleteRouterInterfaceRequest &request) const
  1097. {
  1098. auto endpointOutcome = endpoint();
  1099. if (!endpointOutcome.isSuccess())
  1100. return DeleteRouterInterfaceOutcome(endpointOutcome.error());
  1101. auto outcome = makeRequest(endpointOutcome.result(), request);
  1102. if (outcome.isSuccess())
  1103. return DeleteRouterInterfaceOutcome(DeleteRouterInterfaceResult(outcome.result()));
  1104. else
  1105. return DeleteRouterInterfaceOutcome(outcome.error());
  1106. }
  1107. void VpcClient::deleteRouterInterfaceAsync(const DeleteRouterInterfaceRequest& request, const DeleteRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1108. {
  1109. auto fn = [this, request, handler, context]()
  1110. {
  1111. handler(this, request, deleteRouterInterface(request), context);
  1112. };
  1113. asyncExecute(new Runnable(fn));
  1114. }
  1115. VpcClient::DeleteRouterInterfaceOutcomeCallable VpcClient::deleteRouterInterfaceCallable(const DeleteRouterInterfaceRequest &request) const
  1116. {
  1117. auto task = std::make_shared<std::packaged_task<DeleteRouterInterfaceOutcome()>>(
  1118. [this, request]()
  1119. {
  1120. return this->deleteRouterInterface(request);
  1121. });
  1122. asyncExecute(new Runnable([task]() { (*task)(); }));
  1123. return task->get_future();
  1124. }
  1125. VpcClient::CreateSslVpnServerOutcome VpcClient::createSslVpnServer(const CreateSslVpnServerRequest &request) const
  1126. {
  1127. auto endpointOutcome = endpoint();
  1128. if (!endpointOutcome.isSuccess())
  1129. return CreateSslVpnServerOutcome(endpointOutcome.error());
  1130. auto outcome = makeRequest(endpointOutcome.result(), request);
  1131. if (outcome.isSuccess())
  1132. return CreateSslVpnServerOutcome(CreateSslVpnServerResult(outcome.result()));
  1133. else
  1134. return CreateSslVpnServerOutcome(outcome.error());
  1135. }
  1136. void VpcClient::createSslVpnServerAsync(const CreateSslVpnServerRequest& request, const CreateSslVpnServerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1137. {
  1138. auto fn = [this, request, handler, context]()
  1139. {
  1140. handler(this, request, createSslVpnServer(request), context);
  1141. };
  1142. asyncExecute(new Runnable(fn));
  1143. }
  1144. VpcClient::CreateSslVpnServerOutcomeCallable VpcClient::createSslVpnServerCallable(const CreateSslVpnServerRequest &request) const
  1145. {
  1146. auto task = std::make_shared<std::packaged_task<CreateSslVpnServerOutcome()>>(
  1147. [this, request]()
  1148. {
  1149. return this->createSslVpnServer(request);
  1150. });
  1151. asyncExecute(new Runnable([task]() { (*task)(); }));
  1152. return task->get_future();
  1153. }
  1154. VpcClient::DescribeBandwidthPackagePublicIpMonitorDataOutcome VpcClient::describeBandwidthPackagePublicIpMonitorData(const DescribeBandwidthPackagePublicIpMonitorDataRequest &request) const
  1155. {
  1156. auto endpointOutcome = endpoint();
  1157. if (!endpointOutcome.isSuccess())
  1158. return DescribeBandwidthPackagePublicIpMonitorDataOutcome(endpointOutcome.error());
  1159. auto outcome = makeRequest(endpointOutcome.result(), request);
  1160. if (outcome.isSuccess())
  1161. return DescribeBandwidthPackagePublicIpMonitorDataOutcome(DescribeBandwidthPackagePublicIpMonitorDataResult(outcome.result()));
  1162. else
  1163. return DescribeBandwidthPackagePublicIpMonitorDataOutcome(outcome.error());
  1164. }
  1165. void VpcClient::describeBandwidthPackagePublicIpMonitorDataAsync(const DescribeBandwidthPackagePublicIpMonitorDataRequest& request, const DescribeBandwidthPackagePublicIpMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1166. {
  1167. auto fn = [this, request, handler, context]()
  1168. {
  1169. handler(this, request, describeBandwidthPackagePublicIpMonitorData(request), context);
  1170. };
  1171. asyncExecute(new Runnable(fn));
  1172. }
  1173. VpcClient::DescribeBandwidthPackagePublicIpMonitorDataOutcomeCallable VpcClient::describeBandwidthPackagePublicIpMonitorDataCallable(const DescribeBandwidthPackagePublicIpMonitorDataRequest &request) const
  1174. {
  1175. auto task = std::make_shared<std::packaged_task<DescribeBandwidthPackagePublicIpMonitorDataOutcome()>>(
  1176. [this, request]()
  1177. {
  1178. return this->describeBandwidthPackagePublicIpMonitorData(request);
  1179. });
  1180. asyncExecute(new Runnable([task]() { (*task)(); }));
  1181. return task->get_future();
  1182. }
  1183. VpcClient::DescribeNqasOutcome VpcClient::describeNqas(const DescribeNqasRequest &request) const
  1184. {
  1185. auto endpointOutcome = endpoint();
  1186. if (!endpointOutcome.isSuccess())
  1187. return DescribeNqasOutcome(endpointOutcome.error());
  1188. auto outcome = makeRequest(endpointOutcome.result(), request);
  1189. if (outcome.isSuccess())
  1190. return DescribeNqasOutcome(DescribeNqasResult(outcome.result()));
  1191. else
  1192. return DescribeNqasOutcome(outcome.error());
  1193. }
  1194. void VpcClient::describeNqasAsync(const DescribeNqasRequest& request, const DescribeNqasAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1195. {
  1196. auto fn = [this, request, handler, context]()
  1197. {
  1198. handler(this, request, describeNqas(request), context);
  1199. };
  1200. asyncExecute(new Runnable(fn));
  1201. }
  1202. VpcClient::DescribeNqasOutcomeCallable VpcClient::describeNqasCallable(const DescribeNqasRequest &request) const
  1203. {
  1204. auto task = std::make_shared<std::packaged_task<DescribeNqasOutcome()>>(
  1205. [this, request]()
  1206. {
  1207. return this->describeNqas(request);
  1208. });
  1209. asyncExecute(new Runnable([task]() { (*task)(); }));
  1210. return task->get_future();
  1211. }
  1212. VpcClient::ModifyVirtualBorderRouterAttributeOutcome VpcClient::modifyVirtualBorderRouterAttribute(const ModifyVirtualBorderRouterAttributeRequest &request) const
  1213. {
  1214. auto endpointOutcome = endpoint();
  1215. if (!endpointOutcome.isSuccess())
  1216. return ModifyVirtualBorderRouterAttributeOutcome(endpointOutcome.error());
  1217. auto outcome = makeRequest(endpointOutcome.result(), request);
  1218. if (outcome.isSuccess())
  1219. return ModifyVirtualBorderRouterAttributeOutcome(ModifyVirtualBorderRouterAttributeResult(outcome.result()));
  1220. else
  1221. return ModifyVirtualBorderRouterAttributeOutcome(outcome.error());
  1222. }
  1223. void VpcClient::modifyVirtualBorderRouterAttributeAsync(const ModifyVirtualBorderRouterAttributeRequest& request, const ModifyVirtualBorderRouterAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1224. {
  1225. auto fn = [this, request, handler, context]()
  1226. {
  1227. handler(this, request, modifyVirtualBorderRouterAttribute(request), context);
  1228. };
  1229. asyncExecute(new Runnable(fn));
  1230. }
  1231. VpcClient::ModifyVirtualBorderRouterAttributeOutcomeCallable VpcClient::modifyVirtualBorderRouterAttributeCallable(const ModifyVirtualBorderRouterAttributeRequest &request) const
  1232. {
  1233. auto task = std::make_shared<std::packaged_task<ModifyVirtualBorderRouterAttributeOutcome()>>(
  1234. [this, request]()
  1235. {
  1236. return this->modifyVirtualBorderRouterAttribute(request);
  1237. });
  1238. asyncExecute(new Runnable([task]() { (*task)(); }));
  1239. return task->get_future();
  1240. }
  1241. VpcClient::ModifyNatGatewayAttributeOutcome VpcClient::modifyNatGatewayAttribute(const ModifyNatGatewayAttributeRequest &request) const
  1242. {
  1243. auto endpointOutcome = endpoint();
  1244. if (!endpointOutcome.isSuccess())
  1245. return ModifyNatGatewayAttributeOutcome(endpointOutcome.error());
  1246. auto outcome = makeRequest(endpointOutcome.result(), request);
  1247. if (outcome.isSuccess())
  1248. return ModifyNatGatewayAttributeOutcome(ModifyNatGatewayAttributeResult(outcome.result()));
  1249. else
  1250. return ModifyNatGatewayAttributeOutcome(outcome.error());
  1251. }
  1252. void VpcClient::modifyNatGatewayAttributeAsync(const ModifyNatGatewayAttributeRequest& request, const ModifyNatGatewayAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1253. {
  1254. auto fn = [this, request, handler, context]()
  1255. {
  1256. handler(this, request, modifyNatGatewayAttribute(request), context);
  1257. };
  1258. asyncExecute(new Runnable(fn));
  1259. }
  1260. VpcClient::ModifyNatGatewayAttributeOutcomeCallable VpcClient::modifyNatGatewayAttributeCallable(const ModifyNatGatewayAttributeRequest &request) const
  1261. {
  1262. auto task = std::make_shared<std::packaged_task<ModifyNatGatewayAttributeOutcome()>>(
  1263. [this, request]()
  1264. {
  1265. return this->modifyNatGatewayAttribute(request);
  1266. });
  1267. asyncExecute(new Runnable([task]() { (*task)(); }));
  1268. return task->get_future();
  1269. }
  1270. VpcClient::DescribeEipMonitorDataOutcome VpcClient::describeEipMonitorData(const DescribeEipMonitorDataRequest &request) const
  1271. {
  1272. auto endpointOutcome = endpoint();
  1273. if (!endpointOutcome.isSuccess())
  1274. return DescribeEipMonitorDataOutcome(endpointOutcome.error());
  1275. auto outcome = makeRequest(endpointOutcome.result(), request);
  1276. if (outcome.isSuccess())
  1277. return DescribeEipMonitorDataOutcome(DescribeEipMonitorDataResult(outcome.result()));
  1278. else
  1279. return DescribeEipMonitorDataOutcome(outcome.error());
  1280. }
  1281. void VpcClient::describeEipMonitorDataAsync(const DescribeEipMonitorDataRequest& request, const DescribeEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1282. {
  1283. auto fn = [this, request, handler, context]()
  1284. {
  1285. handler(this, request, describeEipMonitorData(request), context);
  1286. };
  1287. asyncExecute(new Runnable(fn));
  1288. }
  1289. VpcClient::DescribeEipMonitorDataOutcomeCallable VpcClient::describeEipMonitorDataCallable(const DescribeEipMonitorDataRequest &request) const
  1290. {
  1291. auto task = std::make_shared<std::packaged_task<DescribeEipMonitorDataOutcome()>>(
  1292. [this, request]()
  1293. {
  1294. return this->describeEipMonitorData(request);
  1295. });
  1296. asyncExecute(new Runnable([task]() { (*task)(); }));
  1297. return task->get_future();
  1298. }
  1299. VpcClient::DeleteVpnGatewayOutcome VpcClient::deleteVpnGateway(const DeleteVpnGatewayRequest &request) const
  1300. {
  1301. auto endpointOutcome = endpoint();
  1302. if (!endpointOutcome.isSuccess())
  1303. return DeleteVpnGatewayOutcome(endpointOutcome.error());
  1304. auto outcome = makeRequest(endpointOutcome.result(), request);
  1305. if (outcome.isSuccess())
  1306. return DeleteVpnGatewayOutcome(DeleteVpnGatewayResult(outcome.result()));
  1307. else
  1308. return DeleteVpnGatewayOutcome(outcome.error());
  1309. }
  1310. void VpcClient::deleteVpnGatewayAsync(const DeleteVpnGatewayRequest& request, const DeleteVpnGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1311. {
  1312. auto fn = [this, request, handler, context]()
  1313. {
  1314. handler(this, request, deleteVpnGateway(request), context);
  1315. };
  1316. asyncExecute(new Runnable(fn));
  1317. }
  1318. VpcClient::DeleteVpnGatewayOutcomeCallable VpcClient::deleteVpnGatewayCallable(const DeleteVpnGatewayRequest &request) const
  1319. {
  1320. auto task = std::make_shared<std::packaged_task<DeleteVpnGatewayOutcome()>>(
  1321. [this, request]()
  1322. {
  1323. return this->deleteVpnGateway(request);
  1324. });
  1325. asyncExecute(new Runnable([task]() { (*task)(); }));
  1326. return task->get_future();
  1327. }
  1328. VpcClient::DescribeCustomerGatewayOutcome VpcClient::describeCustomerGateway(const DescribeCustomerGatewayRequest &request) const
  1329. {
  1330. auto endpointOutcome = endpoint();
  1331. if (!endpointOutcome.isSuccess())
  1332. return DescribeCustomerGatewayOutcome(endpointOutcome.error());
  1333. auto outcome = makeRequest(endpointOutcome.result(), request);
  1334. if (outcome.isSuccess())
  1335. return DescribeCustomerGatewayOutcome(DescribeCustomerGatewayResult(outcome.result()));
  1336. else
  1337. return DescribeCustomerGatewayOutcome(outcome.error());
  1338. }
  1339. void VpcClient::describeCustomerGatewayAsync(const DescribeCustomerGatewayRequest& request, const DescribeCustomerGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1340. {
  1341. auto fn = [this, request, handler, context]()
  1342. {
  1343. handler(this, request, describeCustomerGateway(request), context);
  1344. };
  1345. asyncExecute(new Runnable(fn));
  1346. }
  1347. VpcClient::DescribeCustomerGatewayOutcomeCallable VpcClient::describeCustomerGatewayCallable(const DescribeCustomerGatewayRequest &request) const
  1348. {
  1349. auto task = std::make_shared<std::packaged_task<DescribeCustomerGatewayOutcome()>>(
  1350. [this, request]()
  1351. {
  1352. return this->describeCustomerGateway(request);
  1353. });
  1354. asyncExecute(new Runnable([task]() { (*task)(); }));
  1355. return task->get_future();
  1356. }
  1357. VpcClient::ModifyVpnGatewayAttributeOutcome VpcClient::modifyVpnGatewayAttribute(const ModifyVpnGatewayAttributeRequest &request) const
  1358. {
  1359. auto endpointOutcome = endpoint();
  1360. if (!endpointOutcome.isSuccess())
  1361. return ModifyVpnGatewayAttributeOutcome(endpointOutcome.error());
  1362. auto outcome = makeRequest(endpointOutcome.result(), request);
  1363. if (outcome.isSuccess())
  1364. return ModifyVpnGatewayAttributeOutcome(ModifyVpnGatewayAttributeResult(outcome.result()));
  1365. else
  1366. return ModifyVpnGatewayAttributeOutcome(outcome.error());
  1367. }
  1368. void VpcClient::modifyVpnGatewayAttributeAsync(const ModifyVpnGatewayAttributeRequest& request, const ModifyVpnGatewayAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1369. {
  1370. auto fn = [this, request, handler, context]()
  1371. {
  1372. handler(this, request, modifyVpnGatewayAttribute(request), context);
  1373. };
  1374. asyncExecute(new Runnable(fn));
  1375. }
  1376. VpcClient::ModifyVpnGatewayAttributeOutcomeCallable VpcClient::modifyVpnGatewayAttributeCallable(const ModifyVpnGatewayAttributeRequest &request) const
  1377. {
  1378. auto task = std::make_shared<std::packaged_task<ModifyVpnGatewayAttributeOutcome()>>(
  1379. [this, request]()
  1380. {
  1381. return this->modifyVpnGatewayAttribute(request);
  1382. });
  1383. asyncExecute(new Runnable([task]() { (*task)(); }));
  1384. return task->get_future();
  1385. }
  1386. VpcClient::AddBgpNetworkOutcome VpcClient::addBgpNetwork(const AddBgpNetworkRequest &request) const
  1387. {
  1388. auto endpointOutcome = endpoint();
  1389. if (!endpointOutcome.isSuccess())
  1390. return AddBgpNetworkOutcome(endpointOutcome.error());
  1391. auto outcome = makeRequest(endpointOutcome.result(), request);
  1392. if (outcome.isSuccess())
  1393. return AddBgpNetworkOutcome(AddBgpNetworkResult(outcome.result()));
  1394. else
  1395. return AddBgpNetworkOutcome(outcome.error());
  1396. }
  1397. void VpcClient::addBgpNetworkAsync(const AddBgpNetworkRequest& request, const AddBgpNetworkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1398. {
  1399. auto fn = [this, request, handler, context]()
  1400. {
  1401. handler(this, request, addBgpNetwork(request), context);
  1402. };
  1403. asyncExecute(new Runnable(fn));
  1404. }
  1405. VpcClient::AddBgpNetworkOutcomeCallable VpcClient::addBgpNetworkCallable(const AddBgpNetworkRequest &request) const
  1406. {
  1407. auto task = std::make_shared<std::packaged_task<AddBgpNetworkOutcome()>>(
  1408. [this, request]()
  1409. {
  1410. return this->addBgpNetwork(request);
  1411. });
  1412. asyncExecute(new Runnable([task]() { (*task)(); }));
  1413. return task->get_future();
  1414. }
  1415. VpcClient::ModifySslVpnServerOutcome VpcClient::modifySslVpnServer(const ModifySslVpnServerRequest &request) const
  1416. {
  1417. auto endpointOutcome = endpoint();
  1418. if (!endpointOutcome.isSuccess())
  1419. return ModifySslVpnServerOutcome(endpointOutcome.error());
  1420. auto outcome = makeRequest(endpointOutcome.result(), request);
  1421. if (outcome.isSuccess())
  1422. return ModifySslVpnServerOutcome(ModifySslVpnServerResult(outcome.result()));
  1423. else
  1424. return ModifySslVpnServerOutcome(outcome.error());
  1425. }
  1426. void VpcClient::modifySslVpnServerAsync(const ModifySslVpnServerRequest& request, const ModifySslVpnServerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1427. {
  1428. auto fn = [this, request, handler, context]()
  1429. {
  1430. handler(this, request, modifySslVpnServer(request), context);
  1431. };
  1432. asyncExecute(new Runnable(fn));
  1433. }
  1434. VpcClient::ModifySslVpnServerOutcomeCallable VpcClient::modifySslVpnServerCallable(const ModifySslVpnServerRequest &request) const
  1435. {
  1436. auto task = std::make_shared<std::packaged_task<ModifySslVpnServerOutcome()>>(
  1437. [this, request]()
  1438. {
  1439. return this->modifySslVpnServer(request);
  1440. });
  1441. asyncExecute(new Runnable([task]() { (*task)(); }));
  1442. return task->get_future();
  1443. }
  1444. VpcClient::DescribeVpnConnectionsOutcome VpcClient::describeVpnConnections(const DescribeVpnConnectionsRequest &request) const
  1445. {
  1446. auto endpointOutcome = endpoint();
  1447. if (!endpointOutcome.isSuccess())
  1448. return DescribeVpnConnectionsOutcome(endpointOutcome.error());
  1449. auto outcome = makeRequest(endpointOutcome.result(), request);
  1450. if (outcome.isSuccess())
  1451. return DescribeVpnConnectionsOutcome(DescribeVpnConnectionsResult(outcome.result()));
  1452. else
  1453. return DescribeVpnConnectionsOutcome(outcome.error());
  1454. }
  1455. void VpcClient::describeVpnConnectionsAsync(const DescribeVpnConnectionsRequest& request, const DescribeVpnConnectionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1456. {
  1457. auto fn = [this, request, handler, context]()
  1458. {
  1459. handler(this, request, describeVpnConnections(request), context);
  1460. };
  1461. asyncExecute(new Runnable(fn));
  1462. }
  1463. VpcClient::DescribeVpnConnectionsOutcomeCallable VpcClient::describeVpnConnectionsCallable(const DescribeVpnConnectionsRequest &request) const
  1464. {
  1465. auto task = std::make_shared<std::packaged_task<DescribeVpnConnectionsOutcome()>>(
  1466. [this, request]()
  1467. {
  1468. return this->describeVpnConnections(request);
  1469. });
  1470. asyncExecute(new Runnable([task]() { (*task)(); }));
  1471. return task->get_future();
  1472. }
  1473. VpcClient::DescribeNewProjectEipMonitorDataOutcome VpcClient::describeNewProjectEipMonitorData(const DescribeNewProjectEipMonitorDataRequest &request) const
  1474. {
  1475. auto endpointOutcome = endpoint();
  1476. if (!endpointOutcome.isSuccess())
  1477. return DescribeNewProjectEipMonitorDataOutcome(endpointOutcome.error());
  1478. auto outcome = makeRequest(endpointOutcome.result(), request);
  1479. if (outcome.isSuccess())
  1480. return DescribeNewProjectEipMonitorDataOutcome(DescribeNewProjectEipMonitorDataResult(outcome.result()));
  1481. else
  1482. return DescribeNewProjectEipMonitorDataOutcome(outcome.error());
  1483. }
  1484. void VpcClient::describeNewProjectEipMonitorDataAsync(const DescribeNewProjectEipMonitorDataRequest& request, const DescribeNewProjectEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1485. {
  1486. auto fn = [this, request, handler, context]()
  1487. {
  1488. handler(this, request, describeNewProjectEipMonitorData(request), context);
  1489. };
  1490. asyncExecute(new Runnable(fn));
  1491. }
  1492. VpcClient::DescribeNewProjectEipMonitorDataOutcomeCallable VpcClient::describeNewProjectEipMonitorDataCallable(const DescribeNewProjectEipMonitorDataRequest &request) const
  1493. {
  1494. auto task = std::make_shared<std::packaged_task<DescribeNewProjectEipMonitorDataOutcome()>>(
  1495. [this, request]()
  1496. {
  1497. return this->describeNewProjectEipMonitorData(request);
  1498. });
  1499. asyncExecute(new Runnable([task]() { (*task)(); }));
  1500. return task->get_future();
  1501. }
  1502. VpcClient::ModifyBandwidthPackageAttributeOutcome VpcClient::modifyBandwidthPackageAttribute(const ModifyBandwidthPackageAttributeRequest &request) const
  1503. {
  1504. auto endpointOutcome = endpoint();
  1505. if (!endpointOutcome.isSuccess())
  1506. return ModifyBandwidthPackageAttributeOutcome(endpointOutcome.error());
  1507. auto outcome = makeRequest(endpointOutcome.result(), request);
  1508. if (outcome.isSuccess())
  1509. return ModifyBandwidthPackageAttributeOutcome(ModifyBandwidthPackageAttributeResult(outcome.result()));
  1510. else
  1511. return ModifyBandwidthPackageAttributeOutcome(outcome.error());
  1512. }
  1513. void VpcClient::modifyBandwidthPackageAttributeAsync(const ModifyBandwidthPackageAttributeRequest& request, const ModifyBandwidthPackageAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1514. {
  1515. auto fn = [this, request, handler, context]()
  1516. {
  1517. handler(this, request, modifyBandwidthPackageAttribute(request), context);
  1518. };
  1519. asyncExecute(new Runnable(fn));
  1520. }
  1521. VpcClient::ModifyBandwidthPackageAttributeOutcomeCallable VpcClient::modifyBandwidthPackageAttributeCallable(const ModifyBandwidthPackageAttributeRequest &request) const
  1522. {
  1523. auto task = std::make_shared<std::packaged_task<ModifyBandwidthPackageAttributeOutcome()>>(
  1524. [this, request]()
  1525. {
  1526. return this->modifyBandwidthPackageAttribute(request);
  1527. });
  1528. asyncExecute(new Runnable([task]() { (*task)(); }));
  1529. return task->get_future();
  1530. }
  1531. VpcClient::ConnectRouterInterfaceOutcome VpcClient::connectRouterInterface(const ConnectRouterInterfaceRequest &request) const
  1532. {
  1533. auto endpointOutcome = endpoint();
  1534. if (!endpointOutcome.isSuccess())
  1535. return ConnectRouterInterfaceOutcome(endpointOutcome.error());
  1536. auto outcome = makeRequest(endpointOutcome.result(), request);
  1537. if (outcome.isSuccess())
  1538. return ConnectRouterInterfaceOutcome(ConnectRouterInterfaceResult(outcome.result()));
  1539. else
  1540. return ConnectRouterInterfaceOutcome(outcome.error());
  1541. }
  1542. void VpcClient::connectRouterInterfaceAsync(const ConnectRouterInterfaceRequest& request, const ConnectRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1543. {
  1544. auto fn = [this, request, handler, context]()
  1545. {
  1546. handler(this, request, connectRouterInterface(request), context);
  1547. };
  1548. asyncExecute(new Runnable(fn));
  1549. }
  1550. VpcClient::ConnectRouterInterfaceOutcomeCallable VpcClient::connectRouterInterfaceCallable(const ConnectRouterInterfaceRequest &request) const
  1551. {
  1552. auto task = std::make_shared<std::packaged_task<ConnectRouterInterfaceOutcome()>>(
  1553. [this, request]()
  1554. {
  1555. return this->connectRouterInterface(request);
  1556. });
  1557. asyncExecute(new Runnable([task]() { (*task)(); }));
  1558. return task->get_future();
  1559. }
  1560. VpcClient::DescribeBgpPeersOutcome VpcClient::describeBgpPeers(const DescribeBgpPeersRequest &request) const
  1561. {
  1562. auto endpointOutcome = endpoint();
  1563. if (!endpointOutcome.isSuccess())
  1564. return DescribeBgpPeersOutcome(endpointOutcome.error());
  1565. auto outcome = makeRequest(endpointOutcome.result(), request);
  1566. if (outcome.isSuccess())
  1567. return DescribeBgpPeersOutcome(DescribeBgpPeersResult(outcome.result()));
  1568. else
  1569. return DescribeBgpPeersOutcome(outcome.error());
  1570. }
  1571. void VpcClient::describeBgpPeersAsync(const DescribeBgpPeersRequest& request, const DescribeBgpPeersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1572. {
  1573. auto fn = [this, request, handler, context]()
  1574. {
  1575. handler(this, request, describeBgpPeers(request), context);
  1576. };
  1577. asyncExecute(new Runnable(fn));
  1578. }
  1579. VpcClient::DescribeBgpPeersOutcomeCallable VpcClient::describeBgpPeersCallable(const DescribeBgpPeersRequest &request) const
  1580. {
  1581. auto task = std::make_shared<std::packaged_task<DescribeBgpPeersOutcome()>>(
  1582. [this, request]()
  1583. {
  1584. return this->describeBgpPeers(request);
  1585. });
  1586. asyncExecute(new Runnable([task]() { (*task)(); }));
  1587. return task->get_future();
  1588. }
  1589. VpcClient::DeleteSnatEntryOutcome VpcClient::deleteSnatEntry(const DeleteSnatEntryRequest &request) const
  1590. {
  1591. auto endpointOutcome = endpoint();
  1592. if (!endpointOutcome.isSuccess())
  1593. return DeleteSnatEntryOutcome(endpointOutcome.error());
  1594. auto outcome = makeRequest(endpointOutcome.result(), request);
  1595. if (outcome.isSuccess())
  1596. return DeleteSnatEntryOutcome(DeleteSnatEntryResult(outcome.result()));
  1597. else
  1598. return DeleteSnatEntryOutcome(outcome.error());
  1599. }
  1600. void VpcClient::deleteSnatEntryAsync(const DeleteSnatEntryRequest& request, const DeleteSnatEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1601. {
  1602. auto fn = [this, request, handler, context]()
  1603. {
  1604. handler(this, request, deleteSnatEntry(request), context);
  1605. };
  1606. asyncExecute(new Runnable(fn));
  1607. }
  1608. VpcClient::DeleteSnatEntryOutcomeCallable VpcClient::deleteSnatEntryCallable(const DeleteSnatEntryRequest &request) const
  1609. {
  1610. auto task = std::make_shared<std::packaged_task<DeleteSnatEntryOutcome()>>(
  1611. [this, request]()
  1612. {
  1613. return this->deleteSnatEntry(request);
  1614. });
  1615. asyncExecute(new Runnable([task]() { (*task)(); }));
  1616. return task->get_future();
  1617. }
  1618. VpcClient::DescribeHaVipsOutcome VpcClient::describeHaVips(const DescribeHaVipsRequest &request) const
  1619. {
  1620. auto endpointOutcome = endpoint();
  1621. if (!endpointOutcome.isSuccess())
  1622. return DescribeHaVipsOutcome(endpointOutcome.error());
  1623. auto outcome = makeRequest(endpointOutcome.result(), request);
  1624. if (outcome.isSuccess())
  1625. return DescribeHaVipsOutcome(DescribeHaVipsResult(outcome.result()));
  1626. else
  1627. return DescribeHaVipsOutcome(outcome.error());
  1628. }
  1629. void VpcClient::describeHaVipsAsync(const DescribeHaVipsRequest& request, const DescribeHaVipsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1630. {
  1631. auto fn = [this, request, handler, context]()
  1632. {
  1633. handler(this, request, describeHaVips(request), context);
  1634. };
  1635. asyncExecute(new Runnable(fn));
  1636. }
  1637. VpcClient::DescribeHaVipsOutcomeCallable VpcClient::describeHaVipsCallable(const DescribeHaVipsRequest &request) const
  1638. {
  1639. auto task = std::make_shared<std::packaged_task<DescribeHaVipsOutcome()>>(
  1640. [this, request]()
  1641. {
  1642. return this->describeHaVips(request);
  1643. });
  1644. asyncExecute(new Runnable([task]() { (*task)(); }));
  1645. return task->get_future();
  1646. }
  1647. VpcClient::CreateNqaOutcome VpcClient::createNqa(const CreateNqaRequest &request) const
  1648. {
  1649. auto endpointOutcome = endpoint();
  1650. if (!endpointOutcome.isSuccess())
  1651. return CreateNqaOutcome(endpointOutcome.error());
  1652. auto outcome = makeRequest(endpointOutcome.result(), request);
  1653. if (outcome.isSuccess())
  1654. return CreateNqaOutcome(CreateNqaResult(outcome.result()));
  1655. else
  1656. return CreateNqaOutcome(outcome.error());
  1657. }
  1658. void VpcClient::createNqaAsync(const CreateNqaRequest& request, const CreateNqaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1659. {
  1660. auto fn = [this, request, handler, context]()
  1661. {
  1662. handler(this, request, createNqa(request), context);
  1663. };
  1664. asyncExecute(new Runnable(fn));
  1665. }
  1666. VpcClient::CreateNqaOutcomeCallable VpcClient::createNqaCallable(const CreateNqaRequest &request) const
  1667. {
  1668. auto task = std::make_shared<std::packaged_task<CreateNqaOutcome()>>(
  1669. [this, request]()
  1670. {
  1671. return this->createNqa(request);
  1672. });
  1673. asyncExecute(new Runnable([task]() { (*task)(); }));
  1674. return task->get_future();
  1675. }
  1676. VpcClient::DescribeForwardTablesOutcome VpcClient::describeForwardTables(const DescribeForwardTablesRequest &request) const
  1677. {
  1678. auto endpointOutcome = endpoint();
  1679. if (!endpointOutcome.isSuccess())
  1680. return DescribeForwardTablesOutcome(endpointOutcome.error());
  1681. auto outcome = makeRequest(endpointOutcome.result(), request);
  1682. if (outcome.isSuccess())
  1683. return DescribeForwardTablesOutcome(DescribeForwardTablesResult(outcome.result()));
  1684. else
  1685. return DescribeForwardTablesOutcome(outcome.error());
  1686. }
  1687. void VpcClient::describeForwardTablesAsync(const DescribeForwardTablesRequest& request, const DescribeForwardTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1688. {
  1689. auto fn = [this, request, handler, context]()
  1690. {
  1691. handler(this, request, describeForwardTables(request), context);
  1692. };
  1693. asyncExecute(new Runnable(fn));
  1694. }
  1695. VpcClient::DescribeForwardTablesOutcomeCallable VpcClient::describeForwardTablesCallable(const DescribeForwardTablesRequest &request) const
  1696. {
  1697. auto task = std::make_shared<std::packaged_task<DescribeForwardTablesOutcome()>>(
  1698. [this, request]()
  1699. {
  1700. return this->describeForwardTables(request);
  1701. });
  1702. asyncExecute(new Runnable([task]() { (*task)(); }));
  1703. return task->get_future();
  1704. }
  1705. VpcClient::AddBandwidthPackageIpsOutcome VpcClient::addBandwidthPackageIps(const AddBandwidthPackageIpsRequest &request) const
  1706. {
  1707. auto endpointOutcome = endpoint();
  1708. if (!endpointOutcome.isSuccess())
  1709. return AddBandwidthPackageIpsOutcome(endpointOutcome.error());
  1710. auto outcome = makeRequest(endpointOutcome.result(), request);
  1711. if (outcome.isSuccess())
  1712. return AddBandwidthPackageIpsOutcome(AddBandwidthPackageIpsResult(outcome.result()));
  1713. else
  1714. return AddBandwidthPackageIpsOutcome(outcome.error());
  1715. }
  1716. void VpcClient::addBandwidthPackageIpsAsync(const AddBandwidthPackageIpsRequest& request, const AddBandwidthPackageIpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1717. {
  1718. auto fn = [this, request, handler, context]()
  1719. {
  1720. handler(this, request, addBandwidthPackageIps(request), context);
  1721. };
  1722. asyncExecute(new Runnable(fn));
  1723. }
  1724. VpcClient::AddBandwidthPackageIpsOutcomeCallable VpcClient::addBandwidthPackageIpsCallable(const AddBandwidthPackageIpsRequest &request) const
  1725. {
  1726. auto task = std::make_shared<std::packaged_task<AddBandwidthPackageIpsOutcome()>>(
  1727. [this, request]()
  1728. {
  1729. return this->addBandwidthPackageIps(request);
  1730. });
  1731. asyncExecute(new Runnable([task]() { (*task)(); }));
  1732. return task->get_future();
  1733. }
  1734. VpcClient::ModifyPhysicalConnectionAttributeOutcome VpcClient::modifyPhysicalConnectionAttribute(const ModifyPhysicalConnectionAttributeRequest &request) const
  1735. {
  1736. auto endpointOutcome = endpoint();
  1737. if (!endpointOutcome.isSuccess())
  1738. return ModifyPhysicalConnectionAttributeOutcome(endpointOutcome.error());
  1739. auto outcome = makeRequest(endpointOutcome.result(), request);
  1740. if (outcome.isSuccess())
  1741. return ModifyPhysicalConnectionAttributeOutcome(ModifyPhysicalConnectionAttributeResult(outcome.result()));
  1742. else
  1743. return ModifyPhysicalConnectionAttributeOutcome(outcome.error());
  1744. }
  1745. void VpcClient::modifyPhysicalConnectionAttributeAsync(const ModifyPhysicalConnectionAttributeRequest& request, const ModifyPhysicalConnectionAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1746. {
  1747. auto fn = [this, request, handler, context]()
  1748. {
  1749. handler(this, request, modifyPhysicalConnectionAttribute(request), context);
  1750. };
  1751. asyncExecute(new Runnable(fn));
  1752. }
  1753. VpcClient::ModifyPhysicalConnectionAttributeOutcomeCallable VpcClient::modifyPhysicalConnectionAttributeCallable(const ModifyPhysicalConnectionAttributeRequest &request) const
  1754. {
  1755. auto task = std::make_shared<std::packaged_task<ModifyPhysicalConnectionAttributeOutcome()>>(
  1756. [this, request]()
  1757. {
  1758. return this->modifyPhysicalConnectionAttribute(request);
  1759. });
  1760. asyncExecute(new Runnable([task]() { (*task)(); }));
  1761. return task->get_future();
  1762. }
  1763. VpcClient::CreateSnatEntryOutcome VpcClient::createSnatEntry(const CreateSnatEntryRequest &request) const
  1764. {
  1765. auto endpointOutcome = endpoint();
  1766. if (!endpointOutcome.isSuccess())
  1767. return CreateSnatEntryOutcome(endpointOutcome.error());
  1768. auto outcome = makeRequest(endpointOutcome.result(), request);
  1769. if (outcome.isSuccess())
  1770. return CreateSnatEntryOutcome(CreateSnatEntryResult(outcome.result()));
  1771. else
  1772. return CreateSnatEntryOutcome(outcome.error());
  1773. }
  1774. void VpcClient::createSnatEntryAsync(const CreateSnatEntryRequest& request, const CreateSnatEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1775. {
  1776. auto fn = [this, request, handler, context]()
  1777. {
  1778. handler(this, request, createSnatEntry(request), context);
  1779. };
  1780. asyncExecute(new Runnable(fn));
  1781. }
  1782. VpcClient::CreateSnatEntryOutcomeCallable VpcClient::createSnatEntryCallable(const CreateSnatEntryRequest &request) const
  1783. {
  1784. auto task = std::make_shared<std::packaged_task<CreateSnatEntryOutcome()>>(
  1785. [this, request]()
  1786. {
  1787. return this->createSnatEntry(request);
  1788. });
  1789. asyncExecute(new Runnable([task]() { (*task)(); }));
  1790. return task->get_future();
  1791. }
  1792. VpcClient::DeleteCommonBandwidthPackageOutcome VpcClient::deleteCommonBandwidthPackage(const DeleteCommonBandwidthPackageRequest &request) const
  1793. {
  1794. auto endpointOutcome = endpoint();
  1795. if (!endpointOutcome.isSuccess())
  1796. return DeleteCommonBandwidthPackageOutcome(endpointOutcome.error());
  1797. auto outcome = makeRequest(endpointOutcome.result(), request);
  1798. if (outcome.isSuccess())
  1799. return DeleteCommonBandwidthPackageOutcome(DeleteCommonBandwidthPackageResult(outcome.result()));
  1800. else
  1801. return DeleteCommonBandwidthPackageOutcome(outcome.error());
  1802. }
  1803. void VpcClient::deleteCommonBandwidthPackageAsync(const DeleteCommonBandwidthPackageRequest& request, const DeleteCommonBandwidthPackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1804. {
  1805. auto fn = [this, request, handler, context]()
  1806. {
  1807. handler(this, request, deleteCommonBandwidthPackage(request), context);
  1808. };
  1809. asyncExecute(new Runnable(fn));
  1810. }
  1811. VpcClient::DeleteCommonBandwidthPackageOutcomeCallable VpcClient::deleteCommonBandwidthPackageCallable(const DeleteCommonBandwidthPackageRequest &request) const
  1812. {
  1813. auto task = std::make_shared<std::packaged_task<DeleteCommonBandwidthPackageOutcome()>>(
  1814. [this, request]()
  1815. {
  1816. return this->deleteCommonBandwidthPackage(request);
  1817. });
  1818. asyncExecute(new Runnable([task]() { (*task)(); }));
  1819. return task->get_future();
  1820. }
  1821. VpcClient::ModifyVSwitchAttributeOutcome VpcClient::modifyVSwitchAttribute(const ModifyVSwitchAttributeRequest &request) const
  1822. {
  1823. auto endpointOutcome = endpoint();
  1824. if (!endpointOutcome.isSuccess())
  1825. return ModifyVSwitchAttributeOutcome(endpointOutcome.error());
  1826. auto outcome = makeRequest(endpointOutcome.result(), request);
  1827. if (outcome.isSuccess())
  1828. return ModifyVSwitchAttributeOutcome(ModifyVSwitchAttributeResult(outcome.result()));
  1829. else
  1830. return ModifyVSwitchAttributeOutcome(outcome.error());
  1831. }
  1832. void VpcClient::modifyVSwitchAttributeAsync(const ModifyVSwitchAttributeRequest& request, const ModifyVSwitchAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1833. {
  1834. auto fn = [this, request, handler, context]()
  1835. {
  1836. handler(this, request, modifyVSwitchAttribute(request), context);
  1837. };
  1838. asyncExecute(new Runnable(fn));
  1839. }
  1840. VpcClient::ModifyVSwitchAttributeOutcomeCallable VpcClient::modifyVSwitchAttributeCallable(const ModifyVSwitchAttributeRequest &request) const
  1841. {
  1842. auto task = std::make_shared<std::packaged_task<ModifyVSwitchAttributeOutcome()>>(
  1843. [this, request]()
  1844. {
  1845. return this->modifyVSwitchAttribute(request);
  1846. });
  1847. asyncExecute(new Runnable([task]() { (*task)(); }));
  1848. return task->get_future();
  1849. }
  1850. VpcClient::DescribeNatGatewaysOutcome VpcClient::describeNatGateways(const DescribeNatGatewaysRequest &request) const
  1851. {
  1852. auto endpointOutcome = endpoint();
  1853. if (!endpointOutcome.isSuccess())
  1854. return DescribeNatGatewaysOutcome(endpointOutcome.error());
  1855. auto outcome = makeRequest(endpointOutcome.result(), request);
  1856. if (outcome.isSuccess())
  1857. return DescribeNatGatewaysOutcome(DescribeNatGatewaysResult(outcome.result()));
  1858. else
  1859. return DescribeNatGatewaysOutcome(outcome.error());
  1860. }
  1861. void VpcClient::describeNatGatewaysAsync(const DescribeNatGatewaysRequest& request, const DescribeNatGatewaysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1862. {
  1863. auto fn = [this, request, handler, context]()
  1864. {
  1865. handler(this, request, describeNatGateways(request), context);
  1866. };
  1867. asyncExecute(new Runnable(fn));
  1868. }
  1869. VpcClient::DescribeNatGatewaysOutcomeCallable VpcClient::describeNatGatewaysCallable(const DescribeNatGatewaysRequest &request) const
  1870. {
  1871. auto task = std::make_shared<std::packaged_task<DescribeNatGatewaysOutcome()>>(
  1872. [this, request]()
  1873. {
  1874. return this->describeNatGateways(request);
  1875. });
  1876. asyncExecute(new Runnable([task]() { (*task)(); }));
  1877. return task->get_future();
  1878. }
  1879. VpcClient::EnableVpcClassicLinkOutcome VpcClient::enableVpcClassicLink(const EnableVpcClassicLinkRequest &request) const
  1880. {
  1881. auto endpointOutcome = endpoint();
  1882. if (!endpointOutcome.isSuccess())
  1883. return EnableVpcClassicLinkOutcome(endpointOutcome.error());
  1884. auto outcome = makeRequest(endpointOutcome.result(), request);
  1885. if (outcome.isSuccess())
  1886. return EnableVpcClassicLinkOutcome(EnableVpcClassicLinkResult(outcome.result()));
  1887. else
  1888. return EnableVpcClassicLinkOutcome(outcome.error());
  1889. }
  1890. void VpcClient::enableVpcClassicLinkAsync(const EnableVpcClassicLinkRequest& request, const EnableVpcClassicLinkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1891. {
  1892. auto fn = [this, request, handler, context]()
  1893. {
  1894. handler(this, request, enableVpcClassicLink(request), context);
  1895. };
  1896. asyncExecute(new Runnable(fn));
  1897. }
  1898. VpcClient::EnableVpcClassicLinkOutcomeCallable VpcClient::enableVpcClassicLinkCallable(const EnableVpcClassicLinkRequest &request) const
  1899. {
  1900. auto task = std::make_shared<std::packaged_task<EnableVpcClassicLinkOutcome()>>(
  1901. [this, request]()
  1902. {
  1903. return this->enableVpcClassicLink(request);
  1904. });
  1905. asyncExecute(new Runnable([task]() { (*task)(); }));
  1906. return task->get_future();
  1907. }
  1908. VpcClient::DeleteHaVipOutcome VpcClient::deleteHaVip(const DeleteHaVipRequest &request) const
  1909. {
  1910. auto endpointOutcome = endpoint();
  1911. if (!endpointOutcome.isSuccess())
  1912. return DeleteHaVipOutcome(endpointOutcome.error());
  1913. auto outcome = makeRequest(endpointOutcome.result(), request);
  1914. if (outcome.isSuccess())
  1915. return DeleteHaVipOutcome(DeleteHaVipResult(outcome.result()));
  1916. else
  1917. return DeleteHaVipOutcome(outcome.error());
  1918. }
  1919. void VpcClient::deleteHaVipAsync(const DeleteHaVipRequest& request, const DeleteHaVipAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1920. {
  1921. auto fn = [this, request, handler, context]()
  1922. {
  1923. handler(this, request, deleteHaVip(request), context);
  1924. };
  1925. asyncExecute(new Runnable(fn));
  1926. }
  1927. VpcClient::DeleteHaVipOutcomeCallable VpcClient::deleteHaVipCallable(const DeleteHaVipRequest &request) const
  1928. {
  1929. auto task = std::make_shared<std::packaged_task<DeleteHaVipOutcome()>>(
  1930. [this, request]()
  1931. {
  1932. return this->deleteHaVip(request);
  1933. });
  1934. asyncExecute(new Runnable([task]() { (*task)(); }));
  1935. return task->get_future();
  1936. }
  1937. VpcClient::DescribeVpcAttributeOutcome VpcClient::describeVpcAttribute(const DescribeVpcAttributeRequest &request) const
  1938. {
  1939. auto endpointOutcome = endpoint();
  1940. if (!endpointOutcome.isSuccess())
  1941. return DescribeVpcAttributeOutcome(endpointOutcome.error());
  1942. auto outcome = makeRequest(endpointOutcome.result(), request);
  1943. if (outcome.isSuccess())
  1944. return DescribeVpcAttributeOutcome(DescribeVpcAttributeResult(outcome.result()));
  1945. else
  1946. return DescribeVpcAttributeOutcome(outcome.error());
  1947. }
  1948. void VpcClient::describeVpcAttributeAsync(const DescribeVpcAttributeRequest& request, const DescribeVpcAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1949. {
  1950. auto fn = [this, request, handler, context]()
  1951. {
  1952. handler(this, request, describeVpcAttribute(request), context);
  1953. };
  1954. asyncExecute(new Runnable(fn));
  1955. }
  1956. VpcClient::DescribeVpcAttributeOutcomeCallable VpcClient::describeVpcAttributeCallable(const DescribeVpcAttributeRequest &request) const
  1957. {
  1958. auto task = std::make_shared<std::packaged_task<DescribeVpcAttributeOutcome()>>(
  1959. [this, request]()
  1960. {
  1961. return this->describeVpcAttribute(request);
  1962. });
  1963. asyncExecute(new Runnable([task]() { (*task)(); }));
  1964. return task->get_future();
  1965. }
  1966. VpcClient::CreateVpnConnectionOutcome VpcClient::createVpnConnection(const CreateVpnConnectionRequest &request) const
  1967. {
  1968. auto endpointOutcome = endpoint();
  1969. if (!endpointOutcome.isSuccess())
  1970. return CreateVpnConnectionOutcome(endpointOutcome.error());
  1971. auto outcome = makeRequest(endpointOutcome.result(), request);
  1972. if (outcome.isSuccess())
  1973. return CreateVpnConnectionOutcome(CreateVpnConnectionResult(outcome.result()));
  1974. else
  1975. return CreateVpnConnectionOutcome(outcome.error());
  1976. }
  1977. void VpcClient::createVpnConnectionAsync(const CreateVpnConnectionRequest& request, const CreateVpnConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  1978. {
  1979. auto fn = [this, request, handler, context]()
  1980. {
  1981. handler(this, request, createVpnConnection(request), context);
  1982. };
  1983. asyncExecute(new Runnable(fn));
  1984. }
  1985. VpcClient::CreateVpnConnectionOutcomeCallable VpcClient::createVpnConnectionCallable(const CreateVpnConnectionRequest &request) const
  1986. {
  1987. auto task = std::make_shared<std::packaged_task<CreateVpnConnectionOutcome()>>(
  1988. [this, request]()
  1989. {
  1990. return this->createVpnConnection(request);
  1991. });
  1992. asyncExecute(new Runnable([task]() { (*task)(); }));
  1993. return task->get_future();
  1994. }
  1995. VpcClient::DeleteVpnConnectionOutcome VpcClient::deleteVpnConnection(const DeleteVpnConnectionRequest &request) const
  1996. {
  1997. auto endpointOutcome = endpoint();
  1998. if (!endpointOutcome.isSuccess())
  1999. return DeleteVpnConnectionOutcome(endpointOutcome.error());
  2000. auto outcome = makeRequest(endpointOutcome.result(), request);
  2001. if (outcome.isSuccess())
  2002. return DeleteVpnConnectionOutcome(DeleteVpnConnectionResult(outcome.result()));
  2003. else
  2004. return DeleteVpnConnectionOutcome(outcome.error());
  2005. }
  2006. void VpcClient::deleteVpnConnectionAsync(const DeleteVpnConnectionRequest& request, const DeleteVpnConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2007. {
  2008. auto fn = [this, request, handler, context]()
  2009. {
  2010. handler(this, request, deleteVpnConnection(request), context);
  2011. };
  2012. asyncExecute(new Runnable(fn));
  2013. }
  2014. VpcClient::DeleteVpnConnectionOutcomeCallable VpcClient::deleteVpnConnectionCallable(const DeleteVpnConnectionRequest &request) const
  2015. {
  2016. auto task = std::make_shared<std::packaged_task<DeleteVpnConnectionOutcome()>>(
  2017. [this, request]()
  2018. {
  2019. return this->deleteVpnConnection(request);
  2020. });
  2021. asyncExecute(new Runnable([task]() { (*task)(); }));
  2022. return task->get_future();
  2023. }
  2024. VpcClient::DescribeBandwidthPackagesOutcome VpcClient::describeBandwidthPackages(const DescribeBandwidthPackagesRequest &request) const
  2025. {
  2026. auto endpointOutcome = endpoint();
  2027. if (!endpointOutcome.isSuccess())
  2028. return DescribeBandwidthPackagesOutcome(endpointOutcome.error());
  2029. auto outcome = makeRequest(endpointOutcome.result(), request);
  2030. if (outcome.isSuccess())
  2031. return DescribeBandwidthPackagesOutcome(DescribeBandwidthPackagesResult(outcome.result()));
  2032. else
  2033. return DescribeBandwidthPackagesOutcome(outcome.error());
  2034. }
  2035. void VpcClient::describeBandwidthPackagesAsync(const DescribeBandwidthPackagesRequest& request, const DescribeBandwidthPackagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2036. {
  2037. auto fn = [this, request, handler, context]()
  2038. {
  2039. handler(this, request, describeBandwidthPackages(request), context);
  2040. };
  2041. asyncExecute(new Runnable(fn));
  2042. }
  2043. VpcClient::DescribeBandwidthPackagesOutcomeCallable VpcClient::describeBandwidthPackagesCallable(const DescribeBandwidthPackagesRequest &request) const
  2044. {
  2045. auto task = std::make_shared<std::packaged_task<DescribeBandwidthPackagesOutcome()>>(
  2046. [this, request]()
  2047. {
  2048. return this->describeBandwidthPackages(request);
  2049. });
  2050. asyncExecute(new Runnable([task]() { (*task)(); }));
  2051. return task->get_future();
  2052. }
  2053. VpcClient::DeleteBgpNetworkOutcome VpcClient::deleteBgpNetwork(const DeleteBgpNetworkRequest &request) const
  2054. {
  2055. auto endpointOutcome = endpoint();
  2056. if (!endpointOutcome.isSuccess())
  2057. return DeleteBgpNetworkOutcome(endpointOutcome.error());
  2058. auto outcome = makeRequest(endpointOutcome.result(), request);
  2059. if (outcome.isSuccess())
  2060. return DeleteBgpNetworkOutcome(DeleteBgpNetworkResult(outcome.result()));
  2061. else
  2062. return DeleteBgpNetworkOutcome(outcome.error());
  2063. }
  2064. void VpcClient::deleteBgpNetworkAsync(const DeleteBgpNetworkRequest& request, const DeleteBgpNetworkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2065. {
  2066. auto fn = [this, request, handler, context]()
  2067. {
  2068. handler(this, request, deleteBgpNetwork(request), context);
  2069. };
  2070. asyncExecute(new Runnable(fn));
  2071. }
  2072. VpcClient::DeleteBgpNetworkOutcomeCallable VpcClient::deleteBgpNetworkCallable(const DeleteBgpNetworkRequest &request) const
  2073. {
  2074. auto task = std::make_shared<std::packaged_task<DeleteBgpNetworkOutcome()>>(
  2075. [this, request]()
  2076. {
  2077. return this->deleteBgpNetwork(request);
  2078. });
  2079. asyncExecute(new Runnable([task]() { (*task)(); }));
  2080. return task->get_future();
  2081. }
  2082. VpcClient::CreateRouteEntryOutcome VpcClient::createRouteEntry(const CreateRouteEntryRequest &request) const
  2083. {
  2084. auto endpointOutcome = endpoint();
  2085. if (!endpointOutcome.isSuccess())
  2086. return CreateRouteEntryOutcome(endpointOutcome.error());
  2087. auto outcome = makeRequest(endpointOutcome.result(), request);
  2088. if (outcome.isSuccess())
  2089. return CreateRouteEntryOutcome(CreateRouteEntryResult(outcome.result()));
  2090. else
  2091. return CreateRouteEntryOutcome(outcome.error());
  2092. }
  2093. void VpcClient::createRouteEntryAsync(const CreateRouteEntryRequest& request, const CreateRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2094. {
  2095. auto fn = [this, request, handler, context]()
  2096. {
  2097. handler(this, request, createRouteEntry(request), context);
  2098. };
  2099. asyncExecute(new Runnable(fn));
  2100. }
  2101. VpcClient::CreateRouteEntryOutcomeCallable VpcClient::createRouteEntryCallable(const CreateRouteEntryRequest &request) const
  2102. {
  2103. auto task = std::make_shared<std::packaged_task<CreateRouteEntryOutcome()>>(
  2104. [this, request]()
  2105. {
  2106. return this->createRouteEntry(request);
  2107. });
  2108. asyncExecute(new Runnable([task]() { (*task)(); }));
  2109. return task->get_future();
  2110. }
  2111. VpcClient::CreateRouterInterfaceOutcome VpcClient::createRouterInterface(const CreateRouterInterfaceRequest &request) const
  2112. {
  2113. auto endpointOutcome = endpoint();
  2114. if (!endpointOutcome.isSuccess())
  2115. return CreateRouterInterfaceOutcome(endpointOutcome.error());
  2116. auto outcome = makeRequest(endpointOutcome.result(), request);
  2117. if (outcome.isSuccess())
  2118. return CreateRouterInterfaceOutcome(CreateRouterInterfaceResult(outcome.result()));
  2119. else
  2120. return CreateRouterInterfaceOutcome(outcome.error());
  2121. }
  2122. void VpcClient::createRouterInterfaceAsync(const CreateRouterInterfaceRequest& request, const CreateRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2123. {
  2124. auto fn = [this, request, handler, context]()
  2125. {
  2126. handler(this, request, createRouterInterface(request), context);
  2127. };
  2128. asyncExecute(new Runnable(fn));
  2129. }
  2130. VpcClient::CreateRouterInterfaceOutcomeCallable VpcClient::createRouterInterfaceCallable(const CreateRouterInterfaceRequest &request) const
  2131. {
  2132. auto task = std::make_shared<std::packaged_task<CreateRouterInterfaceOutcome()>>(
  2133. [this, request]()
  2134. {
  2135. return this->createRouterInterface(request);
  2136. });
  2137. asyncExecute(new Runnable([task]() { (*task)(); }));
  2138. return task->get_future();
  2139. }
  2140. VpcClient::DisableVpcClassicLinkOutcome VpcClient::disableVpcClassicLink(const DisableVpcClassicLinkRequest &request) const
  2141. {
  2142. auto endpointOutcome = endpoint();
  2143. if (!endpointOutcome.isSuccess())
  2144. return DisableVpcClassicLinkOutcome(endpointOutcome.error());
  2145. auto outcome = makeRequest(endpointOutcome.result(), request);
  2146. if (outcome.isSuccess())
  2147. return DisableVpcClassicLinkOutcome(DisableVpcClassicLinkResult(outcome.result()));
  2148. else
  2149. return DisableVpcClassicLinkOutcome(outcome.error());
  2150. }
  2151. void VpcClient::disableVpcClassicLinkAsync(const DisableVpcClassicLinkRequest& request, const DisableVpcClassicLinkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2152. {
  2153. auto fn = [this, request, handler, context]()
  2154. {
  2155. handler(this, request, disableVpcClassicLink(request), context);
  2156. };
  2157. asyncExecute(new Runnable(fn));
  2158. }
  2159. VpcClient::DisableVpcClassicLinkOutcomeCallable VpcClient::disableVpcClassicLinkCallable(const DisableVpcClassicLinkRequest &request) const
  2160. {
  2161. auto task = std::make_shared<std::packaged_task<DisableVpcClassicLinkOutcome()>>(
  2162. [this, request]()
  2163. {
  2164. return this->disableVpcClassicLink(request);
  2165. });
  2166. asyncExecute(new Runnable([task]() { (*task)(); }));
  2167. return task->get_future();
  2168. }
  2169. VpcClient::ModifyVpnConnectionAttributeOutcome VpcClient::modifyVpnConnectionAttribute(const ModifyVpnConnectionAttributeRequest &request) const
  2170. {
  2171. auto endpointOutcome = endpoint();
  2172. if (!endpointOutcome.isSuccess())
  2173. return ModifyVpnConnectionAttributeOutcome(endpointOutcome.error());
  2174. auto outcome = makeRequest(endpointOutcome.result(), request);
  2175. if (outcome.isSuccess())
  2176. return ModifyVpnConnectionAttributeOutcome(ModifyVpnConnectionAttributeResult(outcome.result()));
  2177. else
  2178. return ModifyVpnConnectionAttributeOutcome(outcome.error());
  2179. }
  2180. void VpcClient::modifyVpnConnectionAttributeAsync(const ModifyVpnConnectionAttributeRequest& request, const ModifyVpnConnectionAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2181. {
  2182. auto fn = [this, request, handler, context]()
  2183. {
  2184. handler(this, request, modifyVpnConnectionAttribute(request), context);
  2185. };
  2186. asyncExecute(new Runnable(fn));
  2187. }
  2188. VpcClient::ModifyVpnConnectionAttributeOutcomeCallable VpcClient::modifyVpnConnectionAttributeCallable(const ModifyVpnConnectionAttributeRequest &request) const
  2189. {
  2190. auto task = std::make_shared<std::packaged_task<ModifyVpnConnectionAttributeOutcome()>>(
  2191. [this, request]()
  2192. {
  2193. return this->modifyVpnConnectionAttribute(request);
  2194. });
  2195. asyncExecute(new Runnable([task]() { (*task)(); }));
  2196. return task->get_future();
  2197. }
  2198. VpcClient::RemoveGlobalAccelerationInstanceIpOutcome VpcClient::removeGlobalAccelerationInstanceIp(const RemoveGlobalAccelerationInstanceIpRequest &request) const
  2199. {
  2200. auto endpointOutcome = endpoint();
  2201. if (!endpointOutcome.isSuccess())
  2202. return RemoveGlobalAccelerationInstanceIpOutcome(endpointOutcome.error());
  2203. auto outcome = makeRequest(endpointOutcome.result(), request);
  2204. if (outcome.isSuccess())
  2205. return RemoveGlobalAccelerationInstanceIpOutcome(RemoveGlobalAccelerationInstanceIpResult(outcome.result()));
  2206. else
  2207. return RemoveGlobalAccelerationInstanceIpOutcome(outcome.error());
  2208. }
  2209. void VpcClient::removeGlobalAccelerationInstanceIpAsync(const RemoveGlobalAccelerationInstanceIpRequest& request, const RemoveGlobalAccelerationInstanceIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2210. {
  2211. auto fn = [this, request, handler, context]()
  2212. {
  2213. handler(this, request, removeGlobalAccelerationInstanceIp(request), context);
  2214. };
  2215. asyncExecute(new Runnable(fn));
  2216. }
  2217. VpcClient::RemoveGlobalAccelerationInstanceIpOutcomeCallable VpcClient::removeGlobalAccelerationInstanceIpCallable(const RemoveGlobalAccelerationInstanceIpRequest &request) const
  2218. {
  2219. auto task = std::make_shared<std::packaged_task<RemoveGlobalAccelerationInstanceIpOutcome()>>(
  2220. [this, request]()
  2221. {
  2222. return this->removeGlobalAccelerationInstanceIp(request);
  2223. });
  2224. asyncExecute(new Runnable([task]() { (*task)(); }));
  2225. return task->get_future();
  2226. }
  2227. VpcClient::ModifyNatGatewaySpecOutcome VpcClient::modifyNatGatewaySpec(const ModifyNatGatewaySpecRequest &request) const
  2228. {
  2229. auto endpointOutcome = endpoint();
  2230. if (!endpointOutcome.isSuccess())
  2231. return ModifyNatGatewaySpecOutcome(endpointOutcome.error());
  2232. auto outcome = makeRequest(endpointOutcome.result(), request);
  2233. if (outcome.isSuccess())
  2234. return ModifyNatGatewaySpecOutcome(ModifyNatGatewaySpecResult(outcome.result()));
  2235. else
  2236. return ModifyNatGatewaySpecOutcome(outcome.error());
  2237. }
  2238. void VpcClient::modifyNatGatewaySpecAsync(const ModifyNatGatewaySpecRequest& request, const ModifyNatGatewaySpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2239. {
  2240. auto fn = [this, request, handler, context]()
  2241. {
  2242. handler(this, request, modifyNatGatewaySpec(request), context);
  2243. };
  2244. asyncExecute(new Runnable(fn));
  2245. }
  2246. VpcClient::ModifyNatGatewaySpecOutcomeCallable VpcClient::modifyNatGatewaySpecCallable(const ModifyNatGatewaySpecRequest &request) const
  2247. {
  2248. auto task = std::make_shared<std::packaged_task<ModifyNatGatewaySpecOutcome()>>(
  2249. [this, request]()
  2250. {
  2251. return this->modifyNatGatewaySpec(request);
  2252. });
  2253. asyncExecute(new Runnable([task]() { (*task)(); }));
  2254. return task->get_future();
  2255. }
  2256. VpcClient::DescribeBgpGroupsOutcome VpcClient::describeBgpGroups(const DescribeBgpGroupsRequest &request) const
  2257. {
  2258. auto endpointOutcome = endpoint();
  2259. if (!endpointOutcome.isSuccess())
  2260. return DescribeBgpGroupsOutcome(endpointOutcome.error());
  2261. auto outcome = makeRequest(endpointOutcome.result(), request);
  2262. if (outcome.isSuccess())
  2263. return DescribeBgpGroupsOutcome(DescribeBgpGroupsResult(outcome.result()));
  2264. else
  2265. return DescribeBgpGroupsOutcome(outcome.error());
  2266. }
  2267. void VpcClient::describeBgpGroupsAsync(const DescribeBgpGroupsRequest& request, const DescribeBgpGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2268. {
  2269. auto fn = [this, request, handler, context]()
  2270. {
  2271. handler(this, request, describeBgpGroups(request), context);
  2272. };
  2273. asyncExecute(new Runnable(fn));
  2274. }
  2275. VpcClient::DescribeBgpGroupsOutcomeCallable VpcClient::describeBgpGroupsCallable(const DescribeBgpGroupsRequest &request) const
  2276. {
  2277. auto task = std::make_shared<std::packaged_task<DescribeBgpGroupsOutcome()>>(
  2278. [this, request]()
  2279. {
  2280. return this->describeBgpGroups(request);
  2281. });
  2282. asyncExecute(new Runnable([task]() { (*task)(); }));
  2283. return task->get_future();
  2284. }
  2285. VpcClient::RemoveBandwidthPackageIpsOutcome VpcClient::removeBandwidthPackageIps(const RemoveBandwidthPackageIpsRequest &request) const
  2286. {
  2287. auto endpointOutcome = endpoint();
  2288. if (!endpointOutcome.isSuccess())
  2289. return RemoveBandwidthPackageIpsOutcome(endpointOutcome.error());
  2290. auto outcome = makeRequest(endpointOutcome.result(), request);
  2291. if (outcome.isSuccess())
  2292. return RemoveBandwidthPackageIpsOutcome(RemoveBandwidthPackageIpsResult(outcome.result()));
  2293. else
  2294. return RemoveBandwidthPackageIpsOutcome(outcome.error());
  2295. }
  2296. void VpcClient::removeBandwidthPackageIpsAsync(const RemoveBandwidthPackageIpsRequest& request, const RemoveBandwidthPackageIpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2297. {
  2298. auto fn = [this, request, handler, context]()
  2299. {
  2300. handler(this, request, removeBandwidthPackageIps(request), context);
  2301. };
  2302. asyncExecute(new Runnable(fn));
  2303. }
  2304. VpcClient::RemoveBandwidthPackageIpsOutcomeCallable VpcClient::removeBandwidthPackageIpsCallable(const RemoveBandwidthPackageIpsRequest &request) const
  2305. {
  2306. auto task = std::make_shared<std::packaged_task<RemoveBandwidthPackageIpsOutcome()>>(
  2307. [this, request]()
  2308. {
  2309. return this->removeBandwidthPackageIps(request);
  2310. });
  2311. asyncExecute(new Runnable([task]() { (*task)(); }));
  2312. return task->get_future();
  2313. }
  2314. VpcClient::ModifyVpcAttributeOutcome VpcClient::modifyVpcAttribute(const ModifyVpcAttributeRequest &request) const
  2315. {
  2316. auto endpointOutcome = endpoint();
  2317. if (!endpointOutcome.isSuccess())
  2318. return ModifyVpcAttributeOutcome(endpointOutcome.error());
  2319. auto outcome = makeRequest(endpointOutcome.result(), request);
  2320. if (outcome.isSuccess())
  2321. return ModifyVpcAttributeOutcome(ModifyVpcAttributeResult(outcome.result()));
  2322. else
  2323. return ModifyVpcAttributeOutcome(outcome.error());
  2324. }
  2325. void VpcClient::modifyVpcAttributeAsync(const ModifyVpcAttributeRequest& request, const ModifyVpcAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2326. {
  2327. auto fn = [this, request, handler, context]()
  2328. {
  2329. handler(this, request, modifyVpcAttribute(request), context);
  2330. };
  2331. asyncExecute(new Runnable(fn));
  2332. }
  2333. VpcClient::ModifyVpcAttributeOutcomeCallable VpcClient::modifyVpcAttributeCallable(const ModifyVpcAttributeRequest &request) const
  2334. {
  2335. auto task = std::make_shared<std::packaged_task<ModifyVpcAttributeOutcome()>>(
  2336. [this, request]()
  2337. {
  2338. return this->modifyVpcAttribute(request);
  2339. });
  2340. asyncExecute(new Runnable([task]() { (*task)(); }));
  2341. return task->get_future();
  2342. }
  2343. VpcClient::DeleteSslVpnClientCertOutcome VpcClient::deleteSslVpnClientCert(const DeleteSslVpnClientCertRequest &request) const
  2344. {
  2345. auto endpointOutcome = endpoint();
  2346. if (!endpointOutcome.isSuccess())
  2347. return DeleteSslVpnClientCertOutcome(endpointOutcome.error());
  2348. auto outcome = makeRequest(endpointOutcome.result(), request);
  2349. if (outcome.isSuccess())
  2350. return DeleteSslVpnClientCertOutcome(DeleteSslVpnClientCertResult(outcome.result()));
  2351. else
  2352. return DeleteSslVpnClientCertOutcome(outcome.error());
  2353. }
  2354. void VpcClient::deleteSslVpnClientCertAsync(const DeleteSslVpnClientCertRequest& request, const DeleteSslVpnClientCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2355. {
  2356. auto fn = [this, request, handler, context]()
  2357. {
  2358. handler(this, request, deleteSslVpnClientCert(request), context);
  2359. };
  2360. asyncExecute(new Runnable(fn));
  2361. }
  2362. VpcClient::DeleteSslVpnClientCertOutcomeCallable VpcClient::deleteSslVpnClientCertCallable(const DeleteSslVpnClientCertRequest &request) const
  2363. {
  2364. auto task = std::make_shared<std::packaged_task<DeleteSslVpnClientCertOutcome()>>(
  2365. [this, request]()
  2366. {
  2367. return this->deleteSslVpnClientCert(request);
  2368. });
  2369. asyncExecute(new Runnable([task]() { (*task)(); }));
  2370. return task->get_future();
  2371. }
  2372. VpcClient::CreateVSwitchOutcome VpcClient::createVSwitch(const CreateVSwitchRequest &request) const
  2373. {
  2374. auto endpointOutcome = endpoint();
  2375. if (!endpointOutcome.isSuccess())
  2376. return CreateVSwitchOutcome(endpointOutcome.error());
  2377. auto outcome = makeRequest(endpointOutcome.result(), request);
  2378. if (outcome.isSuccess())
  2379. return CreateVSwitchOutcome(CreateVSwitchResult(outcome.result()));
  2380. else
  2381. return CreateVSwitchOutcome(outcome.error());
  2382. }
  2383. void VpcClient::createVSwitchAsync(const CreateVSwitchRequest& request, const CreateVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2384. {
  2385. auto fn = [this, request, handler, context]()
  2386. {
  2387. handler(this, request, createVSwitch(request), context);
  2388. };
  2389. asyncExecute(new Runnable(fn));
  2390. }
  2391. VpcClient::CreateVSwitchOutcomeCallable VpcClient::createVSwitchCallable(const CreateVSwitchRequest &request) const
  2392. {
  2393. auto task = std::make_shared<std::packaged_task<CreateVSwitchOutcome()>>(
  2394. [this, request]()
  2395. {
  2396. return this->createVSwitch(request);
  2397. });
  2398. asyncExecute(new Runnable([task]() { (*task)(); }));
  2399. return task->get_future();
  2400. }
  2401. VpcClient::ModifyCustomerGatewayAttributeOutcome VpcClient::modifyCustomerGatewayAttribute(const ModifyCustomerGatewayAttributeRequest &request) const
  2402. {
  2403. auto endpointOutcome = endpoint();
  2404. if (!endpointOutcome.isSuccess())
  2405. return ModifyCustomerGatewayAttributeOutcome(endpointOutcome.error());
  2406. auto outcome = makeRequest(endpointOutcome.result(), request);
  2407. if (outcome.isSuccess())
  2408. return ModifyCustomerGatewayAttributeOutcome(ModifyCustomerGatewayAttributeResult(outcome.result()));
  2409. else
  2410. return ModifyCustomerGatewayAttributeOutcome(outcome.error());
  2411. }
  2412. void VpcClient::modifyCustomerGatewayAttributeAsync(const ModifyCustomerGatewayAttributeRequest& request, const ModifyCustomerGatewayAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2413. {
  2414. auto fn = [this, request, handler, context]()
  2415. {
  2416. handler(this, request, modifyCustomerGatewayAttribute(request), context);
  2417. };
  2418. asyncExecute(new Runnable(fn));
  2419. }
  2420. VpcClient::ModifyCustomerGatewayAttributeOutcomeCallable VpcClient::modifyCustomerGatewayAttributeCallable(const ModifyCustomerGatewayAttributeRequest &request) const
  2421. {
  2422. auto task = std::make_shared<std::packaged_task<ModifyCustomerGatewayAttributeOutcome()>>(
  2423. [this, request]()
  2424. {
  2425. return this->modifyCustomerGatewayAttribute(request);
  2426. });
  2427. asyncExecute(new Runnable([task]() { (*task)(); }));
  2428. return task->get_future();
  2429. }
  2430. VpcClient::EnablePhysicalConnectionOutcome VpcClient::enablePhysicalConnection(const EnablePhysicalConnectionRequest &request) const
  2431. {
  2432. auto endpointOutcome = endpoint();
  2433. if (!endpointOutcome.isSuccess())
  2434. return EnablePhysicalConnectionOutcome(endpointOutcome.error());
  2435. auto outcome = makeRequest(endpointOutcome.result(), request);
  2436. if (outcome.isSuccess())
  2437. return EnablePhysicalConnectionOutcome(EnablePhysicalConnectionResult(outcome.result()));
  2438. else
  2439. return EnablePhysicalConnectionOutcome(outcome.error());
  2440. }
  2441. void VpcClient::enablePhysicalConnectionAsync(const EnablePhysicalConnectionRequest& request, const EnablePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2442. {
  2443. auto fn = [this, request, handler, context]()
  2444. {
  2445. handler(this, request, enablePhysicalConnection(request), context);
  2446. };
  2447. asyncExecute(new Runnable(fn));
  2448. }
  2449. VpcClient::EnablePhysicalConnectionOutcomeCallable VpcClient::enablePhysicalConnectionCallable(const EnablePhysicalConnectionRequest &request) const
  2450. {
  2451. auto task = std::make_shared<std::packaged_task<EnablePhysicalConnectionOutcome()>>(
  2452. [this, request]()
  2453. {
  2454. return this->enablePhysicalConnection(request);
  2455. });
  2456. asyncExecute(new Runnable([task]() { (*task)(); }));
  2457. return task->get_future();
  2458. }
  2459. VpcClient::ModifyEipAddressAttributeOutcome VpcClient::modifyEipAddressAttribute(const ModifyEipAddressAttributeRequest &request) const
  2460. {
  2461. auto endpointOutcome = endpoint();
  2462. if (!endpointOutcome.isSuccess())
  2463. return ModifyEipAddressAttributeOutcome(endpointOutcome.error());
  2464. auto outcome = makeRequest(endpointOutcome.result(), request);
  2465. if (outcome.isSuccess())
  2466. return ModifyEipAddressAttributeOutcome(ModifyEipAddressAttributeResult(outcome.result()));
  2467. else
  2468. return ModifyEipAddressAttributeOutcome(outcome.error());
  2469. }
  2470. void VpcClient::modifyEipAddressAttributeAsync(const ModifyEipAddressAttributeRequest& request, const ModifyEipAddressAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2471. {
  2472. auto fn = [this, request, handler, context]()
  2473. {
  2474. handler(this, request, modifyEipAddressAttribute(request), context);
  2475. };
  2476. asyncExecute(new Runnable(fn));
  2477. }
  2478. VpcClient::ModifyEipAddressAttributeOutcomeCallable VpcClient::modifyEipAddressAttributeCallable(const ModifyEipAddressAttributeRequest &request) const
  2479. {
  2480. auto task = std::make_shared<std::packaged_task<ModifyEipAddressAttributeOutcome()>>(
  2481. [this, request]()
  2482. {
  2483. return this->modifyEipAddressAttribute(request);
  2484. });
  2485. asyncExecute(new Runnable([task]() { (*task)(); }));
  2486. return task->get_future();
  2487. }
  2488. VpcClient::ModifyCommonBandwidthPackagePayTypeOutcome VpcClient::modifyCommonBandwidthPackagePayType(const ModifyCommonBandwidthPackagePayTypeRequest &request) const
  2489. {
  2490. auto endpointOutcome = endpoint();
  2491. if (!endpointOutcome.isSuccess())
  2492. return ModifyCommonBandwidthPackagePayTypeOutcome(endpointOutcome.error());
  2493. auto outcome = makeRequest(endpointOutcome.result(), request);
  2494. if (outcome.isSuccess())
  2495. return ModifyCommonBandwidthPackagePayTypeOutcome(ModifyCommonBandwidthPackagePayTypeResult(outcome.result()));
  2496. else
  2497. return ModifyCommonBandwidthPackagePayTypeOutcome(outcome.error());
  2498. }
  2499. void VpcClient::modifyCommonBandwidthPackagePayTypeAsync(const ModifyCommonBandwidthPackagePayTypeRequest& request, const ModifyCommonBandwidthPackagePayTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2500. {
  2501. auto fn = [this, request, handler, context]()
  2502. {
  2503. handler(this, request, modifyCommonBandwidthPackagePayType(request), context);
  2504. };
  2505. asyncExecute(new Runnable(fn));
  2506. }
  2507. VpcClient::ModifyCommonBandwidthPackagePayTypeOutcomeCallable VpcClient::modifyCommonBandwidthPackagePayTypeCallable(const ModifyCommonBandwidthPackagePayTypeRequest &request) const
  2508. {
  2509. auto task = std::make_shared<std::packaged_task<ModifyCommonBandwidthPackagePayTypeOutcome()>>(
  2510. [this, request]()
  2511. {
  2512. return this->modifyCommonBandwidthPackagePayType(request);
  2513. });
  2514. asyncExecute(new Runnable([task]() { (*task)(); }));
  2515. return task->get_future();
  2516. }
  2517. VpcClient::DescribeVSwitchAttributesOutcome VpcClient::describeVSwitchAttributes(const DescribeVSwitchAttributesRequest &request) const
  2518. {
  2519. auto endpointOutcome = endpoint();
  2520. if (!endpointOutcome.isSuccess())
  2521. return DescribeVSwitchAttributesOutcome(endpointOutcome.error());
  2522. auto outcome = makeRequest(endpointOutcome.result(), request);
  2523. if (outcome.isSuccess())
  2524. return DescribeVSwitchAttributesOutcome(DescribeVSwitchAttributesResult(outcome.result()));
  2525. else
  2526. return DescribeVSwitchAttributesOutcome(outcome.error());
  2527. }
  2528. void VpcClient::describeVSwitchAttributesAsync(const DescribeVSwitchAttributesRequest& request, const DescribeVSwitchAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2529. {
  2530. auto fn = [this, request, handler, context]()
  2531. {
  2532. handler(this, request, describeVSwitchAttributes(request), context);
  2533. };
  2534. asyncExecute(new Runnable(fn));
  2535. }
  2536. VpcClient::DescribeVSwitchAttributesOutcomeCallable VpcClient::describeVSwitchAttributesCallable(const DescribeVSwitchAttributesRequest &request) const
  2537. {
  2538. auto task = std::make_shared<std::packaged_task<DescribeVSwitchAttributesOutcome()>>(
  2539. [this, request]()
  2540. {
  2541. return this->describeVSwitchAttributes(request);
  2542. });
  2543. asyncExecute(new Runnable([task]() { (*task)(); }));
  2544. return task->get_future();
  2545. }
  2546. VpcClient::CreateCommonBandwidthPackageOutcome VpcClient::createCommonBandwidthPackage(const CreateCommonBandwidthPackageRequest &request) const
  2547. {
  2548. auto endpointOutcome = endpoint();
  2549. if (!endpointOutcome.isSuccess())
  2550. return CreateCommonBandwidthPackageOutcome(endpointOutcome.error());
  2551. auto outcome = makeRequest(endpointOutcome.result(), request);
  2552. if (outcome.isSuccess())
  2553. return CreateCommonBandwidthPackageOutcome(CreateCommonBandwidthPackageResult(outcome.result()));
  2554. else
  2555. return CreateCommonBandwidthPackageOutcome(outcome.error());
  2556. }
  2557. void VpcClient::createCommonBandwidthPackageAsync(const CreateCommonBandwidthPackageRequest& request, const CreateCommonBandwidthPackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2558. {
  2559. auto fn = [this, request, handler, context]()
  2560. {
  2561. handler(this, request, createCommonBandwidthPackage(request), context);
  2562. };
  2563. asyncExecute(new Runnable(fn));
  2564. }
  2565. VpcClient::CreateCommonBandwidthPackageOutcomeCallable VpcClient::createCommonBandwidthPackageCallable(const CreateCommonBandwidthPackageRequest &request) const
  2566. {
  2567. auto task = std::make_shared<std::packaged_task<CreateCommonBandwidthPackageOutcome()>>(
  2568. [this, request]()
  2569. {
  2570. return this->createCommonBandwidthPackage(request);
  2571. });
  2572. asyncExecute(new Runnable([task]() { (*task)(); }));
  2573. return task->get_future();
  2574. }
  2575. VpcClient::CreateForwardEntryOutcome VpcClient::createForwardEntry(const CreateForwardEntryRequest &request) const
  2576. {
  2577. auto endpointOutcome = endpoint();
  2578. if (!endpointOutcome.isSuccess())
  2579. return CreateForwardEntryOutcome(endpointOutcome.error());
  2580. auto outcome = makeRequest(endpointOutcome.result(), request);
  2581. if (outcome.isSuccess())
  2582. return CreateForwardEntryOutcome(CreateForwardEntryResult(outcome.result()));
  2583. else
  2584. return CreateForwardEntryOutcome(outcome.error());
  2585. }
  2586. void VpcClient::createForwardEntryAsync(const CreateForwardEntryRequest& request, const CreateForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2587. {
  2588. auto fn = [this, request, handler, context]()
  2589. {
  2590. handler(this, request, createForwardEntry(request), context);
  2591. };
  2592. asyncExecute(new Runnable(fn));
  2593. }
  2594. VpcClient::CreateForwardEntryOutcomeCallable VpcClient::createForwardEntryCallable(const CreateForwardEntryRequest &request) const
  2595. {
  2596. auto task = std::make_shared<std::packaged_task<CreateForwardEntryOutcome()>>(
  2597. [this, request]()
  2598. {
  2599. return this->createForwardEntry(request);
  2600. });
  2601. asyncExecute(new Runnable([task]() { (*task)(); }));
  2602. return task->get_future();
  2603. }
  2604. VpcClient::DescribeRouterInterfacesOutcome VpcClient::describeRouterInterfaces(const DescribeRouterInterfacesRequest &request) const
  2605. {
  2606. auto endpointOutcome = endpoint();
  2607. if (!endpointOutcome.isSuccess())
  2608. return DescribeRouterInterfacesOutcome(endpointOutcome.error());
  2609. auto outcome = makeRequest(endpointOutcome.result(), request);
  2610. if (outcome.isSuccess())
  2611. return DescribeRouterInterfacesOutcome(DescribeRouterInterfacesResult(outcome.result()));
  2612. else
  2613. return DescribeRouterInterfacesOutcome(outcome.error());
  2614. }
  2615. void VpcClient::describeRouterInterfacesAsync(const DescribeRouterInterfacesRequest& request, const DescribeRouterInterfacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2616. {
  2617. auto fn = [this, request, handler, context]()
  2618. {
  2619. handler(this, request, describeRouterInterfaces(request), context);
  2620. };
  2621. asyncExecute(new Runnable(fn));
  2622. }
  2623. VpcClient::DescribeRouterInterfacesOutcomeCallable VpcClient::describeRouterInterfacesCallable(const DescribeRouterInterfacesRequest &request) const
  2624. {
  2625. auto task = std::make_shared<std::packaged_task<DescribeRouterInterfacesOutcome()>>(
  2626. [this, request]()
  2627. {
  2628. return this->describeRouterInterfaces(request);
  2629. });
  2630. asyncExecute(new Runnable([task]() { (*task)(); }));
  2631. return task->get_future();
  2632. }
  2633. VpcClient::DeleteNatGatewayOutcome VpcClient::deleteNatGateway(const DeleteNatGatewayRequest &request) const
  2634. {
  2635. auto endpointOutcome = endpoint();
  2636. if (!endpointOutcome.isSuccess())
  2637. return DeleteNatGatewayOutcome(endpointOutcome.error());
  2638. auto outcome = makeRequest(endpointOutcome.result(), request);
  2639. if (outcome.isSuccess())
  2640. return DeleteNatGatewayOutcome(DeleteNatGatewayResult(outcome.result()));
  2641. else
  2642. return DeleteNatGatewayOutcome(outcome.error());
  2643. }
  2644. void VpcClient::deleteNatGatewayAsync(const DeleteNatGatewayRequest& request, const DeleteNatGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2645. {
  2646. auto fn = [this, request, handler, context]()
  2647. {
  2648. handler(this, request, deleteNatGateway(request), context);
  2649. };
  2650. asyncExecute(new Runnable(fn));
  2651. }
  2652. VpcClient::DeleteNatGatewayOutcomeCallable VpcClient::deleteNatGatewayCallable(const DeleteNatGatewayRequest &request) const
  2653. {
  2654. auto task = std::make_shared<std::packaged_task<DeleteNatGatewayOutcome()>>(
  2655. [this, request]()
  2656. {
  2657. return this->deleteNatGateway(request);
  2658. });
  2659. asyncExecute(new Runnable([task]() { (*task)(); }));
  2660. return task->get_future();
  2661. }
  2662. VpcClient::DescribeZonesOutcome VpcClient::describeZones(const DescribeZonesRequest &request) const
  2663. {
  2664. auto endpointOutcome = endpoint();
  2665. if (!endpointOutcome.isSuccess())
  2666. return DescribeZonesOutcome(endpointOutcome.error());
  2667. auto outcome = makeRequest(endpointOutcome.result(), request);
  2668. if (outcome.isSuccess())
  2669. return DescribeZonesOutcome(DescribeZonesResult(outcome.result()));
  2670. else
  2671. return DescribeZonesOutcome(outcome.error());
  2672. }
  2673. void VpcClient::describeZonesAsync(const DescribeZonesRequest& request, const DescribeZonesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2674. {
  2675. auto fn = [this, request, handler, context]()
  2676. {
  2677. handler(this, request, describeZones(request), context);
  2678. };
  2679. asyncExecute(new Runnable(fn));
  2680. }
  2681. VpcClient::DescribeZonesOutcomeCallable VpcClient::describeZonesCallable(const DescribeZonesRequest &request) const
  2682. {
  2683. auto task = std::make_shared<std::packaged_task<DescribeZonesOutcome()>>(
  2684. [this, request]()
  2685. {
  2686. return this->describeZones(request);
  2687. });
  2688. asyncExecute(new Runnable([task]() { (*task)(); }));
  2689. return task->get_future();
  2690. }
  2691. VpcClient::DeactivateRouterInterfaceOutcome VpcClient::deactivateRouterInterface(const DeactivateRouterInterfaceRequest &request) const
  2692. {
  2693. auto endpointOutcome = endpoint();
  2694. if (!endpointOutcome.isSuccess())
  2695. return DeactivateRouterInterfaceOutcome(endpointOutcome.error());
  2696. auto outcome = makeRequest(endpointOutcome.result(), request);
  2697. if (outcome.isSuccess())
  2698. return DeactivateRouterInterfaceOutcome(DeactivateRouterInterfaceResult(outcome.result()));
  2699. else
  2700. return DeactivateRouterInterfaceOutcome(outcome.error());
  2701. }
  2702. void VpcClient::deactivateRouterInterfaceAsync(const DeactivateRouterInterfaceRequest& request, const DeactivateRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2703. {
  2704. auto fn = [this, request, handler, context]()
  2705. {
  2706. handler(this, request, deactivateRouterInterface(request), context);
  2707. };
  2708. asyncExecute(new Runnable(fn));
  2709. }
  2710. VpcClient::DeactivateRouterInterfaceOutcomeCallable VpcClient::deactivateRouterInterfaceCallable(const DeactivateRouterInterfaceRequest &request) const
  2711. {
  2712. auto task = std::make_shared<std::packaged_task<DeactivateRouterInterfaceOutcome()>>(
  2713. [this, request]()
  2714. {
  2715. return this->deactivateRouterInterface(request);
  2716. });
  2717. asyncExecute(new Runnable([task]() { (*task)(); }));
  2718. return task->get_future();
  2719. }
  2720. VpcClient::ModifySnatEntryOutcome VpcClient::modifySnatEntry(const ModifySnatEntryRequest &request) const
  2721. {
  2722. auto endpointOutcome = endpoint();
  2723. if (!endpointOutcome.isSuccess())
  2724. return ModifySnatEntryOutcome(endpointOutcome.error());
  2725. auto outcome = makeRequest(endpointOutcome.result(), request);
  2726. if (outcome.isSuccess())
  2727. return ModifySnatEntryOutcome(ModifySnatEntryResult(outcome.result()));
  2728. else
  2729. return ModifySnatEntryOutcome(outcome.error());
  2730. }
  2731. void VpcClient::modifySnatEntryAsync(const ModifySnatEntryRequest& request, const ModifySnatEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2732. {
  2733. auto fn = [this, request, handler, context]()
  2734. {
  2735. handler(this, request, modifySnatEntry(request), context);
  2736. };
  2737. asyncExecute(new Runnable(fn));
  2738. }
  2739. VpcClient::ModifySnatEntryOutcomeCallable VpcClient::modifySnatEntryCallable(const ModifySnatEntryRequest &request) const
  2740. {
  2741. auto task = std::make_shared<std::packaged_task<ModifySnatEntryOutcome()>>(
  2742. [this, request]()
  2743. {
  2744. return this->modifySnatEntry(request);
  2745. });
  2746. asyncExecute(new Runnable([task]() { (*task)(); }));
  2747. return task->get_future();
  2748. }
  2749. VpcClient::DescribeAccessPointsOutcome VpcClient::describeAccessPoints(const DescribeAccessPointsRequest &request) const
  2750. {
  2751. auto endpointOutcome = endpoint();
  2752. if (!endpointOutcome.isSuccess())
  2753. return DescribeAccessPointsOutcome(endpointOutcome.error());
  2754. auto outcome = makeRequest(endpointOutcome.result(), request);
  2755. if (outcome.isSuccess())
  2756. return DescribeAccessPointsOutcome(DescribeAccessPointsResult(outcome.result()));
  2757. else
  2758. return DescribeAccessPointsOutcome(outcome.error());
  2759. }
  2760. void VpcClient::describeAccessPointsAsync(const DescribeAccessPointsRequest& request, const DescribeAccessPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2761. {
  2762. auto fn = [this, request, handler, context]()
  2763. {
  2764. handler(this, request, describeAccessPoints(request), context);
  2765. };
  2766. asyncExecute(new Runnable(fn));
  2767. }
  2768. VpcClient::DescribeAccessPointsOutcomeCallable VpcClient::describeAccessPointsCallable(const DescribeAccessPointsRequest &request) const
  2769. {
  2770. auto task = std::make_shared<std::packaged_task<DescribeAccessPointsOutcome()>>(
  2771. [this, request]()
  2772. {
  2773. return this->describeAccessPoints(request);
  2774. });
  2775. asyncExecute(new Runnable([task]() { (*task)(); }));
  2776. return task->get_future();
  2777. }
  2778. VpcClient::CreateSslVpnClientCertOutcome VpcClient::createSslVpnClientCert(const CreateSslVpnClientCertRequest &request) const
  2779. {
  2780. auto endpointOutcome = endpoint();
  2781. if (!endpointOutcome.isSuccess())
  2782. return CreateSslVpnClientCertOutcome(endpointOutcome.error());
  2783. auto outcome = makeRequest(endpointOutcome.result(), request);
  2784. if (outcome.isSuccess())
  2785. return CreateSslVpnClientCertOutcome(CreateSslVpnClientCertResult(outcome.result()));
  2786. else
  2787. return CreateSslVpnClientCertOutcome(outcome.error());
  2788. }
  2789. void VpcClient::createSslVpnClientCertAsync(const CreateSslVpnClientCertRequest& request, const CreateSslVpnClientCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2790. {
  2791. auto fn = [this, request, handler, context]()
  2792. {
  2793. handler(this, request, createSslVpnClientCert(request), context);
  2794. };
  2795. asyncExecute(new Runnable(fn));
  2796. }
  2797. VpcClient::CreateSslVpnClientCertOutcomeCallable VpcClient::createSslVpnClientCertCallable(const CreateSslVpnClientCertRequest &request) const
  2798. {
  2799. auto task = std::make_shared<std::packaged_task<CreateSslVpnClientCertOutcome()>>(
  2800. [this, request]()
  2801. {
  2802. return this->createSslVpnClientCert(request);
  2803. });
  2804. asyncExecute(new Runnable([task]() { (*task)(); }));
  2805. return task->get_future();
  2806. }
  2807. VpcClient::CreateVirtualBorderRouterOutcome VpcClient::createVirtualBorderRouter(const CreateVirtualBorderRouterRequest &request) const
  2808. {
  2809. auto endpointOutcome = endpoint();
  2810. if (!endpointOutcome.isSuccess())
  2811. return CreateVirtualBorderRouterOutcome(endpointOutcome.error());
  2812. auto outcome = makeRequest(endpointOutcome.result(), request);
  2813. if (outcome.isSuccess())
  2814. return CreateVirtualBorderRouterOutcome(CreateVirtualBorderRouterResult(outcome.result()));
  2815. else
  2816. return CreateVirtualBorderRouterOutcome(outcome.error());
  2817. }
  2818. void VpcClient::createVirtualBorderRouterAsync(const CreateVirtualBorderRouterRequest& request, const CreateVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2819. {
  2820. auto fn = [this, request, handler, context]()
  2821. {
  2822. handler(this, request, createVirtualBorderRouter(request), context);
  2823. };
  2824. asyncExecute(new Runnable(fn));
  2825. }
  2826. VpcClient::CreateVirtualBorderRouterOutcomeCallable VpcClient::createVirtualBorderRouterCallable(const CreateVirtualBorderRouterRequest &request) const
  2827. {
  2828. auto task = std::make_shared<std::packaged_task<CreateVirtualBorderRouterOutcome()>>(
  2829. [this, request]()
  2830. {
  2831. return this->createVirtualBorderRouter(request);
  2832. });
  2833. asyncExecute(new Runnable([task]() { (*task)(); }));
  2834. return task->get_future();
  2835. }
  2836. VpcClient::DeleteBgpGroupOutcome VpcClient::deleteBgpGroup(const DeleteBgpGroupRequest &request) const
  2837. {
  2838. auto endpointOutcome = endpoint();
  2839. if (!endpointOutcome.isSuccess())
  2840. return DeleteBgpGroupOutcome(endpointOutcome.error());
  2841. auto outcome = makeRequest(endpointOutcome.result(), request);
  2842. if (outcome.isSuccess())
  2843. return DeleteBgpGroupOutcome(DeleteBgpGroupResult(outcome.result()));
  2844. else
  2845. return DeleteBgpGroupOutcome(outcome.error());
  2846. }
  2847. void VpcClient::deleteBgpGroupAsync(const DeleteBgpGroupRequest& request, const DeleteBgpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2848. {
  2849. auto fn = [this, request, handler, context]()
  2850. {
  2851. handler(this, request, deleteBgpGroup(request), context);
  2852. };
  2853. asyncExecute(new Runnable(fn));
  2854. }
  2855. VpcClient::DeleteBgpGroupOutcomeCallable VpcClient::deleteBgpGroupCallable(const DeleteBgpGroupRequest &request) const
  2856. {
  2857. auto task = std::make_shared<std::packaged_task<DeleteBgpGroupOutcome()>>(
  2858. [this, request]()
  2859. {
  2860. return this->deleteBgpGroup(request);
  2861. });
  2862. asyncExecute(new Runnable([task]() { (*task)(); }));
  2863. return task->get_future();
  2864. }
  2865. VpcClient::ReleaseEipAddressOutcome VpcClient::releaseEipAddress(const ReleaseEipAddressRequest &request) const
  2866. {
  2867. auto endpointOutcome = endpoint();
  2868. if (!endpointOutcome.isSuccess())
  2869. return ReleaseEipAddressOutcome(endpointOutcome.error());
  2870. auto outcome = makeRequest(endpointOutcome.result(), request);
  2871. if (outcome.isSuccess())
  2872. return ReleaseEipAddressOutcome(ReleaseEipAddressResult(outcome.result()));
  2873. else
  2874. return ReleaseEipAddressOutcome(outcome.error());
  2875. }
  2876. void VpcClient::releaseEipAddressAsync(const ReleaseEipAddressRequest& request, const ReleaseEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2877. {
  2878. auto fn = [this, request, handler, context]()
  2879. {
  2880. handler(this, request, releaseEipAddress(request), context);
  2881. };
  2882. asyncExecute(new Runnable(fn));
  2883. }
  2884. VpcClient::ReleaseEipAddressOutcomeCallable VpcClient::releaseEipAddressCallable(const ReleaseEipAddressRequest &request) const
  2885. {
  2886. auto task = std::make_shared<std::packaged_task<ReleaseEipAddressOutcome()>>(
  2887. [this, request]()
  2888. {
  2889. return this->releaseEipAddress(request);
  2890. });
  2891. asyncExecute(new Runnable([task]() { (*task)(); }));
  2892. return task->get_future();
  2893. }
  2894. VpcClient::CreateBgpPeerOutcome VpcClient::createBgpPeer(const CreateBgpPeerRequest &request) const
  2895. {
  2896. auto endpointOutcome = endpoint();
  2897. if (!endpointOutcome.isSuccess())
  2898. return CreateBgpPeerOutcome(endpointOutcome.error());
  2899. auto outcome = makeRequest(endpointOutcome.result(), request);
  2900. if (outcome.isSuccess())
  2901. return CreateBgpPeerOutcome(CreateBgpPeerResult(outcome.result()));
  2902. else
  2903. return CreateBgpPeerOutcome(outcome.error());
  2904. }
  2905. void VpcClient::createBgpPeerAsync(const CreateBgpPeerRequest& request, const CreateBgpPeerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2906. {
  2907. auto fn = [this, request, handler, context]()
  2908. {
  2909. handler(this, request, createBgpPeer(request), context);
  2910. };
  2911. asyncExecute(new Runnable(fn));
  2912. }
  2913. VpcClient::CreateBgpPeerOutcomeCallable VpcClient::createBgpPeerCallable(const CreateBgpPeerRequest &request) const
  2914. {
  2915. auto task = std::make_shared<std::packaged_task<CreateBgpPeerOutcome()>>(
  2916. [this, request]()
  2917. {
  2918. return this->createBgpPeer(request);
  2919. });
  2920. asyncExecute(new Runnable([task]() { (*task)(); }));
  2921. return task->get_future();
  2922. }
  2923. VpcClient::DescribeRouteTablesOutcome VpcClient::describeRouteTables(const DescribeRouteTablesRequest &request) const
  2924. {
  2925. auto endpointOutcome = endpoint();
  2926. if (!endpointOutcome.isSuccess())
  2927. return DescribeRouteTablesOutcome(endpointOutcome.error());
  2928. auto outcome = makeRequest(endpointOutcome.result(), request);
  2929. if (outcome.isSuccess())
  2930. return DescribeRouteTablesOutcome(DescribeRouteTablesResult(outcome.result()));
  2931. else
  2932. return DescribeRouteTablesOutcome(outcome.error());
  2933. }
  2934. void VpcClient::describeRouteTablesAsync(const DescribeRouteTablesRequest& request, const DescribeRouteTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2935. {
  2936. auto fn = [this, request, handler, context]()
  2937. {
  2938. handler(this, request, describeRouteTables(request), context);
  2939. };
  2940. asyncExecute(new Runnable(fn));
  2941. }
  2942. VpcClient::DescribeRouteTablesOutcomeCallable VpcClient::describeRouteTablesCallable(const DescribeRouteTablesRequest &request) const
  2943. {
  2944. auto task = std::make_shared<std::packaged_task<DescribeRouteTablesOutcome()>>(
  2945. [this, request]()
  2946. {
  2947. return this->describeRouteTables(request);
  2948. });
  2949. asyncExecute(new Runnable([task]() { (*task)(); }));
  2950. return task->get_future();
  2951. }
  2952. VpcClient::DescribeVSwitchesOutcome VpcClient::describeVSwitches(const DescribeVSwitchesRequest &request) const
  2953. {
  2954. auto endpointOutcome = endpoint();
  2955. if (!endpointOutcome.isSuccess())
  2956. return DescribeVSwitchesOutcome(endpointOutcome.error());
  2957. auto outcome = makeRequest(endpointOutcome.result(), request);
  2958. if (outcome.isSuccess())
  2959. return DescribeVSwitchesOutcome(DescribeVSwitchesResult(outcome.result()));
  2960. else
  2961. return DescribeVSwitchesOutcome(outcome.error());
  2962. }
  2963. void VpcClient::describeVSwitchesAsync(const DescribeVSwitchesRequest& request, const DescribeVSwitchesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2964. {
  2965. auto fn = [this, request, handler, context]()
  2966. {
  2967. handler(this, request, describeVSwitches(request), context);
  2968. };
  2969. asyncExecute(new Runnable(fn));
  2970. }
  2971. VpcClient::DescribeVSwitchesOutcomeCallable VpcClient::describeVSwitchesCallable(const DescribeVSwitchesRequest &request) const
  2972. {
  2973. auto task = std::make_shared<std::packaged_task<DescribeVSwitchesOutcome()>>(
  2974. [this, request]()
  2975. {
  2976. return this->describeVSwitches(request);
  2977. });
  2978. asyncExecute(new Runnable([task]() { (*task)(); }));
  2979. return task->get_future();
  2980. }
  2981. VpcClient::ModifyRouterInterfaceSpecOutcome VpcClient::modifyRouterInterfaceSpec(const ModifyRouterInterfaceSpecRequest &request) const
  2982. {
  2983. auto endpointOutcome = endpoint();
  2984. if (!endpointOutcome.isSuccess())
  2985. return ModifyRouterInterfaceSpecOutcome(endpointOutcome.error());
  2986. auto outcome = makeRequest(endpointOutcome.result(), request);
  2987. if (outcome.isSuccess())
  2988. return ModifyRouterInterfaceSpecOutcome(ModifyRouterInterfaceSpecResult(outcome.result()));
  2989. else
  2990. return ModifyRouterInterfaceSpecOutcome(outcome.error());
  2991. }
  2992. void VpcClient::modifyRouterInterfaceSpecAsync(const ModifyRouterInterfaceSpecRequest& request, const ModifyRouterInterfaceSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  2993. {
  2994. auto fn = [this, request, handler, context]()
  2995. {
  2996. handler(this, request, modifyRouterInterfaceSpec(request), context);
  2997. };
  2998. asyncExecute(new Runnable(fn));
  2999. }
  3000. VpcClient::ModifyRouterInterfaceSpecOutcomeCallable VpcClient::modifyRouterInterfaceSpecCallable(const ModifyRouterInterfaceSpecRequest &request) const
  3001. {
  3002. auto task = std::make_shared<std::packaged_task<ModifyRouterInterfaceSpecOutcome()>>(
  3003. [this, request]()
  3004. {
  3005. return this->modifyRouterInterfaceSpec(request);
  3006. });
  3007. asyncExecute(new Runnable([task]() { (*task)(); }));
  3008. return task->get_future();
  3009. }
  3010. VpcClient::DescribeVpcsOutcome VpcClient::describeVpcs(const DescribeVpcsRequest &request) const
  3011. {
  3012. auto endpointOutcome = endpoint();
  3013. if (!endpointOutcome.isSuccess())
  3014. return DescribeVpcsOutcome(endpointOutcome.error());
  3015. auto outcome = makeRequest(endpointOutcome.result(), request);
  3016. if (outcome.isSuccess())
  3017. return DescribeVpcsOutcome(DescribeVpcsResult(outcome.result()));
  3018. else
  3019. return DescribeVpcsOutcome(outcome.error());
  3020. }
  3021. void VpcClient::describeVpcsAsync(const DescribeVpcsRequest& request, const DescribeVpcsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3022. {
  3023. auto fn = [this, request, handler, context]()
  3024. {
  3025. handler(this, request, describeVpcs(request), context);
  3026. };
  3027. asyncExecute(new Runnable(fn));
  3028. }
  3029. VpcClient::DescribeVpcsOutcomeCallable VpcClient::describeVpcsCallable(const DescribeVpcsRequest &request) const
  3030. {
  3031. auto task = std::make_shared<std::packaged_task<DescribeVpcsOutcome()>>(
  3032. [this, request]()
  3033. {
  3034. return this->describeVpcs(request);
  3035. });
  3036. asyncExecute(new Runnable([task]() { (*task)(); }));
  3037. return task->get_future();
  3038. }
  3039. VpcClient::CreatePhysicalConnectionOutcome VpcClient::createPhysicalConnection(const CreatePhysicalConnectionRequest &request) const
  3040. {
  3041. auto endpointOutcome = endpoint();
  3042. if (!endpointOutcome.isSuccess())
  3043. return CreatePhysicalConnectionOutcome(endpointOutcome.error());
  3044. auto outcome = makeRequest(endpointOutcome.result(), request);
  3045. if (outcome.isSuccess())
  3046. return CreatePhysicalConnectionOutcome(CreatePhysicalConnectionResult(outcome.result()));
  3047. else
  3048. return CreatePhysicalConnectionOutcome(outcome.error());
  3049. }
  3050. void VpcClient::createPhysicalConnectionAsync(const CreatePhysicalConnectionRequest& request, const CreatePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3051. {
  3052. auto fn = [this, request, handler, context]()
  3053. {
  3054. handler(this, request, createPhysicalConnection(request), context);
  3055. };
  3056. asyncExecute(new Runnable(fn));
  3057. }
  3058. VpcClient::CreatePhysicalConnectionOutcomeCallable VpcClient::createPhysicalConnectionCallable(const CreatePhysicalConnectionRequest &request) const
  3059. {
  3060. auto task = std::make_shared<std::packaged_task<CreatePhysicalConnectionOutcome()>>(
  3061. [this, request]()
  3062. {
  3063. return this->createPhysicalConnection(request);
  3064. });
  3065. asyncExecute(new Runnable([task]() { (*task)(); }));
  3066. return task->get_future();
  3067. }
  3068. VpcClient::UnassociatePhysicalConnectionFromVirtualBorderRouterOutcome VpcClient::unassociatePhysicalConnectionFromVirtualBorderRouter(const UnassociatePhysicalConnectionFromVirtualBorderRouterRequest &request) const
  3069. {
  3070. auto endpointOutcome = endpoint();
  3071. if (!endpointOutcome.isSuccess())
  3072. return UnassociatePhysicalConnectionFromVirtualBorderRouterOutcome(endpointOutcome.error());
  3073. auto outcome = makeRequest(endpointOutcome.result(), request);
  3074. if (outcome.isSuccess())
  3075. return UnassociatePhysicalConnectionFromVirtualBorderRouterOutcome(UnassociatePhysicalConnectionFromVirtualBorderRouterResult(outcome.result()));
  3076. else
  3077. return UnassociatePhysicalConnectionFromVirtualBorderRouterOutcome(outcome.error());
  3078. }
  3079. void VpcClient::unassociatePhysicalConnectionFromVirtualBorderRouterAsync(const UnassociatePhysicalConnectionFromVirtualBorderRouterRequest& request, const UnassociatePhysicalConnectionFromVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3080. {
  3081. auto fn = [this, request, handler, context]()
  3082. {
  3083. handler(this, request, unassociatePhysicalConnectionFromVirtualBorderRouter(request), context);
  3084. };
  3085. asyncExecute(new Runnable(fn));
  3086. }
  3087. VpcClient::UnassociatePhysicalConnectionFromVirtualBorderRouterOutcomeCallable VpcClient::unassociatePhysicalConnectionFromVirtualBorderRouterCallable(const UnassociatePhysicalConnectionFromVirtualBorderRouterRequest &request) const
  3088. {
  3089. auto task = std::make_shared<std::packaged_task<UnassociatePhysicalConnectionFromVirtualBorderRouterOutcome()>>(
  3090. [this, request]()
  3091. {
  3092. return this->unassociatePhysicalConnectionFromVirtualBorderRouter(request);
  3093. });
  3094. asyncExecute(new Runnable([task]() { (*task)(); }));
  3095. return task->get_future();
  3096. }
  3097. VpcClient::DescribeServerRelatedGlobalAccelerationInstancesOutcome VpcClient::describeServerRelatedGlobalAccelerationInstances(const DescribeServerRelatedGlobalAccelerationInstancesRequest &request) const
  3098. {
  3099. auto endpointOutcome = endpoint();
  3100. if (!endpointOutcome.isSuccess())
  3101. return DescribeServerRelatedGlobalAccelerationInstancesOutcome(endpointOutcome.error());
  3102. auto outcome = makeRequest(endpointOutcome.result(), request);
  3103. if (outcome.isSuccess())
  3104. return DescribeServerRelatedGlobalAccelerationInstancesOutcome(DescribeServerRelatedGlobalAccelerationInstancesResult(outcome.result()));
  3105. else
  3106. return DescribeServerRelatedGlobalAccelerationInstancesOutcome(outcome.error());
  3107. }
  3108. void VpcClient::describeServerRelatedGlobalAccelerationInstancesAsync(const DescribeServerRelatedGlobalAccelerationInstancesRequest& request, const DescribeServerRelatedGlobalAccelerationInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3109. {
  3110. auto fn = [this, request, handler, context]()
  3111. {
  3112. handler(this, request, describeServerRelatedGlobalAccelerationInstances(request), context);
  3113. };
  3114. asyncExecute(new Runnable(fn));
  3115. }
  3116. VpcClient::DescribeServerRelatedGlobalAccelerationInstancesOutcomeCallable VpcClient::describeServerRelatedGlobalAccelerationInstancesCallable(const DescribeServerRelatedGlobalAccelerationInstancesRequest &request) const
  3117. {
  3118. auto task = std::make_shared<std::packaged_task<DescribeServerRelatedGlobalAccelerationInstancesOutcome()>>(
  3119. [this, request]()
  3120. {
  3121. return this->describeServerRelatedGlobalAccelerationInstances(request);
  3122. });
  3123. asyncExecute(new Runnable([task]() { (*task)(); }));
  3124. return task->get_future();
  3125. }
  3126. VpcClient::AssociateHaVipOutcome VpcClient::associateHaVip(const AssociateHaVipRequest &request) const
  3127. {
  3128. auto endpointOutcome = endpoint();
  3129. if (!endpointOutcome.isSuccess())
  3130. return AssociateHaVipOutcome(endpointOutcome.error());
  3131. auto outcome = makeRequest(endpointOutcome.result(), request);
  3132. if (outcome.isSuccess())
  3133. return AssociateHaVipOutcome(AssociateHaVipResult(outcome.result()));
  3134. else
  3135. return AssociateHaVipOutcome(outcome.error());
  3136. }
  3137. void VpcClient::associateHaVipAsync(const AssociateHaVipRequest& request, const AssociateHaVipAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3138. {
  3139. auto fn = [this, request, handler, context]()
  3140. {
  3141. handler(this, request, associateHaVip(request), context);
  3142. };
  3143. asyncExecute(new Runnable(fn));
  3144. }
  3145. VpcClient::AssociateHaVipOutcomeCallable VpcClient::associateHaVipCallable(const AssociateHaVipRequest &request) const
  3146. {
  3147. auto task = std::make_shared<std::packaged_task<AssociateHaVipOutcome()>>(
  3148. [this, request]()
  3149. {
  3150. return this->associateHaVip(request);
  3151. });
  3152. asyncExecute(new Runnable([task]() { (*task)(); }));
  3153. return task->get_future();
  3154. }
  3155. VpcClient::ModifyRouterInterfaceAttributeOutcome VpcClient::modifyRouterInterfaceAttribute(const ModifyRouterInterfaceAttributeRequest &request) const
  3156. {
  3157. auto endpointOutcome = endpoint();
  3158. if (!endpointOutcome.isSuccess())
  3159. return ModifyRouterInterfaceAttributeOutcome(endpointOutcome.error());
  3160. auto outcome = makeRequest(endpointOutcome.result(), request);
  3161. if (outcome.isSuccess())
  3162. return ModifyRouterInterfaceAttributeOutcome(ModifyRouterInterfaceAttributeResult(outcome.result()));
  3163. else
  3164. return ModifyRouterInterfaceAttributeOutcome(outcome.error());
  3165. }
  3166. void VpcClient::modifyRouterInterfaceAttributeAsync(const ModifyRouterInterfaceAttributeRequest& request, const ModifyRouterInterfaceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3167. {
  3168. auto fn = [this, request, handler, context]()
  3169. {
  3170. handler(this, request, modifyRouterInterfaceAttribute(request), context);
  3171. };
  3172. asyncExecute(new Runnable(fn));
  3173. }
  3174. VpcClient::ModifyRouterInterfaceAttributeOutcomeCallable VpcClient::modifyRouterInterfaceAttributeCallable(const ModifyRouterInterfaceAttributeRequest &request) const
  3175. {
  3176. auto task = std::make_shared<std::packaged_task<ModifyRouterInterfaceAttributeOutcome()>>(
  3177. [this, request]()
  3178. {
  3179. return this->modifyRouterInterfaceAttribute(request);
  3180. });
  3181. asyncExecute(new Runnable([task]() { (*task)(); }));
  3182. return task->get_future();
  3183. }
  3184. VpcClient::DescribeVirtualBorderRoutersForPhysicalConnectionOutcome VpcClient::describeVirtualBorderRoutersForPhysicalConnection(const DescribeVirtualBorderRoutersForPhysicalConnectionRequest &request) const
  3185. {
  3186. auto endpointOutcome = endpoint();
  3187. if (!endpointOutcome.isSuccess())
  3188. return DescribeVirtualBorderRoutersForPhysicalConnectionOutcome(endpointOutcome.error());
  3189. auto outcome = makeRequest(endpointOutcome.result(), request);
  3190. if (outcome.isSuccess())
  3191. return DescribeVirtualBorderRoutersForPhysicalConnectionOutcome(DescribeVirtualBorderRoutersForPhysicalConnectionResult(outcome.result()));
  3192. else
  3193. return DescribeVirtualBorderRoutersForPhysicalConnectionOutcome(outcome.error());
  3194. }
  3195. void VpcClient::describeVirtualBorderRoutersForPhysicalConnectionAsync(const DescribeVirtualBorderRoutersForPhysicalConnectionRequest& request, const DescribeVirtualBorderRoutersForPhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3196. {
  3197. auto fn = [this, request, handler, context]()
  3198. {
  3199. handler(this, request, describeVirtualBorderRoutersForPhysicalConnection(request), context);
  3200. };
  3201. asyncExecute(new Runnable(fn));
  3202. }
  3203. VpcClient::DescribeVirtualBorderRoutersForPhysicalConnectionOutcomeCallable VpcClient::describeVirtualBorderRoutersForPhysicalConnectionCallable(const DescribeVirtualBorderRoutersForPhysicalConnectionRequest &request) const
  3204. {
  3205. auto task = std::make_shared<std::packaged_task<DescribeVirtualBorderRoutersForPhysicalConnectionOutcome()>>(
  3206. [this, request]()
  3207. {
  3208. return this->describeVirtualBorderRoutersForPhysicalConnection(request);
  3209. });
  3210. asyncExecute(new Runnable([task]() { (*task)(); }));
  3211. return task->get_future();
  3212. }
  3213. VpcClient::ModifyGlobalAccelerationInstanceAttributesOutcome VpcClient::modifyGlobalAccelerationInstanceAttributes(const ModifyGlobalAccelerationInstanceAttributesRequest &request) const
  3214. {
  3215. auto endpointOutcome = endpoint();
  3216. if (!endpointOutcome.isSuccess())
  3217. return ModifyGlobalAccelerationInstanceAttributesOutcome(endpointOutcome.error());
  3218. auto outcome = makeRequest(endpointOutcome.result(), request);
  3219. if (outcome.isSuccess())
  3220. return ModifyGlobalAccelerationInstanceAttributesOutcome(ModifyGlobalAccelerationInstanceAttributesResult(outcome.result()));
  3221. else
  3222. return ModifyGlobalAccelerationInstanceAttributesOutcome(outcome.error());
  3223. }
  3224. void VpcClient::modifyGlobalAccelerationInstanceAttributesAsync(const ModifyGlobalAccelerationInstanceAttributesRequest& request, const ModifyGlobalAccelerationInstanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3225. {
  3226. auto fn = [this, request, handler, context]()
  3227. {
  3228. handler(this, request, modifyGlobalAccelerationInstanceAttributes(request), context);
  3229. };
  3230. asyncExecute(new Runnable(fn));
  3231. }
  3232. VpcClient::ModifyGlobalAccelerationInstanceAttributesOutcomeCallable VpcClient::modifyGlobalAccelerationInstanceAttributesCallable(const ModifyGlobalAccelerationInstanceAttributesRequest &request) const
  3233. {
  3234. auto task = std::make_shared<std::packaged_task<ModifyGlobalAccelerationInstanceAttributesOutcome()>>(
  3235. [this, request]()
  3236. {
  3237. return this->modifyGlobalAccelerationInstanceAttributes(request);
  3238. });
  3239. asyncExecute(new Runnable([task]() { (*task)(); }));
  3240. return task->get_future();
  3241. }
  3242. VpcClient::ModifyCommonBandwidthPackageSpecOutcome VpcClient::modifyCommonBandwidthPackageSpec(const ModifyCommonBandwidthPackageSpecRequest &request) const
  3243. {
  3244. auto endpointOutcome = endpoint();
  3245. if (!endpointOutcome.isSuccess())
  3246. return ModifyCommonBandwidthPackageSpecOutcome(endpointOutcome.error());
  3247. auto outcome = makeRequest(endpointOutcome.result(), request);
  3248. if (outcome.isSuccess())
  3249. return ModifyCommonBandwidthPackageSpecOutcome(ModifyCommonBandwidthPackageSpecResult(outcome.result()));
  3250. else
  3251. return ModifyCommonBandwidthPackageSpecOutcome(outcome.error());
  3252. }
  3253. void VpcClient::modifyCommonBandwidthPackageSpecAsync(const ModifyCommonBandwidthPackageSpecRequest& request, const ModifyCommonBandwidthPackageSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3254. {
  3255. auto fn = [this, request, handler, context]()
  3256. {
  3257. handler(this, request, modifyCommonBandwidthPackageSpec(request), context);
  3258. };
  3259. asyncExecute(new Runnable(fn));
  3260. }
  3261. VpcClient::ModifyCommonBandwidthPackageSpecOutcomeCallable VpcClient::modifyCommonBandwidthPackageSpecCallable(const ModifyCommonBandwidthPackageSpecRequest &request) const
  3262. {
  3263. auto task = std::make_shared<std::packaged_task<ModifyCommonBandwidthPackageSpecOutcome()>>(
  3264. [this, request]()
  3265. {
  3266. return this->modifyCommonBandwidthPackageSpec(request);
  3267. });
  3268. asyncExecute(new Runnable([task]() { (*task)(); }));
  3269. return task->get_future();
  3270. }
  3271. VpcClient::DeleteRouteEntryOutcome VpcClient::deleteRouteEntry(const DeleteRouteEntryRequest &request) const
  3272. {
  3273. auto endpointOutcome = endpoint();
  3274. if (!endpointOutcome.isSuccess())
  3275. return DeleteRouteEntryOutcome(endpointOutcome.error());
  3276. auto outcome = makeRequest(endpointOutcome.result(), request);
  3277. if (outcome.isSuccess())
  3278. return DeleteRouteEntryOutcome(DeleteRouteEntryResult(outcome.result()));
  3279. else
  3280. return DeleteRouteEntryOutcome(outcome.error());
  3281. }
  3282. void VpcClient::deleteRouteEntryAsync(const DeleteRouteEntryRequest& request, const DeleteRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3283. {
  3284. auto fn = [this, request, handler, context]()
  3285. {
  3286. handler(this, request, deleteRouteEntry(request), context);
  3287. };
  3288. asyncExecute(new Runnable(fn));
  3289. }
  3290. VpcClient::DeleteRouteEntryOutcomeCallable VpcClient::deleteRouteEntryCallable(const DeleteRouteEntryRequest &request) const
  3291. {
  3292. auto task = std::make_shared<std::packaged_task<DeleteRouteEntryOutcome()>>(
  3293. [this, request]()
  3294. {
  3295. return this->deleteRouteEntry(request);
  3296. });
  3297. asyncExecute(new Runnable([task]() { (*task)(); }));
  3298. return task->get_future();
  3299. }
  3300. VpcClient::DeleteVirtualBorderRouterOutcome VpcClient::deleteVirtualBorderRouter(const DeleteVirtualBorderRouterRequest &request) const
  3301. {
  3302. auto endpointOutcome = endpoint();
  3303. if (!endpointOutcome.isSuccess())
  3304. return DeleteVirtualBorderRouterOutcome(endpointOutcome.error());
  3305. auto outcome = makeRequest(endpointOutcome.result(), request);
  3306. if (outcome.isSuccess())
  3307. return DeleteVirtualBorderRouterOutcome(DeleteVirtualBorderRouterResult(outcome.result()));
  3308. else
  3309. return DeleteVirtualBorderRouterOutcome(outcome.error());
  3310. }
  3311. void VpcClient::deleteVirtualBorderRouterAsync(const DeleteVirtualBorderRouterRequest& request, const DeleteVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3312. {
  3313. auto fn = [this, request, handler, context]()
  3314. {
  3315. handler(this, request, deleteVirtualBorderRouter(request), context);
  3316. };
  3317. asyncExecute(new Runnable(fn));
  3318. }
  3319. VpcClient::DeleteVirtualBorderRouterOutcomeCallable VpcClient::deleteVirtualBorderRouterCallable(const DeleteVirtualBorderRouterRequest &request) const
  3320. {
  3321. auto task = std::make_shared<std::packaged_task<DeleteVirtualBorderRouterOutcome()>>(
  3322. [this, request]()
  3323. {
  3324. return this->deleteVirtualBorderRouter(request);
  3325. });
  3326. asyncExecute(new Runnable([task]() { (*task)(); }));
  3327. return task->get_future();
  3328. }
  3329. VpcClient::CreatePhysicalConnectionNewOutcome VpcClient::createPhysicalConnectionNew(const CreatePhysicalConnectionNewRequest &request) const
  3330. {
  3331. auto endpointOutcome = endpoint();
  3332. if (!endpointOutcome.isSuccess())
  3333. return CreatePhysicalConnectionNewOutcome(endpointOutcome.error());
  3334. auto outcome = makeRequest(endpointOutcome.result(), request);
  3335. if (outcome.isSuccess())
  3336. return CreatePhysicalConnectionNewOutcome(CreatePhysicalConnectionNewResult(outcome.result()));
  3337. else
  3338. return CreatePhysicalConnectionNewOutcome(outcome.error());
  3339. }
  3340. void VpcClient::createPhysicalConnectionNewAsync(const CreatePhysicalConnectionNewRequest& request, const CreatePhysicalConnectionNewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3341. {
  3342. auto fn = [this, request, handler, context]()
  3343. {
  3344. handler(this, request, createPhysicalConnectionNew(request), context);
  3345. };
  3346. asyncExecute(new Runnable(fn));
  3347. }
  3348. VpcClient::CreatePhysicalConnectionNewOutcomeCallable VpcClient::createPhysicalConnectionNewCallable(const CreatePhysicalConnectionNewRequest &request) const
  3349. {
  3350. auto task = std::make_shared<std::packaged_task<CreatePhysicalConnectionNewOutcome()>>(
  3351. [this, request]()
  3352. {
  3353. return this->createPhysicalConnectionNew(request);
  3354. });
  3355. asyncExecute(new Runnable([task]() { (*task)(); }));
  3356. return task->get_future();
  3357. }
  3358. VpcClient::TerminatePhysicalConnectionOutcome VpcClient::terminatePhysicalConnection(const TerminatePhysicalConnectionRequest &request) const
  3359. {
  3360. auto endpointOutcome = endpoint();
  3361. if (!endpointOutcome.isSuccess())
  3362. return TerminatePhysicalConnectionOutcome(endpointOutcome.error());
  3363. auto outcome = makeRequest(endpointOutcome.result(), request);
  3364. if (outcome.isSuccess())
  3365. return TerminatePhysicalConnectionOutcome(TerminatePhysicalConnectionResult(outcome.result()));
  3366. else
  3367. return TerminatePhysicalConnectionOutcome(outcome.error());
  3368. }
  3369. void VpcClient::terminatePhysicalConnectionAsync(const TerminatePhysicalConnectionRequest& request, const TerminatePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3370. {
  3371. auto fn = [this, request, handler, context]()
  3372. {
  3373. handler(this, request, terminatePhysicalConnection(request), context);
  3374. };
  3375. asyncExecute(new Runnable(fn));
  3376. }
  3377. VpcClient::TerminatePhysicalConnectionOutcomeCallable VpcClient::terminatePhysicalConnectionCallable(const TerminatePhysicalConnectionRequest &request) const
  3378. {
  3379. auto task = std::make_shared<std::packaged_task<TerminatePhysicalConnectionOutcome()>>(
  3380. [this, request]()
  3381. {
  3382. return this->terminatePhysicalConnection(request);
  3383. });
  3384. asyncExecute(new Runnable([task]() { (*task)(); }));
  3385. return task->get_future();
  3386. }
  3387. VpcClient::DescribeVpnGatewayOutcome VpcClient::describeVpnGateway(const DescribeVpnGatewayRequest &request) const
  3388. {
  3389. auto endpointOutcome = endpoint();
  3390. if (!endpointOutcome.isSuccess())
  3391. return DescribeVpnGatewayOutcome(endpointOutcome.error());
  3392. auto outcome = makeRequest(endpointOutcome.result(), request);
  3393. if (outcome.isSuccess())
  3394. return DescribeVpnGatewayOutcome(DescribeVpnGatewayResult(outcome.result()));
  3395. else
  3396. return DescribeVpnGatewayOutcome(outcome.error());
  3397. }
  3398. void VpcClient::describeVpnGatewayAsync(const DescribeVpnGatewayRequest& request, const DescribeVpnGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3399. {
  3400. auto fn = [this, request, handler, context]()
  3401. {
  3402. handler(this, request, describeVpnGateway(request), context);
  3403. };
  3404. asyncExecute(new Runnable(fn));
  3405. }
  3406. VpcClient::DescribeVpnGatewayOutcomeCallable VpcClient::describeVpnGatewayCallable(const DescribeVpnGatewayRequest &request) const
  3407. {
  3408. auto task = std::make_shared<std::packaged_task<DescribeVpnGatewayOutcome()>>(
  3409. [this, request]()
  3410. {
  3411. return this->describeVpnGateway(request);
  3412. });
  3413. asyncExecute(new Runnable([task]() { (*task)(); }));
  3414. return task->get_future();
  3415. }
  3416. VpcClient::ModifyBgpGroupAttributeOutcome VpcClient::modifyBgpGroupAttribute(const ModifyBgpGroupAttributeRequest &request) const
  3417. {
  3418. auto endpointOutcome = endpoint();
  3419. if (!endpointOutcome.isSuccess())
  3420. return ModifyBgpGroupAttributeOutcome(endpointOutcome.error());
  3421. auto outcome = makeRequest(endpointOutcome.result(), request);
  3422. if (outcome.isSuccess())
  3423. return ModifyBgpGroupAttributeOutcome(ModifyBgpGroupAttributeResult(outcome.result()));
  3424. else
  3425. return ModifyBgpGroupAttributeOutcome(outcome.error());
  3426. }
  3427. void VpcClient::modifyBgpGroupAttributeAsync(const ModifyBgpGroupAttributeRequest& request, const ModifyBgpGroupAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3428. {
  3429. auto fn = [this, request, handler, context]()
  3430. {
  3431. handler(this, request, modifyBgpGroupAttribute(request), context);
  3432. };
  3433. asyncExecute(new Runnable(fn));
  3434. }
  3435. VpcClient::ModifyBgpGroupAttributeOutcomeCallable VpcClient::modifyBgpGroupAttributeCallable(const ModifyBgpGroupAttributeRequest &request) const
  3436. {
  3437. auto task = std::make_shared<std::packaged_task<ModifyBgpGroupAttributeOutcome()>>(
  3438. [this, request]()
  3439. {
  3440. return this->modifyBgpGroupAttribute(request);
  3441. });
  3442. asyncExecute(new Runnable([task]() { (*task)(); }));
  3443. return task->get_future();
  3444. }
  3445. VpcClient::ModifyCommonBandwidthPackageAttributeOutcome VpcClient::modifyCommonBandwidthPackageAttribute(const ModifyCommonBandwidthPackageAttributeRequest &request) const
  3446. {
  3447. auto endpointOutcome = endpoint();
  3448. if (!endpointOutcome.isSuccess())
  3449. return ModifyCommonBandwidthPackageAttributeOutcome(endpointOutcome.error());
  3450. auto outcome = makeRequest(endpointOutcome.result(), request);
  3451. if (outcome.isSuccess())
  3452. return ModifyCommonBandwidthPackageAttributeOutcome(ModifyCommonBandwidthPackageAttributeResult(outcome.result()));
  3453. else
  3454. return ModifyCommonBandwidthPackageAttributeOutcome(outcome.error());
  3455. }
  3456. void VpcClient::modifyCommonBandwidthPackageAttributeAsync(const ModifyCommonBandwidthPackageAttributeRequest& request, const ModifyCommonBandwidthPackageAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3457. {
  3458. auto fn = [this, request, handler, context]()
  3459. {
  3460. handler(this, request, modifyCommonBandwidthPackageAttribute(request), context);
  3461. };
  3462. asyncExecute(new Runnable(fn));
  3463. }
  3464. VpcClient::ModifyCommonBandwidthPackageAttributeOutcomeCallable VpcClient::modifyCommonBandwidthPackageAttributeCallable(const ModifyCommonBandwidthPackageAttributeRequest &request) const
  3465. {
  3466. auto task = std::make_shared<std::packaged_task<ModifyCommonBandwidthPackageAttributeOutcome()>>(
  3467. [this, request]()
  3468. {
  3469. return this->modifyCommonBandwidthPackageAttribute(request);
  3470. });
  3471. asyncExecute(new Runnable([task]() { (*task)(); }));
  3472. return task->get_future();
  3473. }
  3474. VpcClient::DeleteForwardEntryOutcome VpcClient::deleteForwardEntry(const DeleteForwardEntryRequest &request) const
  3475. {
  3476. auto endpointOutcome = endpoint();
  3477. if (!endpointOutcome.isSuccess())
  3478. return DeleteForwardEntryOutcome(endpointOutcome.error());
  3479. auto outcome = makeRequest(endpointOutcome.result(), request);
  3480. if (outcome.isSuccess())
  3481. return DeleteForwardEntryOutcome(DeleteForwardEntryResult(outcome.result()));
  3482. else
  3483. return DeleteForwardEntryOutcome(outcome.error());
  3484. }
  3485. void VpcClient::deleteForwardEntryAsync(const DeleteForwardEntryRequest& request, const DeleteForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3486. {
  3487. auto fn = [this, request, handler, context]()
  3488. {
  3489. handler(this, request, deleteForwardEntry(request), context);
  3490. };
  3491. asyncExecute(new Runnable(fn));
  3492. }
  3493. VpcClient::DeleteForwardEntryOutcomeCallable VpcClient::deleteForwardEntryCallable(const DeleteForwardEntryRequest &request) const
  3494. {
  3495. auto task = std::make_shared<std::packaged_task<DeleteForwardEntryOutcome()>>(
  3496. [this, request]()
  3497. {
  3498. return this->deleteForwardEntry(request);
  3499. });
  3500. asyncExecute(new Runnable([task]() { (*task)(); }));
  3501. return task->get_future();
  3502. }
  3503. VpcClient::AddCommonBandwidthPackageIpOutcome VpcClient::addCommonBandwidthPackageIp(const AddCommonBandwidthPackageIpRequest &request) const
  3504. {
  3505. auto endpointOutcome = endpoint();
  3506. if (!endpointOutcome.isSuccess())
  3507. return AddCommonBandwidthPackageIpOutcome(endpointOutcome.error());
  3508. auto outcome = makeRequest(endpointOutcome.result(), request);
  3509. if (outcome.isSuccess())
  3510. return AddCommonBandwidthPackageIpOutcome(AddCommonBandwidthPackageIpResult(outcome.result()));
  3511. else
  3512. return AddCommonBandwidthPackageIpOutcome(outcome.error());
  3513. }
  3514. void VpcClient::addCommonBandwidthPackageIpAsync(const AddCommonBandwidthPackageIpRequest& request, const AddCommonBandwidthPackageIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3515. {
  3516. auto fn = [this, request, handler, context]()
  3517. {
  3518. handler(this, request, addCommonBandwidthPackageIp(request), context);
  3519. };
  3520. asyncExecute(new Runnable(fn));
  3521. }
  3522. VpcClient::AddCommonBandwidthPackageIpOutcomeCallable VpcClient::addCommonBandwidthPackageIpCallable(const AddCommonBandwidthPackageIpRequest &request) const
  3523. {
  3524. auto task = std::make_shared<std::packaged_task<AddCommonBandwidthPackageIpOutcome()>>(
  3525. [this, request]()
  3526. {
  3527. return this->addCommonBandwidthPackageIp(request);
  3528. });
  3529. asyncExecute(new Runnable([task]() { (*task)(); }));
  3530. return task->get_future();
  3531. }
  3532. VpcClient::DescribeRegionsOutcome VpcClient::describeRegions(const DescribeRegionsRequest &request) const
  3533. {
  3534. auto endpointOutcome = endpoint();
  3535. if (!endpointOutcome.isSuccess())
  3536. return DescribeRegionsOutcome(endpointOutcome.error());
  3537. auto outcome = makeRequest(endpointOutcome.result(), request);
  3538. if (outcome.isSuccess())
  3539. return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
  3540. else
  3541. return DescribeRegionsOutcome(outcome.error());
  3542. }
  3543. void VpcClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3544. {
  3545. auto fn = [this, request, handler, context]()
  3546. {
  3547. handler(this, request, describeRegions(request), context);
  3548. };
  3549. asyncExecute(new Runnable(fn));
  3550. }
  3551. VpcClient::DescribeRegionsOutcomeCallable VpcClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
  3552. {
  3553. auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
  3554. [this, request]()
  3555. {
  3556. return this->describeRegions(request);
  3557. });
  3558. asyncExecute(new Runnable([task]() { (*task)(); }));
  3559. return task->get_future();
  3560. }
  3561. VpcClient::DescribePhysicalConnectionsOutcome VpcClient::describePhysicalConnections(const DescribePhysicalConnectionsRequest &request) const
  3562. {
  3563. auto endpointOutcome = endpoint();
  3564. if (!endpointOutcome.isSuccess())
  3565. return DescribePhysicalConnectionsOutcome(endpointOutcome.error());
  3566. auto outcome = makeRequest(endpointOutcome.result(), request);
  3567. if (outcome.isSuccess())
  3568. return DescribePhysicalConnectionsOutcome(DescribePhysicalConnectionsResult(outcome.result()));
  3569. else
  3570. return DescribePhysicalConnectionsOutcome(outcome.error());
  3571. }
  3572. void VpcClient::describePhysicalConnectionsAsync(const DescribePhysicalConnectionsRequest& request, const DescribePhysicalConnectionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3573. {
  3574. auto fn = [this, request, handler, context]()
  3575. {
  3576. handler(this, request, describePhysicalConnections(request), context);
  3577. };
  3578. asyncExecute(new Runnable(fn));
  3579. }
  3580. VpcClient::DescribePhysicalConnectionsOutcomeCallable VpcClient::describePhysicalConnectionsCallable(const DescribePhysicalConnectionsRequest &request) const
  3581. {
  3582. auto task = std::make_shared<std::packaged_task<DescribePhysicalConnectionsOutcome()>>(
  3583. [this, request]()
  3584. {
  3585. return this->describePhysicalConnections(request);
  3586. });
  3587. asyncExecute(new Runnable([task]() { (*task)(); }));
  3588. return task->get_future();
  3589. }
  3590. VpcClient::DescribeVpnGatewaysOutcome VpcClient::describeVpnGateways(const DescribeVpnGatewaysRequest &request) const
  3591. {
  3592. auto endpointOutcome = endpoint();
  3593. if (!endpointOutcome.isSuccess())
  3594. return DescribeVpnGatewaysOutcome(endpointOutcome.error());
  3595. auto outcome = makeRequest(endpointOutcome.result(), request);
  3596. if (outcome.isSuccess())
  3597. return DescribeVpnGatewaysOutcome(DescribeVpnGatewaysResult(outcome.result()));
  3598. else
  3599. return DescribeVpnGatewaysOutcome(outcome.error());
  3600. }
  3601. void VpcClient::describeVpnGatewaysAsync(const DescribeVpnGatewaysRequest& request, const DescribeVpnGatewaysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3602. {
  3603. auto fn = [this, request, handler, context]()
  3604. {
  3605. handler(this, request, describeVpnGateways(request), context);
  3606. };
  3607. asyncExecute(new Runnable(fn));
  3608. }
  3609. VpcClient::DescribeVpnGatewaysOutcomeCallable VpcClient::describeVpnGatewaysCallable(const DescribeVpnGatewaysRequest &request) const
  3610. {
  3611. auto task = std::make_shared<std::packaged_task<DescribeVpnGatewaysOutcome()>>(
  3612. [this, request]()
  3613. {
  3614. return this->describeVpnGateways(request);
  3615. });
  3616. asyncExecute(new Runnable([task]() { (*task)(); }));
  3617. return task->get_future();
  3618. }
  3619. VpcClient::DescribeVirtualBorderRoutersOutcome VpcClient::describeVirtualBorderRouters(const DescribeVirtualBorderRoutersRequest &request) const
  3620. {
  3621. auto endpointOutcome = endpoint();
  3622. if (!endpointOutcome.isSuccess())
  3623. return DescribeVirtualBorderRoutersOutcome(endpointOutcome.error());
  3624. auto outcome = makeRequest(endpointOutcome.result(), request);
  3625. if (outcome.isSuccess())
  3626. return DescribeVirtualBorderRoutersOutcome(DescribeVirtualBorderRoutersResult(outcome.result()));
  3627. else
  3628. return DescribeVirtualBorderRoutersOutcome(outcome.error());
  3629. }
  3630. void VpcClient::describeVirtualBorderRoutersAsync(const DescribeVirtualBorderRoutersRequest& request, const DescribeVirtualBorderRoutersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3631. {
  3632. auto fn = [this, request, handler, context]()
  3633. {
  3634. handler(this, request, describeVirtualBorderRouters(request), context);
  3635. };
  3636. asyncExecute(new Runnable(fn));
  3637. }
  3638. VpcClient::DescribeVirtualBorderRoutersOutcomeCallable VpcClient::describeVirtualBorderRoutersCallable(const DescribeVirtualBorderRoutersRequest &request) const
  3639. {
  3640. auto task = std::make_shared<std::packaged_task<DescribeVirtualBorderRoutersOutcome()>>(
  3641. [this, request]()
  3642. {
  3643. return this->describeVirtualBorderRouters(request);
  3644. });
  3645. asyncExecute(new Runnable([task]() { (*task)(); }));
  3646. return task->get_future();
  3647. }
  3648. VpcClient::CreateGlobalAccelerationInstanceOutcome VpcClient::createGlobalAccelerationInstance(const CreateGlobalAccelerationInstanceRequest &request) const
  3649. {
  3650. auto endpointOutcome = endpoint();
  3651. if (!endpointOutcome.isSuccess())
  3652. return CreateGlobalAccelerationInstanceOutcome(endpointOutcome.error());
  3653. auto outcome = makeRequest(endpointOutcome.result(), request);
  3654. if (outcome.isSuccess())
  3655. return CreateGlobalAccelerationInstanceOutcome(CreateGlobalAccelerationInstanceResult(outcome.result()));
  3656. else
  3657. return CreateGlobalAccelerationInstanceOutcome(outcome.error());
  3658. }
  3659. void VpcClient::createGlobalAccelerationInstanceAsync(const CreateGlobalAccelerationInstanceRequest& request, const CreateGlobalAccelerationInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3660. {
  3661. auto fn = [this, request, handler, context]()
  3662. {
  3663. handler(this, request, createGlobalAccelerationInstance(request), context);
  3664. };
  3665. asyncExecute(new Runnable(fn));
  3666. }
  3667. VpcClient::CreateGlobalAccelerationInstanceOutcomeCallable VpcClient::createGlobalAccelerationInstanceCallable(const CreateGlobalAccelerationInstanceRequest &request) const
  3668. {
  3669. auto task = std::make_shared<std::packaged_task<CreateGlobalAccelerationInstanceOutcome()>>(
  3670. [this, request]()
  3671. {
  3672. return this->createGlobalAccelerationInstance(request);
  3673. });
  3674. asyncExecute(new Runnable([task]() { (*task)(); }));
  3675. return task->get_future();
  3676. }
  3677. VpcClient::CancelPhysicalConnectionOutcome VpcClient::cancelPhysicalConnection(const CancelPhysicalConnectionRequest &request) const
  3678. {
  3679. auto endpointOutcome = endpoint();
  3680. if (!endpointOutcome.isSuccess())
  3681. return CancelPhysicalConnectionOutcome(endpointOutcome.error());
  3682. auto outcome = makeRequest(endpointOutcome.result(), request);
  3683. if (outcome.isSuccess())
  3684. return CancelPhysicalConnectionOutcome(CancelPhysicalConnectionResult(outcome.result()));
  3685. else
  3686. return CancelPhysicalConnectionOutcome(outcome.error());
  3687. }
  3688. void VpcClient::cancelPhysicalConnectionAsync(const CancelPhysicalConnectionRequest& request, const CancelPhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3689. {
  3690. auto fn = [this, request, handler, context]()
  3691. {
  3692. handler(this, request, cancelPhysicalConnection(request), context);
  3693. };
  3694. asyncExecute(new Runnable(fn));
  3695. }
  3696. VpcClient::CancelPhysicalConnectionOutcomeCallable VpcClient::cancelPhysicalConnectionCallable(const CancelPhysicalConnectionRequest &request) const
  3697. {
  3698. auto task = std::make_shared<std::packaged_task<CancelPhysicalConnectionOutcome()>>(
  3699. [this, request]()
  3700. {
  3701. return this->cancelPhysicalConnection(request);
  3702. });
  3703. asyncExecute(new Runnable([task]() { (*task)(); }));
  3704. return task->get_future();
  3705. }
  3706. VpcClient::CreateBgpGroupOutcome VpcClient::createBgpGroup(const CreateBgpGroupRequest &request) const
  3707. {
  3708. auto endpointOutcome = endpoint();
  3709. if (!endpointOutcome.isSuccess())
  3710. return CreateBgpGroupOutcome(endpointOutcome.error());
  3711. auto outcome = makeRequest(endpointOutcome.result(), request);
  3712. if (outcome.isSuccess())
  3713. return CreateBgpGroupOutcome(CreateBgpGroupResult(outcome.result()));
  3714. else
  3715. return CreateBgpGroupOutcome(outcome.error());
  3716. }
  3717. void VpcClient::createBgpGroupAsync(const CreateBgpGroupRequest& request, const CreateBgpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3718. {
  3719. auto fn = [this, request, handler, context]()
  3720. {
  3721. handler(this, request, createBgpGroup(request), context);
  3722. };
  3723. asyncExecute(new Runnable(fn));
  3724. }
  3725. VpcClient::CreateBgpGroupOutcomeCallable VpcClient::createBgpGroupCallable(const CreateBgpGroupRequest &request) const
  3726. {
  3727. auto task = std::make_shared<std::packaged_task<CreateBgpGroupOutcome()>>(
  3728. [this, request]()
  3729. {
  3730. return this->createBgpGroup(request);
  3731. });
  3732. asyncExecute(new Runnable([task]() { (*task)(); }));
  3733. return task->get_future();
  3734. }
  3735. VpcClient::DescribeVRoutersOutcome VpcClient::describeVRouters(const DescribeVRoutersRequest &request) const
  3736. {
  3737. auto endpointOutcome = endpoint();
  3738. if (!endpointOutcome.isSuccess())
  3739. return DescribeVRoutersOutcome(endpointOutcome.error());
  3740. auto outcome = makeRequest(endpointOutcome.result(), request);
  3741. if (outcome.isSuccess())
  3742. return DescribeVRoutersOutcome(DescribeVRoutersResult(outcome.result()));
  3743. else
  3744. return DescribeVRoutersOutcome(outcome.error());
  3745. }
  3746. void VpcClient::describeVRoutersAsync(const DescribeVRoutersRequest& request, const DescribeVRoutersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3747. {
  3748. auto fn = [this, request, handler, context]()
  3749. {
  3750. handler(this, request, describeVRouters(request), context);
  3751. };
  3752. asyncExecute(new Runnable(fn));
  3753. }
  3754. VpcClient::DescribeVRoutersOutcomeCallable VpcClient::describeVRoutersCallable(const DescribeVRoutersRequest &request) const
  3755. {
  3756. auto task = std::make_shared<std::packaged_task<DescribeVRoutersOutcome()>>(
  3757. [this, request]()
  3758. {
  3759. return this->describeVRouters(request);
  3760. });
  3761. asyncExecute(new Runnable([task]() { (*task)(); }));
  3762. return task->get_future();
  3763. }
  3764. VpcClient::DescribeRouterInterfacesForGlobalOutcome VpcClient::describeRouterInterfacesForGlobal(const DescribeRouterInterfacesForGlobalRequest &request) const
  3765. {
  3766. auto endpointOutcome = endpoint();
  3767. if (!endpointOutcome.isSuccess())
  3768. return DescribeRouterInterfacesForGlobalOutcome(endpointOutcome.error());
  3769. auto outcome = makeRequest(endpointOutcome.result(), request);
  3770. if (outcome.isSuccess())
  3771. return DescribeRouterInterfacesForGlobalOutcome(DescribeRouterInterfacesForGlobalResult(outcome.result()));
  3772. else
  3773. return DescribeRouterInterfacesForGlobalOutcome(outcome.error());
  3774. }
  3775. void VpcClient::describeRouterInterfacesForGlobalAsync(const DescribeRouterInterfacesForGlobalRequest& request, const DescribeRouterInterfacesForGlobalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3776. {
  3777. auto fn = [this, request, handler, context]()
  3778. {
  3779. handler(this, request, describeRouterInterfacesForGlobal(request), context);
  3780. };
  3781. asyncExecute(new Runnable(fn));
  3782. }
  3783. VpcClient::DescribeRouterInterfacesForGlobalOutcomeCallable VpcClient::describeRouterInterfacesForGlobalCallable(const DescribeRouterInterfacesForGlobalRequest &request) const
  3784. {
  3785. auto task = std::make_shared<std::packaged_task<DescribeRouterInterfacesForGlobalOutcome()>>(
  3786. [this, request]()
  3787. {
  3788. return this->describeRouterInterfacesForGlobal(request);
  3789. });
  3790. asyncExecute(new Runnable([task]() { (*task)(); }));
  3791. return task->get_future();
  3792. }
  3793. VpcClient::ModifyNqaOutcome VpcClient::modifyNqa(const ModifyNqaRequest &request) const
  3794. {
  3795. auto endpointOutcome = endpoint();
  3796. if (!endpointOutcome.isSuccess())
  3797. return ModifyNqaOutcome(endpointOutcome.error());
  3798. auto outcome = makeRequest(endpointOutcome.result(), request);
  3799. if (outcome.isSuccess())
  3800. return ModifyNqaOutcome(ModifyNqaResult(outcome.result()));
  3801. else
  3802. return ModifyNqaOutcome(outcome.error());
  3803. }
  3804. void VpcClient::modifyNqaAsync(const ModifyNqaRequest& request, const ModifyNqaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3805. {
  3806. auto fn = [this, request, handler, context]()
  3807. {
  3808. handler(this, request, modifyNqa(request), context);
  3809. };
  3810. asyncExecute(new Runnable(fn));
  3811. }
  3812. VpcClient::ModifyNqaOutcomeCallable VpcClient::modifyNqaCallable(const ModifyNqaRequest &request) const
  3813. {
  3814. auto task = std::make_shared<std::packaged_task<ModifyNqaOutcome()>>(
  3815. [this, request]()
  3816. {
  3817. return this->modifyNqa(request);
  3818. });
  3819. asyncExecute(new Runnable([task]() { (*task)(); }));
  3820. return task->get_future();
  3821. }
  3822. VpcClient::AllocateEipAddressOutcome VpcClient::allocateEipAddress(const AllocateEipAddressRequest &request) const
  3823. {
  3824. auto endpointOutcome = endpoint();
  3825. if (!endpointOutcome.isSuccess())
  3826. return AllocateEipAddressOutcome(endpointOutcome.error());
  3827. auto outcome = makeRequest(endpointOutcome.result(), request);
  3828. if (outcome.isSuccess())
  3829. return AllocateEipAddressOutcome(AllocateEipAddressResult(outcome.result()));
  3830. else
  3831. return AllocateEipAddressOutcome(outcome.error());
  3832. }
  3833. void VpcClient::allocateEipAddressAsync(const AllocateEipAddressRequest& request, const AllocateEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3834. {
  3835. auto fn = [this, request, handler, context]()
  3836. {
  3837. handler(this, request, allocateEipAddress(request), context);
  3838. };
  3839. asyncExecute(new Runnable(fn));
  3840. }
  3841. VpcClient::AllocateEipAddressOutcomeCallable VpcClient::allocateEipAddressCallable(const AllocateEipAddressRequest &request) const
  3842. {
  3843. auto task = std::make_shared<std::packaged_task<AllocateEipAddressOutcome()>>(
  3844. [this, request]()
  3845. {
  3846. return this->allocateEipAddress(request);
  3847. });
  3848. asyncExecute(new Runnable([task]() { (*task)(); }));
  3849. return task->get_future();
  3850. }
  3851. VpcClient::DescribeSslVpnClientCertOutcome VpcClient::describeSslVpnClientCert(const DescribeSslVpnClientCertRequest &request) const
  3852. {
  3853. auto endpointOutcome = endpoint();
  3854. if (!endpointOutcome.isSuccess())
  3855. return DescribeSslVpnClientCertOutcome(endpointOutcome.error());
  3856. auto outcome = makeRequest(endpointOutcome.result(), request);
  3857. if (outcome.isSuccess())
  3858. return DescribeSslVpnClientCertOutcome(DescribeSslVpnClientCertResult(outcome.result()));
  3859. else
  3860. return DescribeSslVpnClientCertOutcome(outcome.error());
  3861. }
  3862. void VpcClient::describeSslVpnClientCertAsync(const DescribeSslVpnClientCertRequest& request, const DescribeSslVpnClientCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3863. {
  3864. auto fn = [this, request, handler, context]()
  3865. {
  3866. handler(this, request, describeSslVpnClientCert(request), context);
  3867. };
  3868. asyncExecute(new Runnable(fn));
  3869. }
  3870. VpcClient::DescribeSslVpnClientCertOutcomeCallable VpcClient::describeSslVpnClientCertCallable(const DescribeSslVpnClientCertRequest &request) const
  3871. {
  3872. auto task = std::make_shared<std::packaged_task<DescribeSslVpnClientCertOutcome()>>(
  3873. [this, request]()
  3874. {
  3875. return this->describeSslVpnClientCert(request);
  3876. });
  3877. asyncExecute(new Runnable([task]() { (*task)(); }));
  3878. return task->get_future();
  3879. }
  3880. VpcClient::DescribeCommonBandwidthPackagesOutcome VpcClient::describeCommonBandwidthPackages(const DescribeCommonBandwidthPackagesRequest &request) const
  3881. {
  3882. auto endpointOutcome = endpoint();
  3883. if (!endpointOutcome.isSuccess())
  3884. return DescribeCommonBandwidthPackagesOutcome(endpointOutcome.error());
  3885. auto outcome = makeRequest(endpointOutcome.result(), request);
  3886. if (outcome.isSuccess())
  3887. return DescribeCommonBandwidthPackagesOutcome(DescribeCommonBandwidthPackagesResult(outcome.result()));
  3888. else
  3889. return DescribeCommonBandwidthPackagesOutcome(outcome.error());
  3890. }
  3891. void VpcClient::describeCommonBandwidthPackagesAsync(const DescribeCommonBandwidthPackagesRequest& request, const DescribeCommonBandwidthPackagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3892. {
  3893. auto fn = [this, request, handler, context]()
  3894. {
  3895. handler(this, request, describeCommonBandwidthPackages(request), context);
  3896. };
  3897. asyncExecute(new Runnable(fn));
  3898. }
  3899. VpcClient::DescribeCommonBandwidthPackagesOutcomeCallable VpcClient::describeCommonBandwidthPackagesCallable(const DescribeCommonBandwidthPackagesRequest &request) const
  3900. {
  3901. auto task = std::make_shared<std::packaged_task<DescribeCommonBandwidthPackagesOutcome()>>(
  3902. [this, request]()
  3903. {
  3904. return this->describeCommonBandwidthPackages(request);
  3905. });
  3906. asyncExecute(new Runnable([task]() { (*task)(); }));
  3907. return task->get_future();
  3908. }
  3909. VpcClient::UnassociateHaVipOutcome VpcClient::unassociateHaVip(const UnassociateHaVipRequest &request) const
  3910. {
  3911. auto endpointOutcome = endpoint();
  3912. if (!endpointOutcome.isSuccess())
  3913. return UnassociateHaVipOutcome(endpointOutcome.error());
  3914. auto outcome = makeRequest(endpointOutcome.result(), request);
  3915. if (outcome.isSuccess())
  3916. return UnassociateHaVipOutcome(UnassociateHaVipResult(outcome.result()));
  3917. else
  3918. return UnassociateHaVipOutcome(outcome.error());
  3919. }
  3920. void VpcClient::unassociateHaVipAsync(const UnassociateHaVipRequest& request, const UnassociateHaVipAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3921. {
  3922. auto fn = [this, request, handler, context]()
  3923. {
  3924. handler(this, request, unassociateHaVip(request), context);
  3925. };
  3926. asyncExecute(new Runnable(fn));
  3927. }
  3928. VpcClient::UnassociateHaVipOutcomeCallable VpcClient::unassociateHaVipCallable(const UnassociateHaVipRequest &request) const
  3929. {
  3930. auto task = std::make_shared<std::packaged_task<UnassociateHaVipOutcome()>>(
  3931. [this, request]()
  3932. {
  3933. return this->unassociateHaVip(request);
  3934. });
  3935. asyncExecute(new Runnable([task]() { (*task)(); }));
  3936. return task->get_future();
  3937. }
  3938. VpcClient::ModifyHaVipAttributeOutcome VpcClient::modifyHaVipAttribute(const ModifyHaVipAttributeRequest &request) const
  3939. {
  3940. auto endpointOutcome = endpoint();
  3941. if (!endpointOutcome.isSuccess())
  3942. return ModifyHaVipAttributeOutcome(endpointOutcome.error());
  3943. auto outcome = makeRequest(endpointOutcome.result(), request);
  3944. if (outcome.isSuccess())
  3945. return ModifyHaVipAttributeOutcome(ModifyHaVipAttributeResult(outcome.result()));
  3946. else
  3947. return ModifyHaVipAttributeOutcome(outcome.error());
  3948. }
  3949. void VpcClient::modifyHaVipAttributeAsync(const ModifyHaVipAttributeRequest& request, const ModifyHaVipAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3950. {
  3951. auto fn = [this, request, handler, context]()
  3952. {
  3953. handler(this, request, modifyHaVipAttribute(request), context);
  3954. };
  3955. asyncExecute(new Runnable(fn));
  3956. }
  3957. VpcClient::ModifyHaVipAttributeOutcomeCallable VpcClient::modifyHaVipAttributeCallable(const ModifyHaVipAttributeRequest &request) const
  3958. {
  3959. auto task = std::make_shared<std::packaged_task<ModifyHaVipAttributeOutcome()>>(
  3960. [this, request]()
  3961. {
  3962. return this->modifyHaVipAttribute(request);
  3963. });
  3964. asyncExecute(new Runnable([task]() { (*task)(); }));
  3965. return task->get_future();
  3966. }
  3967. VpcClient::AssociateGlobalAccelerationInstanceOutcome VpcClient::associateGlobalAccelerationInstance(const AssociateGlobalAccelerationInstanceRequest &request) const
  3968. {
  3969. auto endpointOutcome = endpoint();
  3970. if (!endpointOutcome.isSuccess())
  3971. return AssociateGlobalAccelerationInstanceOutcome(endpointOutcome.error());
  3972. auto outcome = makeRequest(endpointOutcome.result(), request);
  3973. if (outcome.isSuccess())
  3974. return AssociateGlobalAccelerationInstanceOutcome(AssociateGlobalAccelerationInstanceResult(outcome.result()));
  3975. else
  3976. return AssociateGlobalAccelerationInstanceOutcome(outcome.error());
  3977. }
  3978. void VpcClient::associateGlobalAccelerationInstanceAsync(const AssociateGlobalAccelerationInstanceRequest& request, const AssociateGlobalAccelerationInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  3979. {
  3980. auto fn = [this, request, handler, context]()
  3981. {
  3982. handler(this, request, associateGlobalAccelerationInstance(request), context);
  3983. };
  3984. asyncExecute(new Runnable(fn));
  3985. }
  3986. VpcClient::AssociateGlobalAccelerationInstanceOutcomeCallable VpcClient::associateGlobalAccelerationInstanceCallable(const AssociateGlobalAccelerationInstanceRequest &request) const
  3987. {
  3988. auto task = std::make_shared<std::packaged_task<AssociateGlobalAccelerationInstanceOutcome()>>(
  3989. [this, request]()
  3990. {
  3991. return this->associateGlobalAccelerationInstance(request);
  3992. });
  3993. asyncExecute(new Runnable([task]() { (*task)(); }));
  3994. return task->get_future();
  3995. }
  3996. VpcClient::DescribeSslVpnServersOutcome VpcClient::describeSslVpnServers(const DescribeSslVpnServersRequest &request) const
  3997. {
  3998. auto endpointOutcome = endpoint();
  3999. if (!endpointOutcome.isSuccess())
  4000. return DescribeSslVpnServersOutcome(endpointOutcome.error());
  4001. auto outcome = makeRequest(endpointOutcome.result(), request);
  4002. if (outcome.isSuccess())
  4003. return DescribeSslVpnServersOutcome(DescribeSslVpnServersResult(outcome.result()));
  4004. else
  4005. return DescribeSslVpnServersOutcome(outcome.error());
  4006. }
  4007. void VpcClient::describeSslVpnServersAsync(const DescribeSslVpnServersRequest& request, const DescribeSslVpnServersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  4008. {
  4009. auto fn = [this, request, handler, context]()
  4010. {
  4011. handler(this, request, describeSslVpnServers(request), context);
  4012. };
  4013. asyncExecute(new Runnable(fn));
  4014. }
  4015. VpcClient::DescribeSslVpnServersOutcomeCallable VpcClient::describeSslVpnServersCallable(const DescribeSslVpnServersRequest &request) const
  4016. {
  4017. auto task = std::make_shared<std::packaged_task<DescribeSslVpnServersOutcome()>>(
  4018. [this, request]()
  4019. {
  4020. return this->describeSslVpnServers(request);
  4021. });
  4022. asyncExecute(new Runnable([task]() { (*task)(); }));
  4023. return task->get_future();
  4024. }
  4025. VpcClient::ModifyVRouterAttributeOutcome VpcClient::modifyVRouterAttribute(const ModifyVRouterAttributeRequest &request) const
  4026. {
  4027. auto endpointOutcome = endpoint();
  4028. if (!endpointOutcome.isSuccess())
  4029. return ModifyVRouterAttributeOutcome(endpointOutcome.error());
  4030. auto outcome = makeRequest(endpointOutcome.result(), request);
  4031. if (outcome.isSuccess())
  4032. return ModifyVRouterAttributeOutcome(ModifyVRouterAttributeResult(outcome.result()));
  4033. else
  4034. return ModifyVRouterAttributeOutcome(outcome.error());
  4035. }
  4036. void VpcClient::modifyVRouterAttributeAsync(const ModifyVRouterAttributeRequest& request, const ModifyVRouterAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  4037. {
  4038. auto fn = [this, request, handler, context]()
  4039. {
  4040. handler(this, request, modifyVRouterAttribute(request), context);
  4041. };
  4042. asyncExecute(new Runnable(fn));
  4043. }
  4044. VpcClient::ModifyVRouterAttributeOutcomeCallable VpcClient::modifyVRouterAttributeCallable(const ModifyVRouterAttributeRequest &request) const
  4045. {
  4046. auto task = std::make_shared<std::packaged_task<ModifyVRouterAttributeOutcome()>>(
  4047. [this, request]()
  4048. {
  4049. return this->modifyVRouterAttribute(request);
  4050. });
  4051. asyncExecute(new Runnable([task]() { (*task)(); }));
  4052. return task->get_future();
  4053. }
  4054. VpcClient::DescribeSnatTableEntriesOutcome VpcClient::describeSnatTableEntries(const DescribeSnatTableEntriesRequest &request) const
  4055. {
  4056. auto endpointOutcome = endpoint();
  4057. if (!endpointOutcome.isSuccess())
  4058. return DescribeSnatTableEntriesOutcome(endpointOutcome.error());
  4059. auto outcome = makeRequest(endpointOutcome.result(), request);
  4060. if (outcome.isSuccess())
  4061. return DescribeSnatTableEntriesOutcome(DescribeSnatTableEntriesResult(outcome.result()));
  4062. else
  4063. return DescribeSnatTableEntriesOutcome(outcome.error());
  4064. }
  4065. void VpcClient::describeSnatTableEntriesAsync(const DescribeSnatTableEntriesRequest& request, const DescribeSnatTableEntriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
  4066. {
  4067. auto fn = [this, request, handler, context]()
  4068. {
  4069. handler(this, request, describeSnatTableEntries(request), context);
  4070. };
  4071. asyncExecute(new Runnable(fn));
  4072. }
  4073. VpcClient::DescribeSnatTableEntriesOutcomeCallable VpcClient::describeSnatTableEntriesCallable(const DescribeSnatTableEntriesRequest &request) const
  4074. {
  4075. auto task = std::make_shared<std::packaged_task<DescribeSnatTableEntriesOutcome()>>(
  4076. [this, request]()
  4077. {
  4078. return this->describeSnatTableEntries(request);
  4079. });
  4080. asyncExecute(new Runnable([task]() { (*task)(); }));
  4081. return task->get_future();
  4082. }